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