#include <glib.h>
-#include <gst/gst-i18n-plugin.h>
+#include <glib/gi18n-lib.h>
#include "mpegtsbase.h"
#include "gstmpegdesc.h"
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
}
}
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);