summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohns <johns98@gmx.net>2015-03-10 10:31:49 +0100
committerJohns <johns98@gmx.net>2015-03-10 10:31:49 +0100
commit2866e328c6f6117af51903c3ed4cb1bb108b88ce (patch)
tree55683903a41bcb988bd24109c83845b2b66163cc
parent915dff8714f10732b2e23cf43f0fc2860ac5cb1d (diff)
downloadvdr-plugin-softhddevice-2866e328c6f6117af51903c3ed4cb1bb108b88ce.tar.gz
vdr-plugin-softhddevice-2866e328c6f6117af51903c3ed4cb1bb108b88ce.tar.bz2
Fix bug: destroyed vdpau surfaces still used in queue.
-rw-r--r--ChangeLog1
-rw-r--r--video.c16
2 files changed, 9 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 63f0c26..c088b1d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
User johns
Date:
+ Fix bug: destroyed vdpau surfaces still used in queue.
Fix bug: need signed char, if compiler has unsigned chars.
Try smaller audio puffer, if default size fails.
Fix bug: center cut-out didn't use cut off pixels.
diff --git a/video.c b/video.c
index aae0096..59d56a1 100644
--- a/video.c
+++ b/video.c
@@ -6648,6 +6648,14 @@ static void VdpauExitOutputQueue(void)
int i;
VdpStatus status;
+ if (VdpauQueue) {
+ VdpauPresentationQueueDestroy(VdpauQueue);
+ VdpauQueue = 0;
+ }
+ if (VdpauQueueTarget) {
+ VdpauPresentationQueueTargetDestroy(VdpauQueueTarget);
+ VdpauQueueTarget = 0;
+ }
//
// destroy display output surfaces
//
@@ -6672,14 +6680,6 @@ static void VdpauExitOutputQueue(void)
}
VdpauGrabRenderSurface = VDP_INVALID_HANDLE;
}
- if (VdpauQueue) {
- VdpauPresentationQueueDestroy(VdpauQueue);
- VdpauQueue = 0;
- }
- if (VdpauQueueTarget) {
- VdpauPresentationQueueTargetDestroy(VdpauQueueTarget);
- VdpauQueueTarget = 0;
- }
}
///