From patchwork Wed Jul 13 15:57:18 2005 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Anssi Hannula X-Patchwork-Id: 11943 Received: from fep16.inet.fi ([194.251.242.241]) by www.linuxtv.org with esmtp (Exim 4.34) id 1Dsjbs-0007Ne-NM for vdr@linuxtv.org; Wed, 13 Jul 2005 17:57:20 +0200 Received: from fep16.inet.fi by fep16.inet.fi convert rfc822-to-8bit; Wed, 13 Jul 2005 18:57:20 +0300 Received: from posti.hopto.org ([80.223.77.223]) by fep16.inet.fi with ESMTP id <20050713155719.XMQQ27755.fep16.inet.fi@posti.hopto.org> for ; Wed, 13 Jul 2005 18:57:19 +0300 Received: from [10.0.0.3] (kone [10.0.0.3]) by posti.hopto.org (Postfix) with ESMTP id 53D5F11663CB for ; Wed, 13 Jul 2005 18:57:19 +0300 (EEST) Message-ID: <42D539DE.1030903@gmail.com> Date: Wed, 13 Jul 2005 18:57:18 +0300 From: Anssi Hannula User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050322) X-Accept-Language: en-us, en MIME-Version: 1.0 To: vdr@linuxtv.org Subject: [vdr] Re: Wishlist: running status X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Klaus Schmidinger's VDR List-Id: Klaus Schmidinger's VDR List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2005 15:57:20 -0000 Status: O X-Status: X-Keywords: X-UID: 3525 Sorry for not posting in thread, I copypasted this old message from archives. Klaus Schmidinger wrote: > Lauri Tischler wrote: >> >> Klaus Schmidinger wrote: >> > Lauri Tischler wrote: >> > >> >>VPS uses running status. Unfortunately Finnish Digita does not >> >>use VPS, but, they do send 'running status', sort of... >> >>They appear allways to send 'running' (status 4) but never any >> >>other type. >> >>This could be used with Timers, like... >> >>- switch to appropiate channel using Timer Info >> >>- start recording when running status goes running >> >>- stop recording when next running status on this channel goes active. >> > >> > >> > VDR sets the running status accordingly, so that at any given time there >> > is only one event with running status 4. >> > >> > Are you sure that the stations you are talking about actually switch >> > the running status when the broadcast begins or ends, respectively? >> > RTL, for instance, switches the RS at times that are only loosely >> > related to the actual begin or end of a broadcast. >> >> some log from 9th Apr. [...] >> -- starts 1:08 late >> Apr 9 18:31:08 vdr vdr[2596]: channel 8 (YLE24) event 18:30 'MOT' status 4 >> Apr 9 18:32:01 vdr vdr[2596]: channel 2 (YLE TV2) event 18:30 'Pisara' status 4 >> Apr 9 18:35:11 vdr vdr[2596]: channel 1 (YLE TV1) event 18:35 'Top40' status 4 >> Apr 9 18:36:01 vdr vdr[2596]: channel 9 (YLE FST) event 18:35 'Kulttuuriprofiili: Jan-Erik Slätis' status 4 >> -- starts 2:15 late >> Apr 9 18:37:15 vdr vdr[2596]: channel 2 (YLE TV2) event 18:35 'FST: Kulttuuriprofiili: Jan-Erik Slätis' status 4 >> >> yep, should work > > Have you verified that these broadcasts actually started at the exact moment when > the status has switched? I mean, by watching what was actually visible on the tv > screen at that time. I verified this. > > You could make VDR use the event's running status (even if there is no VPS > time provided by the event) by changing the line > > if (HasFlags(tfVps) && !Directly && event && event->Vps()) { > > in VDR/timers.c into > > if (HasFlags(tfVps) && !Directly && event) { > > You would still have to set the VPS flag for the event, though. > I haven't tested this, but I would expect it to work. I modified VDR 1.3.27 according to attached patch, and the running status works as expected. Klaus, could this be included in the next version of VDR? --- timers.c.old 2005-06-18 15:49:55.000000000 +0300 +++ timers.c 2005-07-13 18:28:50.000000000 +0300 @@ -362,8 +362,8 @@ bool cTimer::Matches(time_t t, bool Dire } if (HasFlags(tfActive)) { - if (HasFlags(tfVps) && !Directly && event && event->Vps() && schedule && schedule->PresentSeenWithin(30)) { - if (startTime != event->Vps()) + if (HasFlags(tfVps) && !Directly && event && schedule && schedule->PresentSeenWithin(30)) { + if (event->Vps() && startTime != event->Vps()) return false; startTime = event->StartTime(); stopTime = event->EndTime();