[vdr] Re: softdevice and audio selection

Stefan Lucke stefan at lucke.in-berlin.de
Sat Mar 5 09:29:32 CET 2005


On Samstag, 5. März 2005 08:13, Stefan Lucke wrote:
> On Freitag, 4. März 2005 21:38, Sad wrote:
> 
> > Thanks for that great plugin! ;)
> > 
> > BTW, I don't really know if it is softdevice related, but I can't get 
> > the second audio channel on my laptop PC using softdevice, while I can 
> > have it on my Xbox using xine-plugin + df_xine ... (that's why I think 
> > it is softdevice related)
> 
> Yes thats a softdevice problem. I thought that it works, but obviously
> it doesn't. Currently I'm looking at that issue.

I can detect audio streamid from stream but I'm a bit confused by 
vdr device.c:

bool cDevice::SetCurrentAudioTrack(eTrackType Type)
{
  if (ttNone < Type && Type < ttDolbyLast) {
     if (IS_DOLBY_TRACK(Type))
        SetDigitalAudioDevice(true);
     currentAudioTrack = Type;
     if (player) {
fprintf(stderr,"player set audio track\n");
        player->SetAudioTrack(currentAudioTrack, GetTrack(currentAudioTrack));
     }//else{
fprintf(stderr,"NON player set audio track device\n");

        SetAudioTrackDevice(currentAudioTrack);
       // }
     if (IS_AUDIO_TRACK(Type))
        SetDigitalAudioDevice(false);
     return true;
     }
  return false;
}

Only player is called for SetAudioTrack () (unmodified vdr) but softdevice
is called for SetDigitalAudioDevice() only . With modification from above 
softdevice is called for SetAudiTrackDevice () too. Getting informed about
audio change would be better than guessing from stream.

player set audio track
NON player set audio track device
[SetAudioTrackDevice] (1)
[SetDigitalAudioDevice] (FALSE)
player set audio track
NON player set audio track device
[SetAudioTrackDevice] (2)
[SetDigitalAudioDevice] (FALSE)


-- 
Stefan Lucke




More information about the vdr mailing list