[MPlayer-cvslog] Re: r21619 - in trunk/stream: stream_dvdnav.c stream_dvdnav.h

Joakim Plate elupus at ecce.se
Sat Dec 16 00:01:45 CET 2006


Nico Sabbi <nicola_sabbi <at> fastwebnet.it> writes:

>
> but in this case LPCM streams should be in the range A0..A7, are they?
> 

Well, i've never stumbled on any that had any outside that range. Given that
dvd's by specification only allows 8 audio streams, having a larger range for
one type is just odd. I'm pretty sure the spec want's to keep it simple :), oh
and 

oh and now you will also stumble on one of the bugs in libdvdnav.
dvdnav_get_audio_logical_stream actually doesn't do what it is supposed to do
(acording to docs and parameter naming). it actually returns the physical stream
for the given logical stream that is passed as an argument (ie the opposite) of 
what you want. only way around it is to fix libdvdnav or read the virtual
machine yourself.

you have physical, logical can be retrieved like this
for(i=0;i<8;i++)
{
  phys = (vm->state).pgc->audio_control[logical]
  if(phys & (1<<15))
    if( (phys & 0x7) = physical )
      return audioN;
}


/Joakim





More information about the MPlayer-cvslog mailing list