Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: Problem during recording and watching the same channel



Hi,

Davide Krähenbühl schrieb:

> >>>>>> hi all,
> >>>>>>
> >>>>>> this is my first post in this mailing list.
> >>>>>>
> >>>>>> I use vdr 1.2.4 without any patch or plugin, my dvb-s card is a
> >>>>>> nexus
> >>>>>> 2.1 with linux-dvb driver 1.0. when I record something I have that
> >>>>>> kind
> >>>>>> of error:
> >>>>>>
> >>>>>> Aug 27 00:14:58 mediabox vdr[1293]: transfer thread started
> >>>>>> (pid=1293)
> >>>>>> Aug 27 00:14:58 mediabox vdr[1294]: receiver thread started on
> >>>>>> device
> >>>>>> 1
> >>>>>> (pid=1294)
> >>>>>> Aug 27 00:15:02 mediabox vdr[1320]: recording thread started
> >>>>>> (pid=1320)
> >>>>>> Aug 27 00:15:02 mediabox vdr[1293]: ERROR (transfer.c,108):
> >>>>>> Operation
> >>>>>> not permitted
> >>>>>> Aug 27 00:15:13 mediabox vdr[1294]: buffer usage: 80% (pid=1293)
> >>>>>> Aug 27 00:15:14 mediabox vdr[1294]: buffer usage: 85% (pid=1293)
> >>>>>> Aug 27 00:15:14 mediabox vdr[1294]: buffer usage: 90% (pid=1293)
> >>>>>> Aug 27 00:15:14 mediabox vdr[1294]: buffer usage: 95% (pid=1293)
> >>>>>> Aug 27 00:15:15 mediabox vdr[1294]: buffer usage: 100% (pid=1293)
> >>>>>> Aug 27 00:15:15 mediabox vdr[1294]: ERROR: ring buffer overflow
> >>>>>> (89
> >>>>>> bytes dropped)
> >>>>>> Aug 27 00:15:22 mediabox vdr[1293]: ERROR: PES packet length
> >>>>>> overflow
> >>>>>> in remuxer (stream corruption)
> >>>>>>
> >>>>>> what I see and hear on my TV is very crappy but the recorded file
> >>>>>> is
> >>>>>> good. this append only when I watch the same channel I record.
> >>>>>> I have the same problem with old version of vdr like 1.2.1 and
> >>>>>> 1.2.2.
> >>>>>
> >>>>> Are you sure you have DMA activated for your harddisk?
> >>>>>
> >>>>> Klaus
> >>>>
> >>>> yes, of course, here the hdparm:
> >>>>
> >>>> /dev/hda:
> >>>>   multcount    = 16 (on)
> >>>>   IO_support   =  1 (32-bit)
> >>>>   unmaskirq    =  1 (on)
> >>>>   using_dma    =  1 (on)
> >>>>   keepsettings =  0 (off)
> >>>>   readonly     =  0 (off)
> >>>>   readahead    =  8 (on)
> >>>>   geometry     = 3333/255/63, sectors = 53550304, start = 0
> >>>>
> >>>> and I forgot to say that if I stop to record the video and audio
> >>>> problem continue until I switch channel. If I watch a channel and
> >>>> record another one there is no problem, all works perfectly.
> >>>
> >>> Then you may want to try activating the lines
> >>>
> >>>         /*
> >>>         if (!gotBufferReserve) {
> >>>            if (ringBuffer->Available() < 4 * MAXFRAMESIZE) {
> >>>               usleep(100000); // allow the buffer to collect some
> >>> reserve
> >>>               continue;
> >>>               }
> >>>            else
> >>>               gotBufferReserve = true;
> >>>            }
> >>>            */
> >>>
> >>> in VDR/transfer.c (simply by removing the comment characters).
> >>
> >> I just try to remove the comment characters, recompile vdr, record
> >> something and watching the same channel. here the log file with the
> >> errors I have:
> >>
> >> Aug 27 11:25:13 mediabox vdr[1133]: transfer thread started (pid=1133)
> >> Aug 27 11:25:13 mediabox vdr[1134]: receiver thread started on device
> >> 1
> >> (pid=1134)
> >> Aug 27 11:25:13 mediabox vdr[871]: timer 2 (1 1125-1425 '@TITLE
> >> EPISODE') start
> >> Aug 27 11:25:13 mediabox vdr[871]: Title: 'Appuntamento al cinema'
> >> Subtitle: ''
> >> Aug 27 11:25:13 mediabox vdr[871]: record
> >> /video/@Appuntamento_al_cinema__/2003-08-27.11:25.50.50.rec
> >> Aug 27 11:25:13 mediabox vdr[871]: creating directory
> >> /video/@Appuntamento_al_cinema__
> >> Aug 27 11:25:13 mediabox vdr[871]: creating directory
> >> /video/@Appuntamento_al_cinema__/2003-08-27.11:25.50.50.rec
> >> Aug 27 11:25:13 mediabox vdr[871]: recording to
> >> '/video/@Appuntamento_al_cinema__/2003-08-27.11:25.50.50.rec/001.vdr'
> >> Aug 27 11:25:13 mediabox vdr[1136]: recording thread started
> >> (pid=1136)
> >> Aug 27 11:25:15 mediabox vdr[1134]: buffer usage: 80% (pid=1133)
> >> Aug 27 11:25:15 mediabox vdr[1134]: buffer usage: 85% (pid=1133)
> >> Aug 27 11:25:15 mediabox vdr[1134]: buffer usage: 90% (pid=1133)
> >> Aug 27 11:25:15 mediabox vdr[1134]: buffer usage: 95% (pid=1133)
> >> Aug 27 11:25:15 mediabox vdr[1134]: buffer usage: 100% (pid=1133)
> >> Aug 27 11:25:15 mediabox vdr[1134]: ERROR: ring buffer overflow (89
> >> bytes dropped)
> >> Aug 27 11:25:15 mediabox vdr[1134]: ERROR: ring buffer overflow (188
> >> bytes dropped)
> >> Aug 27 11:25:24 mediabox last message repeated 17794 times
> >>
> >> if I use the menu (moving around the menu during the recording) the
> >> video and audio problem become more visible.
> >
> > Thats a buffering problem, i don't know exactly where the problem is,
> > perhaps the
> > machine is to fast or buggy filesystem (locking) or something else.
> > In addition to the changes Klaus posted, you can increase the buffer
> > size in transfer.c
> > from 1 Megabyte lets say to 5 or 10 its in Line 15
> > #define VIDEOBUFSIZE MEGABYTE(1)
> > and change it to
> > #define VIDEOBUFSIZE MEGABYTE(10)
> >
> > that will solve the problem, for me and perhaps for you also :-)
> >
> > Gerald
>
> hi,
>
> whit the 2 modification (megabyte and comments) I made I have few ERROR
> messages into the log file:
>
> Aug 27 14:12:19 mediabox vdr[1348]: ERROR: PES packet length overflow
> in remuxer (stream corruption)
> Aug 27 14:12:19 mediabox vdr[1345]: ERROR: PES packet length overflow
> in remuxer (stream corruption)
>
> but there is an out of sync between the audio and video, and the video
> isn't so fluid.
>
> I use SUSE 8.2 with a Celeron 1.7Ghz Socket 478 and 256DDR Ram
>
> --
> Info:
> To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.

i looked in the source which modifications i did,
in transfer.c
#define VIDEOBUFSIZE MEGABYTE(5)  -> 10 is also too big on my system excuse me.

and in recorder.c i changed from
#define  VIDEOBUFSIZE MEGABYTE(5)
to
#define  VIDEOBUFSIZE MEGABYTE(10)

i made the changes in recorder.c because i get errors when recording in my three card
system. If you get still errors try 3 Megabyte in transfer.c i don't know if you also
need the higher buffers in recording.c.

If this don't give you the results you will to have then try other settings for the
Megabyte.

Gerald



-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index