From c10fc17a1e930c2cfd9cacb7f90d8b6a6cec4a88 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Wed, 29 Feb 2012 18:19:23 +0100 Subject: [PATCH] Revert "mpegtsdemux: Not apply various time the same PMT to a program when repetead" This reverts commit 8cb0e87f5623836ddc361eb91dcf9b50b48048e7. mpegtspacketizer already checks if it's a new PMT or not --- gst/mpegtsdemux/mpegtsbase.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c index ee46e64..a62314f 100644 --- a/gst/mpegtsdemux/mpegtsbase.c +++ b/gst/mpegtsdemux/mpegtsbase.c @@ -968,8 +968,6 @@ mpegts_base_handle_psi (MpegTSBase * base, MpegTSPacketizerSection * section) { gboolean res = TRUE; GstStructure *structure = NULL; - gint program_number; - MpegTSBaseProgram *program = NULL; /* table ids 0x70 - 0x73 do not have a crc */ if (G_LIKELY (section->table_id < 0x70 || section->table_id > 0x73)) { @@ -999,22 +997,10 @@ mpegts_base_handle_psi (MpegTSBase * base, MpegTSPacketizerSection * section) break; case 0x02: structure = mpegts_packetizer_parse_pmt (base->packetizer, section); - if (G_UNLIKELY (structure == NULL)) - return FALSE; - - gst_structure_id_get (structure, QUARK_PROGRAM_NUMBER, G_TYPE_UINT, - &program_number, NULL); - program = mpegts_base_get_program (base, program_number); - - /* We already have the same PMT for the current program in use, so we do - * not need to reset it */ - if (program && program->active && program->pmt_pid == section->pid) { - GST_DEBUG ("Already have the PMT %u for program %i, not applying again", - program->pmt_pid, program_number); - res = TRUE; - } else { + if (G_LIKELY (structure)) mpegts_base_apply_pmt (base, section->pid, structure); - } + else + res = FALSE; break; case 0x40: -- 2.7.4