diff options
author | Christian Gmeiner <christian.gmeiner@gmail.com> | 2009-02-25 07:42:03 +0100 |
---|---|---|
committer | Christian Gmeiner <christian.gmeiner@gmail.com> | 2009-02-25 07:42:03 +0100 |
commit | 81b574d4f37cdc390def2f78fd5d5cb6484b4a3f (patch) | |
tree | 315c9085dff2f85a495ce01478774beee8877472 /dxr3audio.c | |
parent | 80e640c072b80590b3cc818e25a80589f515f4a4 (diff) | |
download | vdr-plugin-dxr3-81b574d4f37cdc390def2f78fd5d5cb6484b4a3f.tar.gz vdr-plugin-dxr3-81b574d4f37cdc390def2f78fd5d5cb6484b4a3f.tar.bz2 |
fix audio resampling
Split up the process of audio resampling. First, change the sound levels.
Second, respect audio channel setting.
Diffstat (limited to 'dxr3audio.c')
-rw-r--r-- | dxr3audio.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/dxr3audio.c b/dxr3audio.c index e2daa71..d0d71d2 100644 --- a/dxr3audio.c +++ b/dxr3audio.c @@ -29,8 +29,8 @@ const static int AUDIO_STEREO = 0; const static int AUDIO_MONO_LEFT = 1; const static int AUDIO_MONO_RIGHT = 2; -void iAudio::changeVolume(int16_t* pcmbuf, size_t size) { - +void iAudio::changeVolume(int16_t* pcmbuf, size_t size) +{ if (vol == 0) { memset(pcmbuf, 0, size); } else if (vol < MAXVOLUME) { @@ -44,23 +44,23 @@ void iAudio::changeVolume(int16_t* pcmbuf, size_t size) { pcmbuf++; size--; } + } - // respect audio channel setting - if (audioChannel == AUDIO_STEREO) - return; + // respect audio channel setting + if (audioChannel == AUDIO_STEREO) + return; - if (audioChannel == AUDIO_MONO_RIGHT) { + if (audioChannel == AUDIO_MONO_RIGHT) { - for (unsigned int i = 0; i < size / sizeof(short); i++) { - if (!(i & 0x1)) - pcmbuf[i] = pcmbuf[i+1]; - } - } else if (audioChannel == AUDIO_MONO_LEFT) { + for (unsigned int i = 0; i < size / sizeof(short); i++) { + if (!(i & 0x1)) + pcmbuf[i] = pcmbuf[i+1]; + } + } else if (audioChannel == AUDIO_MONO_LEFT) { - for (unsigned int i = 0; i < size / sizeof(short); i++) { - if ((i & 0x1)) - pcmbuf[i] = pcmbuf[i-1]; - } + for (unsigned int i = 0; i < size / sizeof(short); i++) { + if ((i & 0x1)) + pcmbuf[i] = pcmbuf[i-1]; } } } |