adapter.js is a shim to insulate apps from spec changes and prefix differences in WebRTC. The prefix differences are mostly gone these days but differences in behaviour between browsers remain.
This repository used to be part of the WebRTC organisation on github but moved. We aim to keep the old repository updated with new releases.
npm install webrtc-adapter
bower install webrtc-adapter
Just import adapter:
import adapter from 'webrtc-adapter';
No further action is required. You might want to use adapters browser detection which detects which webrtc quirks are required. You can look at
adapter.browserDetails.browser
for webrtc engine detection (which will for example detect Opera or the Chromium based Edge as 'chrome') and
adapter.browserDetails.version
for the version according to the user-agent string.
Copy to desired location in your src tree or use a minify/vulcanize tool (node_modules is usually not published with the code). See webrtc/samples repo as an example on how you can do this.
In the gh-pages branch prebuilt ready to use files can be downloaded/linked directly. Latest version can be found at https://webrtc.github.io/adapter/adapter-latest.js. Specific versions can be found at https://webrtc.github.io/adapter/adapter-N.N.N.js, e.g. https://webrtc.github.io/adapter/adapter-1.0.2.js.
You will find adapter.js
in bower_components/webrtc-adapter/
.
In node_modules/webrtc-adapter/out/ folder you will find 4 files:
adapter.js
- includes all the shims and is visible in the browser under the global adapter
object (window.adapter).adapter_no_global.js
- same as adapter.js
but is not exposed/visible in the browser (you cannot call/interact with the shims in the browser).Include the file that suits your need in your project.
Head over to test/README.md and get started developing.
patch
, minor
or major
in place of <version>
. Run npm version <version> -m 'bump to %s'
and type in your password lots of times (setting up credential caching is probably a good idea).git pull
npm publish
(you need access to the webrtc-adapter npmjs package). For big changes, consider using a tag version such as next
and then change the dist-tag after testing.Note: Currently only tested on Linux, not sure about Mac but will definitely not work on Windows.
In some cases it may be necessary to do a patch version while there are significant changes changes on the master branch. To make a patch release,
git checkout tags/vMajor.minor.patch
.git cherry-pick some-commit-hash
.npm version patch
. This will create a new patch version and publish it on github.origin/bumpVersion
branch and publish the new version using npm publish
.