From 9f7e70f754aa6cd62045f61e98b1fe0ff59e08a4 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Fri, 1 Jun 2012 16:29:03 +0200 Subject: [PATCH] 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. --- gst/mpegtsdemux/mpegtsbase.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c index c448dd1eb8..5b271ee08d 100644 --- a/gst/mpegtsdemux/mpegtsbase.c +++ b/gst/mpegtsdemux/mpegtsbase.c @@ -1071,10 +1071,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; } }