gstreamer/tests
Mathieu Duponchelle 90f5ae8f45 ulpfecdec: output perfect seqnums
ULP FEC, as defined in RFC 5109, has the protected and protection
packets sharing the same ssrc, and a different payload type, and
implies rewriting the seqnums of the protected stream when encoding
the protection packets. This has the unfortunate drawback of not
being able to tell whether a lost packet was a protection packet.

rtpbasedepayload relies on gaps in the seqnums to set the DISCONT
flag on buffers it outputs. Before that commit, this created two
problems:

* The protection packets don't make it as far as the depayloader,
  which means it will mark buffers as DISCONT every time the previous
  packets were protected

* While we could work around the previous issue by looking at
  the protection packets ignored and dropped in rtpptdemux, we
  would still mark buffers as DISCONT when a FEC packet was lost,
  as we cannot know that it was indeed a FEC packet, even though
  this should have no impact on the decoding of the stream

With this commit, we consider that when using ULPFEC, gaps in
the seqnums are not a reliable indicator of whether buffers should
be marked as DISCONT or not, and thus rewrite the seqnums on
the decoding side as well to form a perfect sequence, this
obviously doesn't prevent the jitterbuffer from doing its job
as the ulpfec decoder is downstream from it.

https://bugzilla.gnome.org/show_bug.cgi?id=794909
2018-04-19 18:17:39 +02:00
..
check ulpfecdec: output perfect seqnums 2018-04-19 18:17:39 +02:00
examples Revert "rtspsrc: Fix up sendonly/recvonly attribute handling" 2018-04-17 17:58:01 +03:00
files tests: rtph264depay: add test for using downstream memory allocator 2017-11-23 09:36:00 +01:00
icles tests: remove broken and now pointless v4l2src-test 2018-04-02 12:50:36 +01:00
Makefile.am tests: don't build examples if --disable-examples was passed to configure 2009-05-05 13:23:45 +01:00
meson.build meson: build examples 2017-06-26 11:10:29 +01:00