fix: throw error in setLocalDescription if media line is missing codecs #63
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes an issue in which Firefox will allow
setLocalDescription
to be called even when all the codecs have been removed from the media line as part of SPARK-465378. This violates RFC8866, which states that at least one codec is required.A bug has been filed to Firefox about this: https://bugzilla.mozilla.org/show_bug.cgi?id=1857612
Until Firefox fixes this bug, the fix from our end is to add a check in
setLocalDescription
to check the number of fields in the media line. This is similar to what Google does: https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/pc/webrtc_sdp.cc;l=2682;drc=f5bdc89c7395ed24f1b8d196a3bdd6232d5bf771If the number of fields is less than 4 (i.e. the codecs are missing), then we throw an error.