gstreamer/gst/mpegtsdemux
Edward Hervey 0592bcc3c9 mpegtspacketizer: Better detect already seen section
In some cases (NIT on highly-populated DVB-C operator for example), there
will be more than one section emitted for the same subtable and version
number.

In order not to lose those updates for the same version number, we checked
against the CRC of the previous section we parsed.

The problem is that, while it made sure we didn't lose any information, it
also meant that if the same section came back (same version, same CRC) later
on we would re-process it, re-parse it and re-emit it.

This version improves on that by keeping a list of previously observed CRC
for identical PID/subtable/version-number and will only process sections if
they really were never seen in the past (as opposed to just before).

On a 30s clip, this brings down the number of NIT section parsing from 4541
down to 663.

https://bugzilla.gnome.org/show_bug.cgi?id=614479
2013-06-23 09:06:15 +02:00
..
gstmpegdefs.h mpegtsdemux: header cleanups/updates 2013-04-26 15:49:18 +02:00
gstmpegdesc.c mpegtsdemux: Fix for compiling without GST_DEBUG 2013-06-19 12:29:46 +02:00
gstmpegdesc.h tsdemux: Add descriptors for SMPTE 302m audio 2013-02-04 18:07:17 -08:00
gsttsdemux.c Fix FSF address 2012-11-04 00:09:59 +00:00
Makefile.am gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
mpegtsbase.c mpegtbase: simplify code 2013-06-19 12:29:47 +02:00
mpegtsbase.h tsdemux: fixes seeking in pull mode 2013-06-12 08:01:06 +02:00
mpegtspacketizer.c mpegtspacketizer: Better detect already seen section 2013-06-23 09:06:15 +02:00
mpegtspacketizer.h mpegtspacketizer: Better detect already seen section 2013-06-23 09:06:15 +02:00
mpegtsparse.c tsparse: Ensure initial events are sent in the right order 2013-06-19 07:40:28 +02:00
mpegtsparse.h tsparse: Ensure initial events are sent in the right order 2013-06-19 07:40:28 +02:00
pesparse.c mpegtsdemux: Fix various compiler warnings 2013-03-03 12:30:32 +01:00
pesparse.h Fix FSF address 2012-11-04 00:09:59 +00:00
TODO tsdemux: Update TODO 2012-03-05 10:17:56 +01:00
tsdemux.c mpegtsdemux: Fix for compiling without GST_DEBUG 2013-06-19 12:29:46 +02:00
tsdemux.h tsdemux: remove unused current_program_number field 2013-03-24 20:58:28 +00:00