summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorEdward Hervey <edward.hervey@collabora.co.uk>2012-06-01 16:29:03 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2012-06-26 12:41:52 +0200
commit0b3cbd75520bac430fe465597f5fa43685140e69 (patch)
tree5bad7daddf7d857a492254c348e79006d030971d /gst
parent7136452bb34e6fbedde3cc4a7e765a4733004784 (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.c6
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;
}
}