From patchwork Sun Jan 6 13:25:35 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Klaus Schmidinger X-Patchwork-Id: 12567 Received: from raven.cadsoft.de ([217.7.101.211]) by www.linuxtv.org with esmtp (Exim 4.63) (envelope-from ) id 1JBVVQ-0002HO-VO for vdr@linuxtv.org; Sun, 06 Jan 2008 14:25:37 +0100 Received: from [192.168.100.10] (hawk.cadsoft.de [192.168.100.10]) by raven.cadsoft.de (8.13.3/8.13.3) with ESMTP id m06DPZAB002556 for ; Sun, 6 Jan 2008 14:25:35 +0100 Message-ID: <4780D6CF.3000607@cadsoft.de> Date: Sun, 06 Jan 2008 14:25:35 +0100 From: Klaus Schmidinger Organization: CadSoft Computer GmbH User-Agent: Thunderbird 2.0.0.9 (X11/20070801) MIME-Version: 1.0 To: vdr@linuxtv.org References: <200801061413.52253.md001@gmx.de> In-Reply-To: <200801061413.52253.md001@gmx.de> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (raven.cadsoft.de [192.168.1.1]); Sun, 06 Jan 2008 14:25:36 +0100 (CET) Subject: Re: [vdr] How To use DeviceStillPicture ? 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: Sun, 06 Jan 2008 13:25:37 -0000 Status: O X-Status: X-Keywords: X-UID: 14999 On 01/06/08 14:13, Martin Dauskardt wrote: > I have seen that plugins use this in a different way. > > For example in this order: > DevicePlay > DeviceStillPicture > DeviceFreeze > So the next action to display a new Stillimage would start with DevicePlay > > Others call neither Freeze nor Play. The dvd-Plugin calls DeviceClear and > DevicePlay before DeviceStillPicture. > > I remember that Klaus once stated that DeviceStillPicture could be seen as a > trickmode, so that always a Play has to follow to resume from trickmode. But > is it necessary to Freeze the Stillpicture before? > > And I wonder: How should a device plugin handle the StillPicture function? Is > it necessary that StillPicture also calls a Clear() to clear the internal > decoder buffers? It looks like that vdr is not doing this in dvbdevice.c, > although I am not sure if the av7110 ioctl VIDEO_STILLPICTURE does > internally clear the buffers. Incidentally I'm currently writing a simple picture viewer plugin, and there I just call DeviceStillPicture() without anything else. In order to make the FF-DVB cards display both frames of a still picture (thus avoiding jagged lines) you may want to apply the following patch to the driver: Klaus --- av7110_av.c 2007-12-30 12:59:44.000000000 +0100 +++ av7110_av.c 2007-12-31 11:19:41.000000000 +0100 @@ -1125,6 +1125,8 @@ dvb_ringbuffer_flush_spinlock_wakeup(&av7110->avout); ret = play_iframe(av7110, pic->iFrame, pic->size, file->f_flags & O_NONBLOCK); + if (!ret) + ret = vidcom(av7110, AV_VIDEO_CMD_FREEZE, 1); break; }