From patchwork Sat Mar 3 14:59:16 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Udo Richter X-Patchwork-Id: 12933 Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from ) id 1S3qQX-0002f4-Il for vdr@linuxtv.org; Sat, 03 Mar 2012 15:59:17 +0100 X-tubIT-Incoming-IP: 213.165.64.22 Received: from mailout-de.gmx.net ([213.165.64.22]) by mail.tu-berlin.de (exim-4.75/mailfrontend-2) with smtp for id 1S3qQW-00036G-J1; Sat, 03 Mar 2012 15:59:17 +0100 Received: (qmail invoked by alias); 03 Mar 2012 14:59:16 -0000 Received: from p549D576C.dip0.t-ipconnect.de (EHLO localhost) [84.157.87.108] by mail.gmx.net (mp070) with SMTP; 03 Mar 2012 15:59:16 +0100 X-Authenticated: #1417946 X-Provags-ID: V01U2FsdGVkX19hKRIsc0dhZTwfDWMgk1xCFkMqzzhf8zOVwjAlaI JI/jKaoLaLeCSQ Message-ID: <4F5231C4.9000007@gmx.de> Date: Sat, 03 Mar 2012 15:59:16 +0100 From: Udo Richter User-Agent: Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20120229 Thunderbird/11.0 MIME-Version: 1.0 To: VDR Mailing List X-Y-GMX-Trusted: 0 X-PMX-Version: 5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2012.3.3.144516 X-PMX-Spam: Gauge=IIIIIIIII, Probability=9%, Report=' RCVD_FROM_IP_DATE 0.1, HTML_00_01 0.05, HTML_00_10 0.05, MIME_TEXT_ONLY_MP_MIXED 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_1300_1399 0, BODY_SIZE_2000_LESS 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, NO_URI_FOUND 0, __BAT_BOUNDARY 0, __CT 0, __CTYPE_HAS_BOUNDARY 0, __CTYPE_MULTIPART 0, __CTYPE_MULTIPART_MIXED 0, __HAS_MSGID 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __MOZILLA_MSGID 0, __SANE_MSGID 0, __TO_MALFORMED_2 0, __USER_AGENT 0' X-LSpam-Score: -1.1 (-) X-LSpam-Report: No, score=-1.1 required=5.0 tests=BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793 autolearn=no Subject: [vdr] [OsdTeletext] detach receiver for VDR 1.7.25 X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.13 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, 03 Mar 2012 14:59:18 -0000 Status: O X-Status: X-Keywords: X-UID: 25835 Hi list, To actually make use of the new MsgChannelSwitch behavior of VDR 1.7.25, I've quickly hacked an experimental patch to use this to detach the old receiver before VDR attempts to switch channel. With this, channel switching should not jump between receivers for FF cards, avoiding transfer mode whenever possible. Please test. Cheers, Udo --- osdteletext/txtrecv.c.bak 2012-03-03 15:11:53.000000000 +0100 +++ osdteletext/txtrecv.c 2012-03-03 15:19:27.000000000 +0100 @@ -485,6 +485,15 @@ void cTxtStatus::ChannelSwitch(const cDevice *Device, int ChannelNumber) { +#ifdef VDRVERSNUM >= 10725 + // Disconnect receiver if channel is 0, will reconnect to new + // receiver after channel change. + if (ChannelNumber == 0 && Device->IsPrimaryDevice()) { + delete receiver; + receiver = NULL; + } +#endif + // ignore if channel is 0 if (ChannelNumber == 0) return;