diff options
author | Edward Hervey <edward.hervey@collabora.co.uk> | 2012-06-01 16:29:03 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-06-26 12:41:52 +0200 |
commit | 0b3cbd75520bac430fe465597f5fa43685140e69 (patch) | |
tree | 5bad7daddf7d857a492254c348e79006d030971d /gst | |
parent | 7136452bb34e6fbedde3cc4a7e765a4733004784 (diff) |
mpegtbase: ECM/CA sections don't have a CRC
So don't check for it :)
Also add a bit more info in the warning message to speed up detecting
whether it's a false-positive or not.
Diffstat (limited to 'gst')
-rw-r--r-- | gst/mpegtsdemux/mpegtsbase.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c index d31a0d4d5..17784d8af 100644 --- a/gst/mpegtsdemux/mpegtsbase.c +++ b/gst/mpegtsdemux/mpegtsbase.c @@ -1064,10 +1064,12 @@ mpegts_base_handle_psi (MpegTSBase * base, MpegTSPacketizerSection * section) GstStructure *structure = NULL; /* table ids 0x70 - 0x73 do not have a crc */ - if (G_LIKELY (section->table_id < 0x70 || section->table_id > 0x73)) { + if (G_LIKELY ((section->table_id < 0x70 || section->table_id > 0x73) + && (section->table_id < 0x80 || section->table_id > 0x8f))) { if (G_UNLIKELY (mpegts_base_calc_crc32 (section->data, section->section_length) != 0)) { - GST_WARNING_OBJECT (base, "bad crc in psi pid 0x%x", section->pid); + GST_WARNING_OBJECT (base, "bad crc in psi pid 0x%x (table_id:0x%x)", + section->pid, section->table_id); return FALSE; } } |