gstreamer/tests/check
Havard Graff 8ed7ab178b rtpjitterbuffer: don't try and calculate packet-rate if seqnum are jumping
Turns out that the "big-gap"-logic of the jitterbuffer has been horribly
broken.

For people using lost-events, an RTP-stream with a gap in sequencenumbers,
would produce exactly that many lost-events immediately.
So if your sequence-numbers jumped 20000, you would get 20000 lost-events
in your pipeline...

The test that looks after this logic "test_push_big_gap", basically
incremented the DTS of the buffer equal to the gap that was introduced,
so that in fact this would be more of a "large pause" test, than an
actual gap/discontinuity in the sequencenumbers.

Once the test was modified to not increment DTS (buffer arrival time) with
a similar gap, all sorts of crazy started happening, including adding
thousands of timers, and the logic that should have kicked in, the
"handle_big_gap_buffer"-logic, was not called at all, why?

Because the number max_dropout is calculated using the packet-rate, and
the packet-rate logic would, in this particular test, report that
the new packet rate was over 400000 packets per second!!!

I believe the right fix is to don't try and update the packet-rate if
there is any jumps in the sequence-numbers, and only do these calculations
for nice, sequential streams.
2019-06-12 11:39:31 +02:00
..
elements rtpjitterbuffer: don't try and calculate packet-rate if seqnum are jumping 2019-06-12 11:39:31 +02:00
generic tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
pipelines tagschecking: Use gst_message_parse_warning in case of GST_MESSAGE_WARNING 2018-12-19 15:57:32 +00:00
.gitignore tests: ignore sub-directory with orc tests 2010-06-17 16:41:56 +01:00
gst-plugins-good.supp supp: Ignore leaks caused by shout/sethostent 2019-06-04 13:41:30 -04:00
Makefile.am rtpstorage: Make debug category available to sub objects 2019-03-26 19:41:06 -04:00
meson.build rtpstorage: Make debug category available to sub objects 2019-03-26 19:41:06 -04:00