summaryrefslogtreecommitdiff
path: root/src/libvdpau/dpb.c
diff options
context:
space:
mode:
authorJulian Scheel <julian@jusst.de>2008-12-08 11:24:37 +0000
committerJulian Scheel <julian@jusst.de>2008-12-08 11:24:37 +0000
commit25bdacf7a72c1abae24e7e7e82b53505408dc4a9 (patch)
treeb8ebbd421abc8cedd2b779059b0d27a6281bb963 /src/libvdpau/dpb.c
parentfcceca2c84e5b1cb24262591ee8de98ccedca1db (diff)
downloadxine-lib-25bdacf7a72c1abae24e7e7e82b53505408dc4a9.tar.gz
xine-lib-25bdacf7a72c1abae24e7e7e82b53505408dc4a9.tar.bz2
Block surfaces until they are not used as reference frames any more.
Diffstat (limited to 'src/libvdpau/dpb.c')
-rw-r--r--src/libvdpau/dpb.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libvdpau/dpb.c b/src/libvdpau/dpb.c
index a13e758bf..d6a6c25df 100644
--- a/src/libvdpau/dpb.c
+++ b/src/libvdpau/dpb.c
@@ -10,14 +10,16 @@
#include <string.h>
#include "dpb.h"
+#include "video_out.h"
struct decoded_picture* init_decoded_picture(struct nal_unit *src_nal,
- VdpVideoSurface surface)
+ VdpVideoSurface surface, vo_frame_t *img)
{
struct decoded_picture *pic = malloc(sizeof(struct decoded_picture));
pic->nal = init_nal_unit();
copy_nal_unit(pic->nal, src_nal);
pic->surface = surface;
+ pic->img = img;
pic->next = NULL;
return pic;
@@ -25,6 +27,7 @@ struct decoded_picture* init_decoded_picture(struct nal_unit *src_nal,
void free_decoded_picture(struct decoded_picture *pic)
{
+ pic->img->free(pic->img);
free_nal_unit(pic->nal);
}