Bump GLib requirement to >= 2.62
[platform/upstream/gstreamer.git] / subprojects / gst-plugins-bad / gst / mpegtsdemux / mpegtsbase.c
index 4675dc8..01bc68e 100644 (file)
@@ -37,7 +37,7 @@
 
 #include <glib.h>
 
-#include <gst/gst-i18n-plugin.h>
+#include <glib/gi18n-lib.h>
 #include "mpegtsbase.h"
 #include "gstmpegdesc.h"
 
@@ -502,13 +502,7 @@ mpegts_base_steal_program (MpegTSBase * base, gint program_number)
   for (i = 0; i < base->programs->len; i++) {
     MpegTSBaseProgram *program = g_ptr_array_index (base->programs, i);
     if (program->program_number == program_number) {
-#if GLIB_CHECK_VERSION(2, 58, 0)
       return g_ptr_array_steal_index (base->programs, i);
-#else
-      program->recycle = TRUE;
-      g_ptr_array_remove_index (base->programs, i);
-      return program;
-#endif
     }
   }
 
@@ -1190,6 +1184,12 @@ mpegts_base_apply_pmt (MpegTSBase * base, GstMpegtsSection * section)
     return TRUE;
   }
 
+  /* Don't attempt to handle pmt without any streams */
+  if (G_UNLIKELY (pmt->streams->len == 0)) {
+    GST_WARNING ("Skipping PMT without any entries");
+    return TRUE;
+  }
+
   program_number = section->subtable_extension;
   GST_DEBUG ("Applying PMT (program_number:%d, pid:0x%04x)",
       program_number, section->pid);