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();