Mailing List archive

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

[linux-dvb] statmux / sync / PTS demux handling in new head?



Dear list and developers,
I'm trying to debug why certain DVB-T channels in the UK seem to manage to get the av7110 stuck on decoding, maybe somone can help out.

It only happens at the start of the stream never anywhere in the middle - so it's basically the inital sync. Drivers in question are newstruct ever since it was forked (I've tried this out) - the "bug" then found it's way into the new head and remains there. I've also tested all firmwares from Jan 2002 (0.9.4) to April 2003 - it doesn't appear related. Whatever the firmware all that matters to reproduce this is the actual driver version. 0.9.4 and later old-struct up to HEAD work fine!

Both vdr and dvbstream -> latest ts2ps / ts2pes -> mplayer -ao/vo mpegpes show this issue, so I don't think it's any particular program causing this. What is known about the channels (namely BBC2, BBC3, BBC News24) is that they use statistical multiplexing i.e. a variable bitrate. Remuxing the stream with pvastrumento fixes the problem - but that's not really a solution for watching these channels live. pvastrumento reports that the first PTS is seen rather late into the stream, however a pesplot doesn't back this up. Although the screen remains black at all times, on decoding with a full featured card a split of a second of audio can be heard at exactly the point where pvastrumento reported the first PTS. This can be as late as 4 seconds into the stream, which might be so big a difference to the first picture to sync to that the decoder gives up.

As far as I know from earlier postings on this list the ff-cards use the first PTS to sync, DTS is apparently completely ignored for this matter. For a good introductory reference of what the two are and which I found helpful see: http://www.broadcastpapers.com/sigdis/TektronixMPEGGuide%20-%20streams02.htm

I've looked at various changes between old and newstruct in av7110.c, dvb_filter.c and dmxdev.c but I can't work out what exactly could have introduced the error. Some of the changes in dvb_filter like the new "init_mpg_picture" seem like the could come into question. I wish I had a better understanding of the code. Whatever I try to "retrofit" to oldstruct to isolate the problem further has so far failed. For examle av7110.c seems unlikely now after I've "backported" it to behave like dvb.c. However dxr3 decoders don't seem to have a problem with this - otherwise I'm sure we'd have heard more from DVB-T users around Europe having this problem.

So to cut a long story short: Has anyone a better idea as to why this would play back fine with a 0.9.4. driver with a firmware of your choosing (April 2003 if you like) and why doesn't anymore beginning with the earliest compiling newstruct up to CVS?:
http://www.mpex.net/riovolt/ptsprob-bbc2-pes.mpg (5,8 MB)

- Gregor



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



Home | Main Index | Thread Index