diff options
author | Jan Schmidt <jan@centricular.com> | 2014-10-29 22:58:37 +1100 |
---|---|---|
committer | Jan Schmidt <jan@centricular.com> | 2014-10-29 23:02:50 +1100 |
commit | a49ce685d1b00fe7eb1fd3982847b58b0f8245a8 (patch) | |
tree | 9ada9ef7467be0cc7ff40f92d75e127abfa0de80 /gst/mpegtsdemux/mpegtsbase.c | |
parent | 9f69bcbfe5ccca672c2042beafda94d37e677148 (diff) | |
download | gstreamer-plugins-bad-a49ce685d1b00fe7eb1fd3982847b58b0f8245a8.tar.gz |
tsparse: Implement timestamp/retimestamping of output buffers
When the set-timestamps property is set, use PCRs on the provided
(or autodetected) pcr-pid to apply (or replace) timestamps on the
output buffers, using piece-wise linear interpolation.
This allows tsparse to be used to stream an arbitrary mpeg-ts file,
or to smooth jittery reception timestamps from a network stream.
The reported latency is increased to match the smoothing latency if
necessary.
Diffstat (limited to 'gst/mpegtsdemux/mpegtsbase.c')
-rw-r--r-- | gst/mpegtsdemux/mpegtsbase.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c index 0ca72538c..82243370c 100644 --- a/gst/mpegtsdemux/mpegtsbase.c +++ b/gst/mpegtsdemux/mpegtsbase.c @@ -1077,7 +1077,7 @@ mpegts_base_sink_event (GstPad * pad, GstObject * parent, GstEvent * event) break; case GST_EVENT_EOS: res = GST_MPEGTS_BASE_GET_CLASS (base)->push_event (base, event); - res = gst_mpegts_base_handle_eos (base); + res &= gst_mpegts_base_handle_eos (base); break; case GST_EVENT_CAPS: /* FIXME, do something */ @@ -1165,6 +1165,9 @@ mpegts_base_chain (GstPad * pad, GstObject * parent, GstBuffer * buf) goto next; } + if (klass->inspect_packet) + klass->inspect_packet (base, &packet); + /* If it's a known PES, push it */ if (MPEGTS_BIT_IS_SET (base->is_pes, packet.pid)) { /* push the packet downstream */ |