|
|
@@ -1557,7 +1557,16 @@ export default class JingleSessionPC extends JingleSession {
|
|
1557
|
1557
|
this.peerconnection.setRemoteDescription(
|
|
1558
|
1558
|
remoteDescription,
|
|
1559
|
1559
|
() => {
|
|
1560
|
|
- resolve();
|
|
|
1560
|
+ // In case when the answer is being set for the first time,
|
|
|
1561
|
+ // full sRD/sLD cycle is required to have the local
|
|
|
1562
|
+ // description updated and SSRCs synchronized correctly.
|
|
|
1563
|
+ // Otherwise SSRCs for streams added after invite, but
|
|
|
1564
|
+ // before the answer was accepted will not be detected.
|
|
|
1565
|
+ // The reason for that is that renegotiate can not be called
|
|
|
1566
|
+ // when adding tracks and they will not be reflected in
|
|
|
1567
|
+ // the local SDP.
|
|
|
1568
|
+ this._initiatorRenegotiate(
|
|
|
1569
|
+ remoteDescription, resolve, reject);
|
|
1561
|
1570
|
},
|
|
1562
|
1571
|
error => reject(`setRemoteDescription failed: ${error}`)
|
|
1563
|
1572
|
);
|