summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/vdpau/mixer.c
diff options
context:
space:
mode:
authorChristian König <[email protected]>2011-04-26 11:16:54 +0200
committerChristian König <[email protected]>2011-04-26 11:16:54 +0200
commit13a50bd47deff3e52470a513695c1bdb86908d73 (patch)
treea25ad2cfb154a2a7315410ab0d15df09ac1df8ef /src/gallium/state_trackers/vdpau/mixer.c
parent38bd8131776879e9dc90d06848657756a4a13a66 (diff)
vdpau: implement VideoMixerDestroy
Diffstat (limited to 'src/gallium/state_trackers/vdpau/mixer.c')
-rw-r--r--src/gallium/state_trackers/vdpau/mixer.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/vdpau/mixer.c b/src/gallium/state_trackers/vdpau/mixer.c
index bafd84f4c51..b02d591eb05 100644
--- a/src/gallium/state_trackers/vdpau/mixer.c
+++ b/src/gallium/state_trackers/vdpau/mixer.c
@@ -89,7 +89,19 @@ no_handle:
VdpStatus
vlVdpVideoMixerDestroy(VdpVideoMixer mixer)
{
- return VDP_STATUS_NO_IMPLEMENTATION;
+ vlVdpVideoMixer *vmixer;
+
+ debug_printf("[VDPAU] Destroying VideoMixer\n");
+
+ vmixer = vlGetDataHTAB(mixer);
+ if (!vmixer)
+ return VDP_STATUS_INVALID_HANDLE;
+
+ vmixer->compositor->destroy(vmixer->compositor);
+
+ FREE(vmixer);
+
+ return VDP_STATUS_OK;
}
VdpStatus