summaryrefslogtreecommitdiff
path: root/softhddevice.cpp
diff options
context:
space:
mode:
authorJohns <johns98@gmx.net>2013-01-07 17:47:05 +0100
committerJohns <johns98@gmx.net>2013-01-07 17:47:05 +0100
commite88403d044ea55d91056b3f464f5c49bec8710ab (patch)
treef6b64b7b262e8ad0c974857b0ff248532f21b1f4 /softhddevice.cpp
parent11293e8dc17bfd5c65aac58a6ff0104e71ef9ef9 (diff)
downloadvdr-plugin-softhddevice-e88403d044ea55d91056b3f464f5c49bec8710ab.tar.gz
vdr-plugin-softhddevice-e88403d044ea55d91056b3f464f5c49bec8710ab.tar.bz2
Close pip before switching channel.
Diffstat (limited to 'softhddevice.cpp')
-rw-r--r--softhddevice.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/softhddevice.cpp b/softhddevice.cpp
index ed5d828..2f5db16 100644
--- a/softhddevice.cpp
+++ b/softhddevice.cpp
@@ -1588,6 +1588,9 @@ static void PipNextAvailableChannel(int direction)
channel = PipChannel;
first = channel;
+
+ DelPip(); // disable PIP to free the device
+
while (channel) {
bool ndr;
cDevice *device;
@@ -1601,7 +1604,6 @@ static void PipNextAvailableChannel(int direction)
&& (device = cDevice::GetDevice(channel, 0, false, true))
&& device->ProvidesChannel(channel, 0, &ndr) && !ndr) {
- DelPip();
NewPip(channel->Number());
return;
}