tsdemux: Handle invalid PCR_PID streams
[platform/upstream/gstreamer.git] / gst / mpegtsdemux / mpegtspacketizer.c
index 9332934..ddb6093 100644 (file)
@@ -2589,3 +2589,22 @@ mpegts_packetizer_set_current_pcr_offset (MpegTSPacketizer2 * packetizer,
   }
   PACKETIZER_GROUP_UNLOCK (packetizer);
 }
+
+#ifdef TIZEN_FEATURE_TSDEMUX_INVALID_PCR_PID
+GstClockTime
+mpegts_packetizer_get_pcr_base_time (MpegTSPacketizer2 * packetizer,
+                                   guint16 pcr_pid)
+{
+  GstClockTime res = GST_CLOCK_TIME_NONE;
+  MpegTSPCR *pcrtable;
+
+  PACKETIZER_GROUP_LOCK (packetizer);
+  pcrtable = get_pcr_table (packetizer, pcr_pid);
+
+  if (GST_CLOCK_TIME_IS_VALID (pcrtable->base_time) && (pcr_pid != 0x1fff))
+    res = pcrtable->base_time;
+
+  PACKETIZER_GROUP_UNLOCK (packetizer);
+  return res;
+}
+#endif