After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 768715 - rtpjitterbuffer: Considers packets too late due to wraparound
rtpjitterbuffer: Considers packets too late due to wraparound
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.4.5
Other Linux
: Normal major
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-07-12 09:50 UTC by Sebastian Dröge (slomo)
Modified: 2018-11-03 15:10 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2016-07-12 09:50:46 UTC
https://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/gst/rtpmanager/gstrtpjitterbuffer.c?id=5328378132c7c100b8a17818862a3124affef1f8#n2829

This check will also trigger if more than 2**15 packets are queued up in the jitterbuffer, as the latest packet we received will then be considered as a wraparound close to the latest packet we popped.

The check will have to be made more correct somehow, or removed completely (why is it there at all?). It was added in commit eaa23fd4 in 2008 :)


We could probably just add the number of queued up packets to the last popped sequence number, and use that for comparison. It's not going to be 100% correct (there might be missing packets), but it should be far less than 2**15 (otherwise we would've reset already).

Any better ideas?
Comment 1 Sebastian Dröge (slomo) 2016-07-12 10:09:11 UTC
Another option would be to track extended seqnums everywhere, which will probably be required for the jitterbuffer to not explode anyway (we could have multiple packets with the same 16 bit seqnum otherwise).
Comment 2 Olivier Crête 2016-07-12 22:06:21 UTC
Can we reasonably have more than 2^15 packets in the queue? If you do, maybe we should add something to limit the size of the queue inside the jitterbuffer instead?
Comment 3 Sebastian Dröge (slomo) 2016-07-25 06:04:20 UTC
If you have a latency of 2 seconds, a packet size of 1400 bytes and a stream with 22MB/s (megabyte, not bit) then you end up with this situation :) With raw video you can easily get there.
Comment 4 GStreamer system administrator 2018-11-03 15:10:28 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/286.