summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2009-12-07 18:45:54 +0100
committerChristian Gmeiner <christian.gmeiner@gmail.com>2009-12-07 18:45:54 +0100
commit63420f67b52ff1536afcb3c817ccbdba19b263c4 (patch)
tree5108441049270dea4fe7b9d32f22eef3a554ac87
parent481aa2a974ec2d122af9da644662e7a4593b09a8 (diff)
downloadvdr-plugin-dxr3-63420f67b52ff1536afcb3c817ccbdba19b263c4.tar.gz
vdr-plugin-dxr3-63420f67b52ff1536afcb3c817ccbdba19b263c4.tar.bz2
add basic SetDigitalAudioDevice stub method
As analog audio is working with vdr-1.7 I will spend some time in fixing the digital audio part (digital pcm and ac3). I will fully review the digital audio code paths and I hope I can improve them.
-rw-r--r--dxr3audio.c5
-rw-r--r--dxr3audio.h6
-rw-r--r--dxr3device.c5
-rw-r--r--dxr3device.h1
4 files changed, 16 insertions, 1 deletions
diff --git a/dxr3audio.c b/dxr3audio.c
index e7e7cca..7cfbc50 100644
--- a/dxr3audio.c
+++ b/dxr3audio.c
@@ -29,6 +29,11 @@ const static int AUDIO_STEREO = 0;
const static int AUDIO_MONO_LEFT = 1;
const static int AUDIO_MONO_RIGHT = 2;
+iAudio::iAudio() : open(false), vol(0), audioChannel(0), digitalAudio(false)
+{
+ memset(&curContext, 0, sizeof(SampleContext));
+}
+
void iAudio::changeVolume(int16_t* pcmbuf, size_t size)
{
if (vol == 0) {
diff --git a/dxr3audio.h b/dxr3audio.h
index dc087cd..e6039d9 100644
--- a/dxr3audio.h
+++ b/dxr3audio.h
@@ -37,7 +37,7 @@ public:
Ac3,
};
- iAudio() : open(false), vol(0), audioChannel(0) { memset(&curContext, 0, sizeof(SampleContext)); }
+ iAudio();
virtual ~iAudio() {}
virtual void openDevice() = 0;
@@ -52,6 +52,9 @@ public:
void setAudioChannel(int channel) { audioChannel = channel; }
int getAudioChannel() { return audioChannel; }
+ virtual void setDigitalAudio(bool on) { digitalAudio = on; }
+ bool isDigitalAudio() { return digitalAudio; }
+
virtual void setAudioMode(AudioMode m) = 0;
AudioMode getAudioMode() { return mode; }
@@ -62,6 +65,7 @@ protected:
bool open;
int vol;
int audioChannel;
+ bool digitalAudio;
SampleContext curContext;
AudioMode mode;
};
diff --git a/dxr3device.c b/dxr3device.c
index 24a2c25..81936b8 100644
--- a/dxr3device.c
+++ b/dxr3device.c
@@ -258,6 +258,11 @@ int cDxr3Device::GetAudioChannelDevice()
return audioOut->getAudioChannel();
}
+void cDxr3Device::SetDigitalAudioDevice(bool on)
+{
+ audioOut->setDigitalAudio(on);
+}
+
// ==================================
// get spudecoder
cSpuDecoder *cDxr3Device::GetSpuDecoder()
diff --git a/dxr3device.h b/dxr3device.h
index b382910..6a775ad 100644
--- a/dxr3device.h
+++ b/dxr3device.h
@@ -68,6 +68,7 @@ public:
virtual void SetVolumeDevice(int Volume);
virtual void SetAudioChannelDevice(int AudioChannel);
virtual int GetAudioChannelDevice();
+ virtual void SetDigitalAudioDevice(bool on);
// osd
virtual cSpuDecoder *GetSpuDecoder();