summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--softhddev.c5
-rw-r--r--softhddevice.cpp2
-rw-r--r--video.c1
3 files changed, 7 insertions, 1 deletions
diff --git a/softhddev.c b/softhddev.c
index fd51917..fd9397d 100644
--- a/softhddev.c
+++ b/softhddev.c
@@ -2810,6 +2810,9 @@ void MainThreadHook(void)
// Suspend/Resume
//////////////////////////////////////////////////////////////////////////////
+ /// call VDR support function
+extern void DelPip(void);
+
/**
** Suspend plugin.
**
@@ -2827,6 +2830,8 @@ void Suspend(int video, int audio, int dox11)
Debug(3, "[softhddev]%s:\n", __FUNCTION__);
+ DelPip(); // must stop PIP
+
MyVideoStream->SkipStream = 1;
SkipAudio = 1;
diff --git a/softhddevice.cpp b/softhddevice.cpp
index 01cb305..24095a4 100644
--- a/softhddevice.cpp
+++ b/softhddevice.cpp
@@ -1542,7 +1542,7 @@ static void NewPip(int channel_nr)
/**
** Stop PIP.
*/
-static void DelPip(void)
+extern "C" void DelPip(void)
{
fprintf(stderr, "pip: stopped\n");
diff --git a/video.c b/video.c
index b4d2593..5bdfeaa 100644
--- a/video.c
+++ b/video.c
@@ -6594,6 +6594,7 @@ static void VdpauExit(void)
VdpauDecoders[i] = NULL;
}
}
+ VdpauDecoderN = 0;
if (VdpauDevice) {
VdpauExitOutputQueue();