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 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.



Home | Main Index | Thread Index