import { shimGetUserMedia as chromeShim } from "webrtc-adapter/src/js/chrome/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 adapter from "webrtc-adapter"; import { StreamApiNotSupportedError } from "./errors"; import { indempotent } from "./util"; export default indempotent(() => { console.log("adapter.browserDetails.browser", adapter.browserDetails); switch (adapter.browserDetails.browser) { case "chrome": chromeShim(window, adapter.browserDetails); break; case "firefox": firefoxShim(window, adapter.browserDetails); break; case "safari": safariShim(window, adapter.browserDetails); break; case "edge": // Edge now uses Chromium, so use the same shim as Chrome chromeShim(window, adapter.browserDetails); break; default: throw new StreamApiNotSupportedError(); } });