webrtc-adapter
Advanced tools
Comparing version 7.6.1 to 7.6.2
@@ -113,2 +113,3 @@ 'use strict'; | ||
firefoxShim.shimAddTransceiver(window); | ||
firefoxShim.shimGetParameters(window); | ||
firefoxShim.shimCreateOffer(window); | ||
@@ -115,0 +116,0 @@ firefoxShim.shimCreateAnswer(window); |
@@ -327,3 +327,3 @@ /* | ||
function removeAllowExtmapMixed(window) { | ||
/* remove a=extmap-allow-mixed for Chrome < M71 */ | ||
/* remove a=extmap-allow-mixed for webrtc.org < M71 */ | ||
if (!window.RTCPeerConnection) { | ||
@@ -336,2 +336,5 @@ return; | ||
} | ||
if (browserDetails.browser === 'safari' && browserDetails.version >= 605) { | ||
return; | ||
} | ||
var nativeSRD = window.RTCPeerConnection.prototype.setRemoteDescription; | ||
@@ -338,0 +341,0 @@ window.RTCPeerConnection.prototype.setRemoteDescription = function setRemoteDescription(desc) { |
@@ -42,2 +42,3 @@ /* | ||
exports.shimAddTransceiver = shimAddTransceiver; | ||
exports.shimGetParameters = shimGetParameters; | ||
exports.shimCreateOffer = shimCreateOffer; | ||
@@ -280,3 +281,8 @@ exports.shimCreateAnswer = shimCreateAnswer; | ||
params.encodings = initParameters.sendEncodings; | ||
this.setParametersPromises.push(sender.setParameters(params).catch(function () {})); | ||
sender.sendEncodings = initParameters.sendEncodings; | ||
this.setParametersPromises.push(sender.setParameters(params).then(function () { | ||
delete sender.sendEncodings; | ||
}).catch(function () { | ||
delete sender.sendEncodings; | ||
})); | ||
} | ||
@@ -289,2 +295,18 @@ } | ||
function shimGetParameters(window) { | ||
if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCRtpSender)) { | ||
return; | ||
} | ||
var origGetParameters = window.RTCRtpSender.prototype.getParameters; | ||
if (origGetParameters) { | ||
window.RTCRtpSender.prototype.getParameters = function getParameters() { | ||
var params = origGetParameters.apply(this, arguments); | ||
if (!('sendEncodings' in this)) { | ||
return params; | ||
} | ||
return Object.assign({}, { encodings: this.sendEncodings }, params); | ||
}; | ||
} | ||
} | ||
function shimCreateOffer(window) { | ||
@@ -291,0 +313,0 @@ // https://github.com/webrtcHacks/adapter/issues/998#issuecomment-516921647 |
@@ -62,7 +62,14 @@ /* | ||
if (modifiedEvent) { | ||
cb(modifiedEvent); | ||
if (cb.handleEvent) { | ||
cb.handleEvent(modifiedEvent); | ||
} else { | ||
cb(modifiedEvent); | ||
} | ||
} | ||
}; | ||
this._eventMap = this._eventMap || {}; | ||
this._eventMap[cb] = wrappedCallback; | ||
if (!this._eventMap[eventNameToWrap]) { | ||
this._eventMap[eventNameToWrap] = new Map(); | ||
} | ||
this._eventMap[eventNameToWrap].set(cb, wrappedCallback); | ||
return nativeAddEventListener.apply(this, [nativeEventName, wrappedCallback]); | ||
@@ -73,7 +80,16 @@ }; | ||
proto.removeEventListener = function (nativeEventName, cb) { | ||
if (nativeEventName !== eventNameToWrap || !this._eventMap || !this._eventMap[cb]) { | ||
if (nativeEventName !== eventNameToWrap || !this._eventMap || !this._eventMap[eventNameToWrap]) { | ||
return nativeRemoveEventListener.apply(this, arguments); | ||
} | ||
var unwrappedCb = this._eventMap[cb]; | ||
delete this._eventMap[cb]; | ||
if (!this._eventMap[eventNameToWrap].has(cb)) { | ||
return nativeRemoveEventListener.apply(this, arguments); | ||
} | ||
var unwrappedCb = this._eventMap[eventNameToWrap].get(cb); | ||
this._eventMap[eventNameToWrap].delete(cb); | ||
if (this._eventMap[eventNameToWrap].size === 0) { | ||
delete this._eventMap[eventNameToWrap]; | ||
} | ||
if (Object.keys(this._eventMap).length === 0) { | ||
delete this._eventMap; | ||
} | ||
return nativeRemoveEventListener.apply(this, [nativeEventName, unwrappedCb]); | ||
@@ -80,0 +96,0 @@ }; |
{ | ||
"name": "webrtc-adapter", | ||
"version": "7.6.1", | ||
"version": "7.6.2", | ||
"description": "A shim to insulate apps from WebRTC spec changes and browser prefix differences", | ||
@@ -5,0 +5,0 @@ "license": "BSD-3-Clause", |
@@ -86,2 +86,3 @@ /* | ||
firefoxShim.shimAddTransceiver(window); | ||
firefoxShim.shimGetParameters(window); | ||
firefoxShim.shimCreateOffer(window); | ||
@@ -88,0 +89,0 @@ firefoxShim.shimCreateAnswer(window); |
@@ -321,3 +321,3 @@ /* | ||
export function removeAllowExtmapMixed(window) { | ||
/* remove a=extmap-allow-mixed for Chrome < M71 */ | ||
/* remove a=extmap-allow-mixed for webrtc.org < M71 */ | ||
if (!window.RTCPeerConnection) { | ||
@@ -330,2 +330,5 @@ return; | ||
} | ||
if (browserDetails.browser === 'safari' && browserDetails.version >= 605) { | ||
return; | ||
} | ||
const nativeSRD = window.RTCPeerConnection.prototype.setRemoteDescription; | ||
@@ -332,0 +335,0 @@ window.RTCPeerConnection.prototype.setRemoteDescription = |
@@ -243,5 +243,9 @@ /* | ||
params.encodings = initParameters.sendEncodings; | ||
this.setParametersPromises.push( | ||
sender.setParameters(params) | ||
.catch(() => {}) | ||
sender.sendEncodings = initParameters.sendEncodings; | ||
this.setParametersPromises.push(sender.setParameters(params) | ||
.then(() => { | ||
delete sender.sendEncodings; | ||
}).catch(() => { | ||
delete sender.sendEncodings; | ||
}) | ||
); | ||
@@ -255,2 +259,19 @@ } | ||
export function shimGetParameters(window) { | ||
if (!(typeof window === 'object' && window.RTCRtpSender)) { | ||
return; | ||
} | ||
const origGetParameters = window.RTCRtpSender.prototype.getParameters; | ||
if (origGetParameters) { | ||
window.RTCRtpSender.prototype.getParameters = | ||
function getParameters() { | ||
var params = origGetParameters.apply(this, arguments); | ||
if (!('sendEncodings' in this)) { | ||
return params; | ||
} | ||
return Object.assign({}, {encodings: this.sendEncodings}, params); | ||
}; | ||
} | ||
} | ||
export function shimCreateOffer(window) { | ||
@@ -298,2 +319,2 @@ // https://github.com/webrtcHacks/adapter/issues/998#issuecomment-516921647 | ||
}; | ||
} | ||
} |
@@ -43,7 +43,14 @@ /* | ||
if (modifiedEvent) { | ||
cb(modifiedEvent); | ||
if (cb.handleEvent) { | ||
cb.handleEvent(modifiedEvent); | ||
} else { | ||
cb(modifiedEvent); | ||
} | ||
} | ||
}; | ||
this._eventMap = this._eventMap || {}; | ||
this._eventMap[cb] = wrappedCallback; | ||
if (!this._eventMap[eventNameToWrap]) { | ||
this._eventMap[eventNameToWrap] = new Map(); | ||
} | ||
this._eventMap[eventNameToWrap].set(cb, wrappedCallback); | ||
return nativeAddEventListener.apply(this, [nativeEventName, | ||
@@ -56,7 +63,16 @@ wrappedCallback]); | ||
if (nativeEventName !== eventNameToWrap || !this._eventMap | ||
|| !this._eventMap[cb]) { | ||
|| !this._eventMap[eventNameToWrap]) { | ||
return nativeRemoveEventListener.apply(this, arguments); | ||
} | ||
const unwrappedCb = this._eventMap[cb]; | ||
delete this._eventMap[cb]; | ||
if (!this._eventMap[eventNameToWrap].has(cb)) { | ||
return nativeRemoveEventListener.apply(this, arguments); | ||
} | ||
const unwrappedCb = this._eventMap[eventNameToWrap].get(cb); | ||
this._eventMap[eventNameToWrap].delete(cb); | ||
if (this._eventMap[eventNameToWrap].size === 0) { | ||
delete this._eventMap[eventNameToWrap]; | ||
} | ||
if (Object.keys(this._eventMap).length === 0) { | ||
delete this._eventMap; | ||
} | ||
return nativeRemoveEventListener.apply(this, [nativeEventName, | ||
@@ -63,0 +79,0 @@ unwrappedCb]); |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
907158
21745