GNOME Bugzilla – Bug 730078
rtpjitterbuffer: wrong packet insertion if events present in the jitter queue
Last modified: 2014-05-14 08:30:26 UTC
This bug is to track down the issue mentioned in bug 730039 comment 2. If events are already inserted in the jitter queue, rtp_jitter_buffer_insert() will stop looking for the right position and always insert the packet after the first event found.
Created attachment 276473 [details] [review] keep looping when events found This patch keeps looping through the list of items in the jitter queue until the right position is found. - every time an event is found a reference is kept if not already set (consecutive events). - if a packet before an event has a greater seqnum, the event reference is reset until a new event is found (if any). At the end, if we still have a reference to an event we insert the packet after the event. Otherwise, it means we have found a position for the event.
commit bcd469ff316086e0f6db0a5af2dc7cc3eea938fd Author: Aleix Conchillo Flaqué <aleix@oblong.com> Date: Tue May 13 12:25:04 2014 -0700 rtpjitterbuffer: don't stop looping if event found in the queue If we are inserting a packet into the jitter queue we need to keep looping through the items until the right position is found. Currently, the code stops as soon as an event is found in the queue. Regarding events, we should only move packets before an event if there is another packet before the event that has a larger seqnum. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730078