You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix unmarshal of packets with padding
WebRTC clients use padding only packets as probe
packets for bandwidth estimation. As padding was
not removed from the payload, downstream code
trying to parse padding as valid media payload
results in erroneous parsing
Testing:
--------
- Add unit tests for different padding scenarios
- Check that ion-sfu does not try to parse padding only
packets as valid video payload.
Implement partition head in Depacketizer
We used to do partition head checking in PartitionHeadChecker and
partition tail checking in Depacketizer, which is confusing and
error-prone. Move all checking into the Depacketizer itself.
Pack SPS and PPS in one STAP-A packet
Chrome need SPS and PPS in one STAP-A, and timestamp of STAP-A should be same with next I-Frame. Otherwise Chrome will discard SPS and PPS before receiving I frame.
Fix Unmarshal to used struct
Extensions field was not cleared on Unmarshal and data was appended
to the old extension slice.
This fixes Extensions field to have correct number of data even if
the slice has some data before calling Unmarshal.
Reuse Extensions and CSRC fields.
Fix randoms
- Use seeded mathematical random where uniqueness is needed
but not required to be cryptographic
- Use crypto random where used as a password or credential