From 48902e885f605edfab1643dcbe1db1ba4ba4c302 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 3 Dec 2005 13:50:19 +0100 Subject: [PATCH] Now checking the channel's symbol rate in order to avoid problems on full featured DVB cards with symbol rates below 10000 --- HISTORY | 2 ++ dvbdevice.c | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/HISTORY b/HISTORY index dc6187e0..9c2860b3 100644 --- a/HISTORY +++ b/HISTORY @@ -3969,3 +3969,5 @@ Video Disk Recorder Revision History (was broken in version 1.3.37). - Improved TS/PES conversion to better handle lost TS packets (thanks to Reinhard Nissl). +- Now checking the channel's symbol rate in order to avoid problems on full + featured DVB cards with symbol rates below 10000. diff --git a/dvbdevice.c b/dvbdevice.c index 43e55389..d4d70f4d 100644 --- a/dvbdevice.c +++ b/dvbdevice.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbdevice.c 1.139 2005/11/29 17:18:04 kls Exp $ + * $Id: dvbdevice.c 1.140 2005/12/03 13:36:08 kls Exp $ */ #include "dvbdevice.h" @@ -738,6 +738,8 @@ bool cDvbDevice::ProvidesSource(int Source) const bool cDvbDevice::ProvidesTransponder(const cChannel *Channel) const { + if (HasDecoder() && Channel->Srate() < 10000) + return false; return ProvidesSource(Channel->Source()) && (!cSource::IsSat(Channel->Source()) || !Setup.DiSEqC || Diseqcs.Get(Channel->Source(), Channel->Frequency(), Channel->Polarization())); } @@ -747,7 +749,7 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne bool hasPriority = Priority < 0 || Priority > this->Priority(); bool needsDetachReceivers = false; - if (ProvidesSource(Channel->Source()) && ProvidesCa(Channel)) { + if (ProvidesSource(Channel->Source()) && ProvidesTransponder(Channel) && ProvidesCa(Channel)) { result = hasPriority; if (Priority >= 0 && Receiving(true)) { if (dvbTuner->IsTunedTo(Channel)) {