Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] Re: VDR - doesn't play the last seconds of a recording
Peter Dittmann wrote:
>
> Hi Klaus,
>
> I don't know if somebody else observed it yet:
>
> This happens always with my system when the recording switches to a new file:
>
> Jan 31 02:26:05 ikarus vdr[1142]: buffer usage: 79%
> Jan 31 02:26:05 ikarus last message repeated 5 times
> Jan 31 02:26:05 ikarus vdr[1142]: buffer usage: 80%
> Jan 31 02:26:06 ikarus last message repeated 3 times
> Jan 31 02:26:06 ikarus vdr[1142]: buffer usage: 82%
> Jan 31 02:26:06 ikarus vdr[1142]: buffer usage: 83%
> Jan 31 02:26:06 ikarus vdr[1142]: buffer usage: 85%
> Jan 31 02:26:06 ikarus vdr[1142]: buffer usage: 86%
> Jan 31 02:26:06 ikarus vdr[1142]: buffer usage: 88%
> Jan 31 02:26:06 ikarus vdr[1142]: buffer usage: 90%
> Jan 31 02:26:06 ikarus vdr[1142]: buffer usage: 91%
> Jan 31 02:26:06 ikarus vdr[1142]: buffer usage: 93%
> Jan 31 02:26:06 ikarus vdr[1142]: buffer usage: 94%
> Jan 31 02:26:06 ikarus vdr[1142]: buffer usage: 96%
> Jan 31 02:26:06 ikarus vdr[1142]: buffer usage: 97%
> Jan 31 02:26:06 ikarus vdr[1142]: buffer usage: 99%
> Jan 31 02:26:06 ikarus vdr[1142]: buffer usage: 100%
> Jan 31 02:36:58 ikarus vdr[1141]: recording to '/video0/Buffy_-_Im_Bann_der_D.monen/2002-01-31.01:10.50.99.rec/005.vdr'
> Jan 31 02:43:51 ikarus vdr[1141]: ERROR: can't record MPEG1!
> Jan 31 02:57:40 ikarus -- MARK --
> Jan 31 02:58:41 ikarus vdr[1141]: recording to '/video0/Buffy_-_Im_Bann_der_D.monen/2002-01-31.01:10.50.99.rec/006.vdr'
>
> This points at problems writing the data to disk fast enought. (This is
> with DMA on, if DMA is off this will cause even VDR to quit recording).
>
> My fix for that was to raise VIDEOBUFSIZE in
> dvbapi.c:line54 to MEGABYTE(4)
>
> Now there is a strange effect. The system would finish replaying a file
> already approx. 10 seconds before the file end (checked with OSD replay display
> on). It apeares that the ouput thread is finished when the input thread has no
> more data to read.
>
> To fix it I used a seperate buffer size definition for replaying:
> dvbapi.c:line55
> #define PLAYBUFSIZE = KILOBYTE(128)
>
> dvbapi.c:line747
> cPlayBuffer::cPlayBuffer(cDvbApi *DvbApi, int VideoDev, int AudioDev)
> :cRingBufferFrame(PLAYBUFSIZE)
>
> This reduces the unplayable rest of the recording now to <0.5 seconds.
> The better way would be of cause to play until the output thead has emptied the
> buffer before finishing replaying.
>
> regards Peter Dittmann <Peter.Dittmann@freenet.de>
>
> --------------------------
> + VDR-0.99pre3 + EIT fix
> + kernel 2.4.0 (Suse 7.1)
> + P2/300MHz/256MB
I'm afraid you're just curing the symptoms. Recording and replaying works
fine here with the default buffer sizes. There may be cases where the last
few seconds of a recording are not replayed, but does that really matter?
Normally you always record several minutes past the official end of a broadcast,
to make sure you get the entire show.
There must be something wrong with your system which causes opening/closing
of files to take longer than usual. Which file system are you using? How
fast is your harddisk? Is it local or NFS mounted?
Klaus
--
_______________________________________________________________
Klaus Schmidinger Phone: +49-8635-6989-10
CadSoft Computer GmbH Fax: +49-8635-6989-40
Hofmark 2 Email: kls@cadsoft.de
D-84568 Pleiskirchen, Germany URL: www.cadsoft.de
_______________________________________________________________
Home |
Main Index |
Thread Index