rtpjpegdepay: Don't send invalid frames downstream after packet loss or a DISCONT
authorNirbheek Chauhan <nirbheek@centricular.com>
Mon, 14 Mar 2016 21:55:26 +0000 (03:25 +0530)
committerTim-Philipp Müller <tim@centricular.com>
Mon, 4 Apr 2016 16:40:11 +0000 (17:40 +0100)
commite20a6877375ea41eb36abd44dc487960c52a88fb
tree255b5a7158daa3b32f37cb185d111f15cebfef76
parentdf247f091cbaafe8c395d1a3f03b2d0f424c0595
rtpjpegdepay: Don't send invalid frames downstream after packet loss or a DISCONT

After clearing the adapter due to a DISCONT, as might happen when some packet(s)
have been lost, the depayloader was pushing data into the adapter (which had no
header due to the clear), creating a headerless frame out of it, and sending it
downstream. The downstream decoder would then usually ignore it; unless there
were lots of DISCONTs from the jitterbuffer in which case the decoder would reach
its max_errors limit and throw an element error. Now we just discard that data.

It is probaby not worth trying to salvage this data because non-progressive
jpeg does not degrade gracefully and makes the video unwatchable even with
low packet loss such as 3-5%.
gst/rtp/gstrtpjpegdepay.c