diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2005-02-13 14:26:37 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2005-02-13 14:26:37 +0100 |
commit | 84d57ed54d1d1d42e0ad0ac5ed0efe954fa740cf (patch) | |
tree | ff89e791267d7e6f2fdefdaee1eca0e76d4dc2f2 | |
parent | 28976bf276b27c06abdea22472dd60e48103a6e1 (diff) | |
download | vdr-84d57ed54d1d1d42e0ad0ac5ed0efe954fa740cf.tar.gz vdr-84d57ed54d1d1d42e0ad0ac5ed0efe954fa740cf.tar.bz2 |
Implemented cDvbDevice::SetTransferModeForDolbyDigital()
-rw-r--r-- | HISTORY | 3 | ||||
-rw-r--r-- | dvbdevice.c | 10 | ||||
-rw-r--r-- | dvbdevice.h | 5 |
3 files changed, 16 insertions, 2 deletions
@@ -3410,3 +3410,6 @@ Video Disk Recorder Revision History library files from this version of VDR (suggested by Andreas Brachold). - Added a missing 'resultSkipped = 0' to cRemux::Clear() (thanks to Marco Schlüßler for reporting this one). +- The new function cDvbDevice::SetTransferModeForDolbyDigital() can be used by + plugins that implement Dolby Digital output and thus want to prevent the cDvbDevice + from starting Transfer Mode in order to replay DD over the DVB device. diff --git a/dvbdevice.c b/dvbdevice.c index 5659c515..741848a8 100644 --- a/dvbdevice.c +++ b/dvbdevice.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbdevice.c 1.119 2005/02/08 14:07:16 kls Exp $ + * $Id: dvbdevice.c 1.120 2005/02/13 14:26:37 kls Exp $ */ #include "dvbdevice.h" @@ -346,6 +346,7 @@ void cDvbTuner::Action(void) // --- cDvbDevice ------------------------------------------------------------ int cDvbDevice::devVideoOffset = -1; +bool cDvbDevice::setTransferModeForDolbyDigital = true; cDvbDevice::cDvbDevice(int n) { @@ -861,6 +862,11 @@ void cDvbDevice::SetDigitalAudioDevice(bool On) } } +void cDvbDevice::SetTransferModeForDolbyDigital(bool On) +{ + setTransferModeForDolbyDigital = On; +} + void cDvbDevice::SetAudioTrackDevice(eTrackType Type) { const tTrackId *TrackId = GetTrack(Type); @@ -872,6 +878,8 @@ void cDvbDevice::SetAudioTrackDevice(eTrackType Type) } } else if (IS_DOLBY_TRACK(Type)) { + if (!setTransferModeForDolbyDigital) + return; // Currently this works only in Transfer Mode cChannel *Channel = Channels.GetByNumber(CurrentChannel()); if (Channel) diff --git a/dvbdevice.h b/dvbdevice.h index 233515d8..99456e73 100644 --- a/dvbdevice.h +++ b/dvbdevice.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbdevice.h 1.32 2005/01/06 13:30:51 kls Exp $ + * $Id: dvbdevice.h 1.33 2005/02/13 14:14:31 kls Exp $ */ #ifndef __DVBDEVICE_H @@ -99,11 +99,14 @@ protected: private: bool digitalAudio; + static bool setTransferModeForDolbyDigital; protected: virtual int GetAudioChannelDevice(void); virtual void SetAudioChannelDevice(int AudioChannel); virtual void SetVolumeDevice(int Volume); virtual void SetDigitalAudioDevice(bool On); +public: + static void SetTransferModeForDolbyDigital(bool On); // Player facilities |