Follow-up from "rtp: Add Opus RTP payloader/depayloader": take into account AudioClippingMeta for first timestamp
The following discussion from !1571 (merged) should be addressed:
-
@tpm started a discussion: (+1 comment) There's something else I'd like to fix, but I will do that in a separate MR later:
There's a problem with timestamp handling when audio comes from
opusenc
and the first buffer has anAudioClippingMeta
attached, which means that the bufferpts
now points into the middle of the opus frame, and we'll set the RTP timestamp accordingly.The applied clipping isn't going to travel through the RTP transport though, so the receiver will decode a 20ms packet and take the timestamp to apply to the beginning of that frame, and hey presto we have a 6.5ms offset.
The following Opus RTP packets will have the right timestamps applied of course, but a receiver may not resync and just align the audio samples after the previous packet(s) because the diff isn't enough to trigger a resync, so the offset could stay around indefinitely.