From 2eb479f825c3d1f02f9b91cc3f1964945be5d647 Mon Sep 17 00:00:00 2001 From: Carl-Anton Ingmarsson Date: Mon, 27 Apr 2009 18:34:53 +0200 Subject: vdpaumpegdec: if available use incoming buffer timestamp as output timestamp --- sys/vdpau/gstvdpdecoder.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'sys/vdpau/gstvdpdecoder.c') diff --git a/sys/vdpau/gstvdpdecoder.c b/sys/vdpau/gstvdpdecoder.c index 3f71ab40..b3faf837 100644 --- a/sys/vdpau/gstvdpdecoder.c +++ b/sys/vdpau/gstvdpdecoder.c @@ -64,15 +64,11 @@ GstFlowReturn gst_vdp_decoder_push_video_buffer (GstVdpDecoder * dec, GstVdpVideoBuffer * buffer) { - GST_BUFFER_TIMESTAMP (buffer) = - gst_util_uint64_scale_int (GST_SECOND * dec->frame_nr, - dec->framerate_denominator, dec->framerate_numerator); - GST_BUFFER_DURATION (buffer) = - gst_util_uint64_scale_int (GST_SECOND, dec->framerate_denominator, - dec->framerate_numerator); - GST_BUFFER_OFFSET (buffer) = dec->frame_nr; - dec->frame_nr++; - GST_BUFFER_OFFSET_END (buffer) = dec->frame_nr; + if (GST_BUFFER_TIMESTAMP (buffer) == GST_CLOCK_TIME_NONE) { + GST_BUFFER_TIMESTAMP (buffer) = + gst_util_uint64_scale_int (GST_SECOND * dec->frame_nr, + dec->framerate_denominator, dec->framerate_numerator); + } gst_buffer_set_caps (GST_BUFFER (buffer), GST_PAD_CAPS (dec->src)); return gst_pad_push (dec->src, GST_BUFFER (buffer)); -- cgit v1.2.1