Skip to content

Commit

Permalink
Uses new promise-based API to fix simulcast in Firefox (#1202)
Browse files Browse the repository at this point in the history
  • Loading branch information
jcague committed Apr 26, 2018
1 parent 5d58e0e commit 84faaa0
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions erizo_controller/erizoClient/src/webrtc-stacks/FirefoxStack.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,29 +23,34 @@ const FirefoxStack = (specInput) => {
for (let layer = totalLayers - 1; layer >= totalLayers - numSpatialLayers; layer -= 1) {
parameters.encodings.push(possibleLayers[layer]);
}
sender.setParameters(parameters);
return sender.setParameters(parameters);
};

const enableSimulcast = () => {
if (!that.simulcast) {
return;
return [];
}
const promises = [];
that.peerConnection.getSenders().forEach((sender) => {
if (sender.track.kind === 'video') {
getSimulcastParameters(sender);
promises.push(getSimulcastParameters(sender));
}
});
return promises;
};

that.enableSimulcast = sdp => sdp;

const baseCreateOffer = that.createOffer;

that.createOffer = (isSubscribe, forceOfferToReceive = false, streamId = '') => {
let promises = [];
if (isSubscribe !== true) {
enableSimulcast();
promises = enableSimulcast();
}
baseCreateOffer(isSubscribe, forceOfferToReceive, streamId);
Promise.all(promises).then(() => {
baseCreateOffer(isSubscribe, forceOfferToReceive, streamId);
});
};

return that;
Expand Down

0 comments on commit 84faaa0

Please sign in to comment.