[MPlayer-dev-eng] [PATCH] Make all subtitles availiable

Lehel Bernadt lehel at pmc-services.hu
Sun Dec 10 19:54:17 CET 2006


On Sunday 10 December 2006 18:59, Reimar Döffinger wrote:
> Hello,
>
> On Sun, Dec 10, 2006 at 06:37:41PM +0100, Nico Sabbi wrote:
> > Reimar Döffinger wrote:
> > >Hello,
> > >
> > >On Sun, Dec 10, 2006 at 05:43:14PM +0100, Nico Sabbi wrote:
> > >>nothing else than aligning all demuxers and streams to map subtitles
> > >>the same way, or -even better- adding a subtitles super-manager to
> > >>hide subs ids and languages from demuxers and streams
> > >
> > >Well, why would that be needed assuming the values printed by -identify
> > >are right? Or are they still actually some random numbers?
> >
> > they may not be random but surely they are mapped differently among
> > streams and demuxers
>
> What I meant is identify gives something like this:
> > subtitle ( sid ): 0 language: de
> > ID_SUBTITLE_ID=0
> > ID_SID_0_LANG=de
> > subtitle ( sid ): 1 language: en
> > ID_SUBTITLE_ID=1
> > ID_SID_1_LANG=en
>
> Assuming they are correct, all we would have to do is set dvdsub_id
> (which is exactly what -sid does) and in the worst case "restart" from
> some earlier place in mplayer.c.
> If that does not work, then -sid would not work as these messages
> advertise and they should be removed or at least changed.
> I really seriously need some broken DVDs to find out wtf. is going on
> here.

Ehmm... i think you misunderstand something. Right now, dvdsub_id is set 
from -sid. And this number is given to the dvd demuxer, as a subtitle stream 
id. The problem is, in the DVD spec, sid is not a subtitle stream id... it's 
an index into an array.
This array kind of looks like this: sub[sid] = stream_id
It might be that for all your DVDs, sub[N] = N, and in this case the present 
code works fine, since the sid number maps to the same stream number.
For other DVDs, that might not be the case. But these DVDs are not broken! 
Mplayer is what's broken :)
So if you want to "broke" one of your DVDs, copy it to the hard disk, get 
PGCEdit, double click on one of the titles, and at the "Sub-picture VOB's 
Decoding Streams" exchange the mappings for some of the streams, and save the 
result.




More information about the MPlayer-dev-eng mailing list