You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
904 B
30 lines
904 B
|
3 years ago
|
import {shimGetUserMedia as chromeShim} from "webrtc-adapter/src/js/chrome/getusermedia";
|
||
|
|
import {shimGetUserMedia as edgeShim} from "webrtc-adapter/src/js/edge/getusermedia";
|
||
|
|
import {shimGetUserMedia as firefoxShim} from "webrtc-adapter/src/js/firefox/getusermedia";
|
||
|
|
import {shimGetUserMedia as safariShim} from "webrtc-adapter/src/js/safari/safari_shim";
|
||
|
|
import {detectBrowser} from "webrtc-adapter/src/js/utils";
|
||
|
|
|
||
|
|
import {StreamApiNotSupportedError} from "./errors";
|
||
|
|
import {indempotent} from "./util";
|
||
|
|
|
||
|
|
export default indempotent(() => {
|
||
|
|
const {browser} = detectBrowser(window);
|
||
|
|
|
||
|
|
switch (browser) {
|
||
|
|
case "chrome":
|
||
|
|
chromeShim(window);
|
||
|
|
break;
|
||
|
|
case "firefox":
|
||
|
|
firefoxShim(window);
|
||
|
|
break;
|
||
|
|
case "edge":
|
||
|
|
edgeShim(window);
|
||
|
|
break;
|
||
|
|
case "safari":
|
||
|
|
safariShim(window);
|
||
|
|
break;
|
||
|
|
default:
|
||
|
|
throw new StreamApiNotSupportedError();
|
||
|
|
}
|
||
|
|
});
|