From patchwork Sat Jan 5 00:02:45 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Reinhard Nissl X-Patchwork-Id: 12565 Received: from mail.gmx.net ([213.165.64.20]) by www.linuxtv.org with smtp (Exim 4.63) (envelope-from ) id 1JAwVR-0006Pg-3H for vdr@linuxtv.org; Sat, 05 Jan 2008 01:03:17 +0100 Received: (qmail invoked by alias); 05 Jan 2008 00:02:46 -0000 Received: from p549335E2.dip0.t-ipconnect.de (EHLO [192.168.101.15]) [84.147.53.226] by mail.gmx.net (mp040) with SMTP; 05 Jan 2008 01:02:46 +0100 X-Authenticated: #527675 X-Provags-ID: V01U2FsdGVkX1/uppc6vUfuhl8IdtqwaVtua9R9dJS+3Xfe2KcPtK i4hNEuiuDXzrWz Message-ID: <477EC925.6050606@gmx.de> Date: Sat, 05 Jan 2008 01:02:45 +0100 From: Reinhard Nissl User-Agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.1.9) Gecko/20070801 SUSE/2.0.0.9-0.1 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666 MIME-Version: 1.0 To: VDR Mailing List References: <47480207.7010109@gmx.de> <477ABB9E.1090103@gmx.de> <20080102141859.GA10310@gmail.com> <477BA9F4.4020403@gmail.com> <20080102152756.GC10310@gmail.com> <477BAE7D.6080601@gmail.com> <20080102155326.GD10310@gmail.com> <477BBAFD.2070601@gmail.com> <477BD0C4.9040401@gmx.de> <477BD462.2050502@gmail.com> <477C0BEB.6020104@gmx.de> In-Reply-To: <477C0BEB.6020104@gmx.de> X-Y-GMX-Trusted: 0 Subject: Re: [vdr] [ANNOUNCE] DVB-S2 + H.264 support for VDR-1.5.12 X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.9 Precedence: list Reply-To: VDR Mailing List List-Id: VDR Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2008 00:03:17 -0000 Status: O X-Status: X-Keywords: X-UID: 14989 Hi, Reinhard Nissl schrieb: > Well, I was in contact with Marco already and attached you'll > find a minimalistic change which reports "channel not available". > Now VDR should already be able to kick a low priority DVB-S > recording (or transfer thread) from a DVB-S2 device. The previous patch was wrong. Only DVB-S2 devices "could" provide channels. The revised patch works now as expected. > Still missing is to prefer DVB-S devices for DVB-S recordings so > that DVB-S2 devices remain available for DVB-S2 recordings of > same priority. Still to do. > The patch is incremental to the original dvbs2 patch from > yesterday, i. e. you can simply apply it to your already patched VDR. Bye. --- ../vdr-1.5.12-dvbs2-other/dvbdevice.c 2008-01-01 22:55:18.000000000 +0100 +++ dvbdevice.c 2008-01-05 00:44:24.000000000 +0100 @@ -798,7 +798,13 @@ bool cDvbDevice::ProvidesSource(int Sour bool cDvbDevice::ProvidesTransponder(const cChannel *Channel) const { - return ProvidesSource(Channel->Source()) && (!cSource::IsSat(Channel->Source()) || !Setup.DiSEqC || Diseqcs.Get(Channel->Source(), Channel->Frequency(), Channel->Polarization())); + if (!ProvidesSource(Channel->Source())) + return false; // doesn't provide source + if (!cSource::IsSat(Channel->Source())) + return true; // source is sufficient for non sat + if (!(frontendType & Channel->ModulationSystem())) + return false; // requires modulation system which frontend doesn't provide + return !Setup.DiSEqC || Diseqcs.Get(Channel->Source(), Channel->Frequency(), Channel->Polarization()); } bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *NeedsDetachReceivers) const @@ -807,7 +813,7 @@ bool cDvbDevice::ProvidesChannel(const c bool hasPriority = Priority < 0 || Priority > this->Priority(); bool needsDetachReceivers = false; - if (ProvidesSource(Channel->Source())) { + if (ProvidesTransponder(Channel)) { result = hasPriority; if (Priority >= 0 && Receiving(true)) { if (dvbTuner->IsTunedTo(Channel)) {