rtpjitterbuffer: fix stalling when resetting timers
authorHavard Graff <havard@pexip.com>
Wed, 4 Mar 2020 10:17:16 +0000 (11:17 +0100)
committerHavard Graff <havard@pexip.com>
Wed, 4 Mar 2020 11:55:52 +0000 (12:55 +0100)
commit026223cde2a6be98d7a29ac1b3c136c20f699c9e
treeb29627a2fb3a67d3b147f3b4fc1337f28475d578
parentf490c3841698fff671a62aef7ac77b9b055e6008
rtpjitterbuffer: fix stalling when resetting timers

When calling gst_rtp_jitter_buffer_reset you pass in a seqnum.

This is considered the starting-point for a new stream.

However, the old behavior would unref this buffer, basically lying to
the thread that is pushing out buffers saying that it can expect
this buffer, when it would never arrive. The resulting effect being no
more buffer pushed out of the jitterbuffer, and it would buffer
incoming data indefinitely.

By instead inserting the buffer in the gap_packets queue, the _reset()
function will take responsibility for using that as the first buffer
of the new stream.

Fixes #703
gst/rtpmanager/gstrtpjitterbuffer.c
tests/check/elements/rtpjitterbuffer.c