summaryrefslogtreecommitdiff
path: root/gst-libs/gst/vaapi/gstvaapidecoder.c
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2013-04-16 19:09:30 +0200
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>2013-04-16 19:11:02 +0200
commit2ac474b207e0848367661fc4769f72da50779d92 (patch)
tree6b00dc91728362d64b2ba3a14ecda9b1d19790a1 /gst-libs/gst/vaapi/gstvaapidecoder.c
parent87e5717f667774e15bd1bd170974ece634e4f63c (diff)
downloadgst-vaapi-2ac474b207e0848367661fc4769f72da50779d92.tar.gz
decoder: export presentation timestamp for raw decoding mode.
Fix regression from 0.4-branch whereby GstVaapiSurfaceProxy no longer held any information about the expected presentation timestamp, frame duration or additional flags like interlaced or top-field-first.
Diffstat (limited to 'gst-libs/gst/vaapi/gstvaapidecoder.c')
-rw-r--r--gst-libs/gst/vaapi/gstvaapidecoder.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapidecoder.c b/gst-libs/gst/vaapi/gstvaapidecoder.c
index e7468d03..1d3eb108 100644
--- a/gst-libs/gst/vaapi/gstvaapidecoder.c
+++ b/gst-libs/gst/vaapi/gstvaapidecoder.c
@@ -701,7 +701,10 @@ gst_vaapi_decoder_get_surface(GstVaapiDecoder *decoder,
frame = pop_frame(decoder);
while (frame) {
if (!GST_VIDEO_CODEC_FRAME_IS_DECODE_ONLY(frame)) {
- *out_proxy_ptr = gst_vaapi_surface_proxy_ref(frame->user_data);
+ GstVaapiSurfaceProxy * const proxy = frame->user_data;
+ proxy->timestamp = frame->pts;
+ proxy->duration = frame->duration;
+ *out_proxy_ptr = proxy;
gst_video_codec_frame_unref(frame);
return GST_VAAPI_DECODER_STATUS_SUCCESS;
}