summaryrefslogtreecommitdiff
path: root/dxr3interface.c
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2009-02-23 07:37:49 +0100
committerChristian Gmeiner <christian.gmeiner@gmail.com>2009-02-23 07:37:49 +0100
commit8e3918bce7b2e1e0e23cab69334df52b58d10f4d (patch)
treefa39f91234e5d810aac097ddb08f598ad251b1f7 /dxr3interface.c
parent635a610cb7ca6a2b6d6a8d66a50e9f06ec31da8f (diff)
downloadvdr-plugin-dxr3-8e3918bce7b2e1e0e23cab69334df52b58d10f4d.tar.gz
vdr-plugin-dxr3-8e3918bce7b2e1e0e23cab69334df52b58d10f4d.tar.bz2
simplify audiochannel handling
Diffstat (limited to 'dxr3interface.c')
-rw-r--r--dxr3interface.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/dxr3interface.c b/dxr3interface.c
index 9eedf5c..8a9a523 100644
--- a/dxr3interface.c
+++ b/dxr3interface.c
@@ -192,17 +192,16 @@ void cDxr3Interface::SetAudioSpeed(uint32_t speed)
//! set number of channels
void cDxr3Interface::SetChannelCount(uint32_t count)
{
+ // 0 = mono, 1 = stereo
+ uint32_t ioval = count - 1;
+
if (!m_ExternalReleased && m_audioMode != EM8300_AUDIOMODE_DIGITALAC3 &&
- m_audioChannelCount != count && count != UNKNOWN_CHANNEL_COUNT)
- {
- if (ioctl(m_fdAudio, SNDCTL_DSP_STEREO, &count) == -1)
- {
- esyslog("dxr3: unable to set channel count to %d: %m", count);
- }
- else
- {
- m_audioChannelCount = count;
- }
+ m_audioChannelCount != count) {
+ if (ioctl(m_fdAudio, SNDCTL_DSP_STEREO, &ioval) == -1) {
+ esyslog("dxr3: unable to set channel count to %d: %m", count);
+ } else {
+ m_audioChannelCount = count;
+ }
}
}