diff options
Diffstat (limited to 'device.c')
-rw-r--r-- | device.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 2.43 2011/10/16 14:01:30 kls Exp $ + * $Id: device.c 2.44 2011/10/16 14:36:43 kls Exp $ */ #include "device.h" @@ -640,12 +640,12 @@ const cChannel *cDevice::GetCurrentlyTunedTransponder(void) const return NULL; } -bool cDevice::IsTunedToTransponder(const cChannel *Channel) +bool cDevice::IsTunedToTransponder(const cChannel *Channel) const { return false; } -bool cDevice::MaySwitchTransponder(void) +bool cDevice::MaySwitchTransponder(const cChannel *Channel) const { return time(NULL) > occupiedTimeout && !Receiving(true) && !(pidHandles[ptAudio].pid || pidHandles[ptVideo].pid || pidHandles[ptDolby].pid); } @@ -1488,6 +1488,7 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly) int cDevice::Priority(void) const { int priority = IsPrimaryDevice() ? Setup.PrimaryLimit - 1 : DEFAULTPRIORITY; + cMutexLock MutexLock(&mutexReceiver); for (int i = 0; i < MAXRECEIVERS; i++) { if (receiver[i]) priority = max(receiver[i]->priority, priority); @@ -1502,6 +1503,7 @@ bool cDevice::Ready(void) bool cDevice::Receiving(bool CheckAny) const { + cMutexLock MutexLock(&mutexReceiver); for (int i = 0; i < MAXRECEIVERS; i++) { if (receiver[i] && (CheckAny || receiver[i]->priority >= 0)) // cReceiver with priority < 0 doesn't count return true; |