-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Open
Description
Your environment.
- Version: v4.1.6
- Browser: include version
- Other Information - stacktraces, related issues, suggestions how to fix, links for us to have context
What did you do?
We are implementing an SFU that needs to handle codec changes during renegotiation for existing transceivers. The scenario is:
- SFU acts as an answerer
- Initial negotiation succeeds with VP8 codec for both
v_1andv_2MIDs - Streamer sends a renegotiation offer changing
v_2from VP8 to H264 - Call
SetRemoteDescriptionwith the renegotiation offer - Call
GetLocalDescriptionto get the answer
Initial Offer (both MIDs use VP8):
m=video 9 UDP/TLS/RTP/SAVPF 100 101
a=mid:v_1
a=rtpmap:100 VP8/90000
...
m=video 9 UDP/TLS/RTP/SAVPF 100 101
a=mid:v_2
a=rtpmap:100 VP8/90000
...
Renegotiation Offer (v_2 changed to H264):
m=video 9 UDP/TLS/RTP/SAVPF 100 101
a=mid:v_1
a=rtpmap:100 VP8/90000
...
m=video 9 UDP/TLS/RTP/SAVPF 102 103
a=mid:v_2
a=rtpmap:102 H264/90000
...
What did you expect?
When SetRemoteDescription is called with the renegotiation offer:
- The transceiver with
mid:v_2should have its codec preferences updated from VP8 to H264 - The answer generated by
GetLocalDescriptionshould reflect H264 codec formid:v_2(payload types 102 103)
What happened?
- The transceiver with
mid:v_2retains VP8 codec preferences - The answer generated by
GetLocalDescriptionstill contains VP8 formid:v_2instead of H264
Actual Answer after renegotiation:
m=video 9 UDP/TLS/RTP/SAVPF 100 101
a=mid:v_2
a=rtpmap:100 VP8/90000 // Should be rtpmap:102 H264/90000
...
Metadata
Metadata
Assignees
Labels
No labels