summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <edward.hervey@collabora.co.uk>2012-02-29 18:19:23 +0100
committerEdward Hervey <edward.hervey@collabora.co.uk>2012-03-01 18:15:51 +0100
commitc10fc17a1e930c2cfd9cacb7f90d8b6a6cec4a88 (patch)
tree629ffa8bce16847c7e24fc8bc65506d2009c92fb
parentd920d9d64f3d3aa7f3910c9763bfd0fd728335b9 (diff)
downloadgstreamer-plugins-bad-c10fc17a1e930c2cfd9cacb7f90d8b6a6cec4a88.tar.gz
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
-rw-r--r--gst/mpegtsdemux/mpegtsbase.c20
1 files changed, 3 insertions, 17 deletions
diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c
index ee46e6426..a62314fd9 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: