summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/vdpau/gstvdpdevice.c2
-rw-r--r--sys/vdpau/gstvdpmpegdecoder.c2
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));