summaryrefslogtreecommitdiff
path: root/gst/mpegtsdemux/mpegtspacketizer.h
diff options
context:
space:
mode:
authorJan Schmidt <jan@centricular.com>2014-10-29 22:58:37 +1100
committerJan Schmidt <jan@centricular.com>2014-10-29 23:02:50 +1100
commit068cba5df69d910846881e261f024c1ef0175018 (patch)
tree50fbb19457b5b9e50e3bad35c7b1beff0e53ce65 /gst/mpegtsdemux/mpegtspacketizer.h
parenta49ce685d1b00fe7eb1fd3982847b58b0f8245a8 (diff)
downloadgstreamer-plugins-bad-068cba5df69d910846881e261f024c1ef0175018.tar.gz
tsparse: Handle backward and discont timestamps better.
Assume that small backward PCR jumps are just from upstream packet mis-ordering and don't reset timestamp tracking state - assuming that things will be OK again shortly. Make the threshold for detecting discont between sequential buffers configurable and match the smoothing-latency setting on tsparse to better cope with data bursts.
Diffstat (limited to 'gst/mpegtsdemux/mpegtspacketizer.h')
-rw-r--r--gst/mpegtsdemux/mpegtspacketizer.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gst/mpegtsdemux/mpegtspacketizer.h b/gst/mpegtsdemux/mpegtspacketizer.h
index f6fb41d90..be8bf3772 100644
--- a/gst/mpegtsdemux/mpegtspacketizer.h
+++ b/gst/mpegtsdemux/mpegtspacketizer.h
@@ -282,6 +282,7 @@ struct _MpegTSPacketizer2 {
guint8 pcrtablelut[0x2000];
MpegTSPCR *observations[MAX_PCR_OBS_CHANNELS];
guint8 lastobsid;
+ GstClockTime pcr_discont_threshold;
};
struct _MpegTSPacketizer2Class {
@@ -374,6 +375,9 @@ mpegts_packetizer_set_current_pcr_offset (MpegTSPacketizer2 * packetizer,
G_GNUC_INTERNAL void
mpegts_packetizer_set_reference_offset (MpegTSPacketizer2 * packetizer,
guint64 refoffset);
+G_GNUC_INTERNAL void
+mpegts_packetizer_set_pcr_discont_threshold (MpegTSPacketizer2 * packetizer,
+ GstClockTime threshold);
G_END_DECLS
#endif /* GST_MPEGTS_PACKETIZER_H */