Mailing List archive

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

[vdr] vdr-1.3.13 onwards: no useful data seen / UPT errors



On Tue, 2004-11-02 at 15:03, Oliver Endriss wrote:
> Laurence Abbott wrote:
> > > > Well, what I have just seen is this:
> > > > 
> > > > 12:28 Timer becomes active, channel switches, recording starts
> > > > 12:36 ERROR: no useful data seen within 10486640 byte of video stream
> > > > 12:36 Emergency exit; vdr restarts
> > > > 12:38 Another 'no useful data error' and another emergency exit;
> > > > 12:38 I kill vdr as it is restarting and switch to version 1.3.12
> > > > 13:05 Recording finishes without further problems
> > ...
> > Any suggestions of where to look for clues?
> 
> Maybe it would help if the "no useful data" from the driver could be
> dumped into a file. If someone would provide such a raw dump I'd have
> a look at it to find out whether it's a vdr or driver problem.

Cheers.

I'll see if I can work out which bit to dump but that will probably be
later once I get home.

My understanding of cRemux::Put in vdr-1.3.13 onwards is that it is
called with a buffer (data) containing Count TS packets. Initially, it
looks for a TS_SYNC_BYTE and gives a "skipped n bytes to sync" error if
it has to skip the first bit to find the sync byte (I think I sometimes
see these after switching channel).

The TS stream is converted into a PES stream and 'used' is incremented
by the packet size. If 'synced' is not set then the amount used is added
to the amount skipped. If the running total of 'skipped' is greater than
10 MB then the 'no useful data' error is given and vdr restarts.

Meanwhile, cRemux::Get scans the buffer for I_FRAME and sets the
'synced' flag once it does and also gives the UPT error if the type of
frame is unrecognised.

Am I correct in this understanding?

I had originally thought that the 'no useful data' error arose from a
contiguous chunk of bad data rather than a running total of all bad
data.

Adding a few printfs to cRemux::Put, I can watch Count, used and skipped
for each call. So far, I have seen the initial 1-4 calls to cRemux::Put
skipped and then skipped stays constant on 100-200 k for as long as I
have tested so far (this is in transfer mode). I'll try to do the same
to vdr-1.3.12 later to see if it gives anything drastically different.

Cheers,

Laz





Home | Main Index | Thread Index