123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- "use strict";
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.adapterFactory = adapterFactory;
- var utils = _interopRequireWildcard(require("./utils"));
- var chromeShim = _interopRequireWildcard(require("./chrome/chrome_shim"));
- var firefoxShim = _interopRequireWildcard(require("./firefox/firefox_shim"));
- var safariShim = _interopRequireWildcard(require("./safari/safari_shim"));
- var commonShim = _interopRequireWildcard(require("./common_shim"));
- var sdp = _interopRequireWildcard(require("sdp"));
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
- /*
- * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree.
- */
- // Browser shims.
- // Shimming starts here.
- function adapterFactory() {
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
- window = _ref.window;
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
- shimChrome: true,
- shimFirefox: true,
- shimSafari: true
- };
- // Utils.
- var logging = utils.log;
- var browserDetails = utils.detectBrowser(window);
- var adapter = {
- browserDetails: browserDetails,
- commonShim: commonShim,
- extractVersion: utils.extractVersion,
- disableLog: utils.disableLog,
- disableWarnings: utils.disableWarnings,
- // Expose sdp as a convenience. For production apps include directly.
- sdp: sdp
- };
- // Shim browser if found.
- switch (browserDetails.browser) {
- case 'chrome':
- if (!chromeShim || !chromeShim.shimPeerConnection || !options.shimChrome) {
- logging('Chrome shim is not included in this adapter release.');
- return adapter;
- }
- if (browserDetails.version === null) {
- logging('Chrome shim can not determine version, not shimming.');
- return adapter;
- }
- logging('adapter.js shimming chrome.');
- // Export to the adapter global object visible in the browser.
- adapter.browserShim = chromeShim;
- // Must be called before shimPeerConnection.
- commonShim.shimAddIceCandidateNullOrEmpty(window, browserDetails);
- commonShim.shimParameterlessSetLocalDescription(window, browserDetails);
- chromeShim.shimGetUserMedia(window, browserDetails);
- chromeShim.shimMediaStream(window, browserDetails);
- chromeShim.shimPeerConnection(window, browserDetails);
- chromeShim.shimOnTrack(window, browserDetails);
- chromeShim.shimAddTrackRemoveTrack(window, browserDetails);
- chromeShim.shimGetSendersWithDtmf(window, browserDetails);
- chromeShim.shimGetStats(window, browserDetails);
- chromeShim.shimSenderReceiverGetStats(window, browserDetails);
- chromeShim.fixNegotiationNeeded(window, browserDetails);
- commonShim.shimRTCIceCandidate(window, browserDetails);
- commonShim.shimRTCIceCandidateRelayProtocol(window, browserDetails);
- commonShim.shimConnectionState(window, browserDetails);
- commonShim.shimMaxMessageSize(window, browserDetails);
- commonShim.shimSendThrowTypeError(window, browserDetails);
- commonShim.removeExtmapAllowMixed(window, browserDetails);
- break;
- case 'firefox':
- if (!firefoxShim || !firefoxShim.shimPeerConnection || !options.shimFirefox) {
- logging('Firefox shim is not included in this adapter release.');
- return adapter;
- }
- logging('adapter.js shimming firefox.');
- // Export to the adapter global object visible in the browser.
- adapter.browserShim = firefoxShim;
- // Must be called before shimPeerConnection.
- commonShim.shimAddIceCandidateNullOrEmpty(window, browserDetails);
- commonShim.shimParameterlessSetLocalDescription(window, browserDetails);
- firefoxShim.shimGetUserMedia(window, browserDetails);
- firefoxShim.shimPeerConnection(window, browserDetails);
- firefoxShim.shimOnTrack(window, browserDetails);
- firefoxShim.shimRemoveStream(window, browserDetails);
- firefoxShim.shimSenderGetStats(window, browserDetails);
- firefoxShim.shimReceiverGetStats(window, browserDetails);
- firefoxShim.shimRTCDataChannel(window, browserDetails);
- firefoxShim.shimAddTransceiver(window, browserDetails);
- firefoxShim.shimGetParameters(window, browserDetails);
- firefoxShim.shimCreateOffer(window, browserDetails);
- firefoxShim.shimCreateAnswer(window, browserDetails);
- commonShim.shimRTCIceCandidate(window, browserDetails);
- commonShim.shimConnectionState(window, browserDetails);
- commonShim.shimMaxMessageSize(window, browserDetails);
- commonShim.shimSendThrowTypeError(window, browserDetails);
- break;
- case 'safari':
- if (!safariShim || !options.shimSafari) {
- logging('Safari shim is not included in this adapter release.');
- return adapter;
- }
- logging('adapter.js shimming safari.');
- // Export to the adapter global object visible in the browser.
- adapter.browserShim = safariShim;
- // Must be called before shimCallbackAPI.
- commonShim.shimAddIceCandidateNullOrEmpty(window, browserDetails);
- commonShim.shimParameterlessSetLocalDescription(window, browserDetails);
- safariShim.shimRTCIceServerUrls(window, browserDetails);
- safariShim.shimCreateOfferLegacy(window, browserDetails);
- safariShim.shimCallbacksAPI(window, browserDetails);
- safariShim.shimLocalStreamsAPI(window, browserDetails);
- safariShim.shimRemoteStreamsAPI(window, browserDetails);
- safariShim.shimTrackEventTransceiver(window, browserDetails);
- safariShim.shimGetUserMedia(window, browserDetails);
- safariShim.shimAudioContext(window, browserDetails);
- commonShim.shimRTCIceCandidate(window, browserDetails);
- commonShim.shimRTCIceCandidateRelayProtocol(window, browserDetails);
- commonShim.shimMaxMessageSize(window, browserDetails);
- commonShim.shimSendThrowTypeError(window, browserDetails);
- commonShim.removeExtmapAllowMixed(window, browserDetails);
- break;
- default:
- logging('Unsupported browser!');
- break;
- }
- return adapter;
- }
|