[vlc-commits] PulseAudio: fix channels map order (untested)
Rémi Denis-Courmont
git at videolan.org
Sun Apr 3 16:57:24 CEST 2011
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sun Apr 3 17:56:57 2011 +0300| [a6274616f21886a1b025c62ac0bca30b165d3db8] | committer: Rémi Denis-Courmont
PulseAudio: fix channels map order (untested)
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a6274616f21886a1b025c62ac0bca30b165d3db8
---
modules/audio_output/pulse.c | 31 ++++++++++++++-----------------
1 files changed, 14 insertions(+), 17 deletions(-)
diff --git a/modules/audio_output/pulse.c b/modules/audio_output/pulse.c
index e1b84d6..afbc2ef 100644
--- a/modules/audio_output/pulse.c
+++ b/modules/audio_output/pulse.c
@@ -295,34 +295,31 @@ static int Open(vlc_object_t *obj)
return VLC_EGENERIC;
}
- /* Channel mapping */
+ /* Channel mapping (order defined in vlc_aout.h) */
struct pa_channel_map map;
map.channels = 0;
- if (aout->output.output.i_physical_channels & AOUT_CHAN_CENTER)
- {
- if (ss.channels == 1)
- map.map[map.channels++] = PA_CHANNEL_POSITION_MONO;
- else
- map.map[map.channels++] = PA_CHANNEL_POSITION_FRONT_CENTER;
- }
if (aout->output.output.i_physical_channels & AOUT_CHAN_LEFT)
map.map[map.channels++] = PA_CHANNEL_POSITION_FRONT_LEFT;
if (aout->output.output.i_physical_channels & AOUT_CHAN_RIGHT)
map.map[map.channels++] = PA_CHANNEL_POSITION_FRONT_RIGHT;
-
- if (aout->output.output.i_physical_channels & AOUT_CHAN_REARCENTER)
- map.map[map.channels++] = PA_CHANNEL_POSITION_REAR_CENTER;
- if (aout->output.output.i_physical_channels & AOUT_CHAN_REARLEFT)
- map.map[map.channels++] = PA_CHANNEL_POSITION_REAR_LEFT;
- if (aout->output.output.i_physical_channels & AOUT_CHAN_REARRIGHT)
- map.map[map.channels++] = PA_CHANNEL_POSITION_REAR_RIGHT;
-
if (aout->output.output.i_physical_channels & AOUT_CHAN_MIDDLELEFT)
map.map[map.channels++] = PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER;
if (aout->output.output.i_physical_channels & AOUT_CHAN_MIDDLERIGHT)
map.map[map.channels++] = PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER;
-
+ if (aout->output.output.i_physical_channels & AOUT_CHAN_REARLEFT)
+ map.map[map.channels++] = PA_CHANNEL_POSITION_REAR_LEFT;
+ if (aout->output.output.i_physical_channels & AOUT_CHAN_REARRIGHT)
+ map.map[map.channels++] = PA_CHANNEL_POSITION_REAR_RIGHT;
+ if (aout->output.output.i_physical_channels & AOUT_CHAN_REARCENTER)
+ map.map[map.channels++] = PA_CHANNEL_POSITION_REAR_CENTER;
+ if (aout->output.output.i_physical_channels & AOUT_CHAN_CENTER)
+ {
+ if (ss.channels == 1)
+ map.map[map.channels++] = PA_CHANNEL_POSITION_MONO;
+ else
+ map.map[map.channels++] = PA_CHANNEL_POSITION_FRONT_CENTER;
+ }
if (aout->output.output.i_physical_channels & AOUT_CHAN_LFE)
map.map[map.channels++] = PA_CHANNEL_POSITION_LFE;
More information about the vlc-commits
mailing list