This repository was archived by the owner on Jul 12, 2023. It is now read-only.
Repository navigation
data channel: do not overwrite ppid if it was successfully parsed from received data - #42
Merged
Merged
Conversation
2 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
What is the current behavior you want to change?
Kurento overwrites the PPID of data channel packets marking every packet to be of type "String" even when they were sent marked as "Binary".
What is the new behavior provided by this change?
This PR fixes the code that already tried to preserve the PPID of the SCTP source packet, but eventually overwrote it anyways.
How has this been tested?
A simple data channel connection from Chrome browser to Chrome browser via Kurento previously failed to receive an ArrayBuffer object, if the ArrayBuffer contains any bytes with the most significant bit set (e.g.
new Uint8Array([255, 128]).buffer). This is due the PPID set by Kurento to String type, so Chrome tries to parse the data as UTF8 string, which fails.The change of the PPID can be seen in the Chrome debug logs when run with
--enable-logging --v=2: packets sent with PPID 0x35 (binary) are turned into PPID 0x33 (string).After this fix the PPID is preserved by Kurento when sending binary or string data.
Types of changes
Checklist