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.
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)
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)
Can you try attached patch.
Yes thats a softdevice problem. I thought that it works, but obviously it doesn't. Currently I'm looking at that issue.
Stefan Lucke a écrit :
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)
Can you try attached patch.
Yes thats a softdevice problem. I thought that it works, but obviously it doesn't. Currently I'm looking at that issue.
? .dependencies Index: mpeg2decoder.c =================================================================== RCS file: /cvsroot/softdevice/softdevice/mpeg2decoder.c,v retrieving revision 1.16 diff -r1.16 mpeg2decoder.c 306c306,308
< uint64_t cAudioStreamDecoder::GetPTS()
/* --------------------------------------------------------------------------- */ uint64_t cAudioStreamDecoder::GetPTS()
309c311,324
< };
}
/* --------------------------------------------------------------------------- */ void cAudioStreamDecoder::setStreamId(int id) { /* -------------------------------------------------------------------------
- don't hook on DD stream
*/ if (id != 0x01bd) { streamID = id; } }
310a326,327
/* --------------------------------------------------------------------------- */
1232a1250
aout->setStreamId(Data[2]<<8|Data[3]);
Index: mpeg2decoder.h
RCS file: /cvsroot/softdevice/softdevice/mpeg2decoder.h,v retrieving revision 1.12 diff -r1.12 mpeg2decoder.h 105a106,107
virtual void setStreamId (int id) {return;};
120a123
virtual void setStreamId (int id);
Index: softdevice.c
RCS file: /cvsroot/softdevice/softdevice/softdevice.c,v retrieving revision 1.16 diff -r1.16 softdevice.c 287a288,293
virtual void SetDigitalAudioDevice(bool On);
protected: virtual void SetAudioTrackDevice(eTrackType Type);
public:
575a582,595
}
/* ---------------------------------------------------------------------------- */ void cSoftDevice::SetAudioTrackDevice(eTrackType Type) { //fprintf (stderr, "[SetAudioTrackDevice] (%d)\n",Type); }
/* ---------------------------------------------------------------------------- */ void cSoftDevice::SetDigitalAudioDevice(bool On) { //fprintf (stderr, "[SetDigitalAudioDevice] (%s)\n",(On)? "TRUE":"FALSE");
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
I have try this patch, and it works like a charm! ;)
Thanks very very much, and once again, good work!
Sad