[MPlayer-dev-eng] PVA demuxer fix for MultiDec files
Matteo Giani
matgiani at ctonet.it
Mon Sep 23 21:58:13 CEST 2002
Hi all. Great news (at least for me, I don't know how many of you guys
care about this... :-) ). After about a month of fighting against this
ugly bug I've finally overcome it.
It was indeed a MultiDec bug, in that it did not correctly set the flags
in the PVA packet headers as well as the ones inside the PES headers.
To get it simple, in a PVA file the audio PES packets contained in the
audio stream are aligned to the starts of PVA container packets. There
is a flag in each PVA packet header that tells whether a new PES packet
starts there or not, so that one can tell if he has to parse the PES
header. MultiDec simply did not set it for about half of the PES
packets, which is why the audio stream ran about twice as fast as the
video stream.
Moreover, the same PES packets that are not signalled in the PVA headers
do NOT contain valid PTS information, nonetheless the "PTS" PES header
flag WAS SET.
I must admit I did have to introduce quite a hack to get those files
running, and I'll have to tidy up the code a little bit before I submit
a patch (hopefully tonight or tomorrow).
This message was just to let you know that we can soon remove the
"BROKEN" from those PVA files... :-).
So, Arpi was right about the part that the audio stream ran twice as
fast: about half of the data was discarded!!!
ah, I've already bought the 10 liters of cola I deserve to drink for
those stoooooopid bugs that caused Dominik's problem. Sorry all. It was
interesting though that his files ran file on my system even _before_
the patch, as I had told him. Anybody have an explanation for it ? Could
it just be the different compiler?
Cheers.
Matteo
More information about the MPlayer-dev-eng
mailing list