Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] Re: Stream conversion from DVB-T buggy on VDR (all versions?)
At 17:11 13/01/2003, I wrote:
I have been playing around with the TS -> PS remux.c converter in vdr
where I believe the problem sits without much luck. Ultimately what one
wants to do is to try and integrate the working ts2ps routine from the DVB
driver's mpegtools or dvbstream (same thing) into vdr and see if that
fixes it. I believe however this might be fairly complicated to a novice
programmer like me who barely understands vdr's structure.
I did some more looking at code and luckily it seems the TS 2 PES with all
it's goodies like instant_repack etc. in mpegtools, dvbstream, tuxzap and
hence vdr are all very similar in structure. However I what I did notice:
vdr's handling of PTS is almost none-existing. Now I have not much of a
clue what PTS are good for but - google says something to do with
audio/video sync / jitters... that again does sound familiar if I look at
the picture :)
For example mpegtools, tuxzap and dvbstream do
if (p->mpeg == 2 && (p->flag2 & PTS_ONLY) &&
p->found < 14){
while (c < count && p->found < 14){
p->pts[p->found-9] = buf[c];
write_ipack(p, buf+c, 1);
c++;
p->found++;
}
whereas vdr would only do
if (mpeg == 2 && (flag2 & PTS_ONLY) && found < 14) {
while (c < Count && found < 14) {
write_ipack(Buf + c, 1);
c++;
found++;
}
Now could it be that this works for 99% of the streams but not 100% ?
From http://www.linuxdvb.tv/mailarchive/msg04156.html
Der Player beachtet die Timecodes der Pakete und sorgt dafür, daß sie
zum richtigen Zeitpunkt wiedergegeben werden.
Wenn eins fehlt, wird das alte Paket nochmal wiedergegeben (bzw. Bild
nochmal angezeigt), wenn eins zuviel ist, wird es verworfen.
[quick translation: the player looks at the timecodes [PTS i guess] and
makes sure they are played back at the right point in time. If one is
missing packet (or more so picture) will be repeated, if there's one too
much it's discarded]
Now this sounds very familiar to what I'm seeing in the b0rked stream.
I guess the way to test would be to implement that pts handling, but I'm
not quite sure where that array is defined. Experts: Would you rule it out
as cause or is this definitely something I should be going after?
I was looking at
http://www.linuxtv.org/mailinglists/linux-dvb/2001/08-2001/msg00583.html
and there it said something how the firmware also deals with PTS but can't
always make up for it if it's set wrong? Could this also explain the RTL
problem etc. - possibly going a bit too far here, I thought I had read
people managed to get those streams working with dvbstream / tuxzap and the
new firmware but not vdr?
- Gregor
--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe vdr" as subject.
Home |
Main Index |
Thread Index