diff options
-rw-r--r-- | sys/vdpau/gstvdpdevice.c | 2 | ||||
-rw-r--r-- | sys/vdpau/gstvdpmpegdecoder.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/vdpau/gstvdpdevice.c b/sys/vdpau/gstvdpdevice.c index ad771906..f920f973 100644 --- a/sys/vdpau/gstvdpdevice.c +++ b/sys/vdpau/gstvdpdevice.c @@ -221,6 +221,8 @@ device_destroyed_cb (gpointer data, GObject * object) GHashTableIter iter; gpointer device; + GST_DEBUG ("Removing object from hash table"); + g_hash_table_iter_init (&iter, devices_hash); while (g_hash_table_iter_next (&iter, NULL, &device)) { if (device == object) { diff --git a/sys/vdpau/gstvdpmpegdecoder.c b/sys/vdpau/gstvdpmpegdecoder.c index fe9b3e7c..006e6d41 100644 --- a/sys/vdpau/gstvdpmpegdecoder.c +++ b/sys/vdpau/gstvdpmpegdecoder.c @@ -178,10 +178,12 @@ gst_vdp_mpeg_decoder_decode (GstVdpMpegDecoder * mpeg_dec, outbuf = gst_vdp_video_buffer_new (dec->device, VDP_CHROMA_TYPE_420, dec->width, dec->height); GST_BUFFER_TIMESTAMP (outbuf) = timestamp; + if (info->forward_reference != VDP_INVALID_HANDLE && info->picture_coding_type != I_FRAME) gst_vdp_video_buffer_add_reference (outbuf, GST_VDP_VIDEO_BUFFER (mpeg_dec->f_buffer)); + if (info->backward_reference != VDP_INVALID_HANDLE) gst_vdp_video_buffer_add_reference (outbuf, GST_VDP_VIDEO_BUFFER (mpeg_dec->b_buffer)); |