pa_channel_map map;\r
pa_channel_map_init(&map);\r
/* XXX: need to check 7.1 */\r
- map.channels = 6;\r
- map.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;\r
- map.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;\r
- map.map[2] = PA_CHANNEL_POSITION_FRONT_CENTER;\r
- map.map[3] = PA_CHANNEL_POSITION_LFE;\r
- map.map[4] = PA_CHANNEL_POSITION_REAR_LEFT;\r
- map.map[5] = PA_CHANNEL_POSITION_REAR_RIGHT;\r
+ map.channels = channels;\r
+\r
+ if (channels > 0) {\r
+ map.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;\r
+ }\r
+ if (channels > 1) {\r
+ map.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;\r
+ }\r
+ if (channels > 2) {\r
+ map.map[2] = PA_CHANNEL_POSITION_FRONT_CENTER;\r
+ }\r
+ if (channels > 3) {\r
+ map.map[3] = PA_CHANNEL_POSITION_LFE;\r
+ }\r
+ if (channels > 4) {\r
+ map.map[4] = PA_CHANNEL_POSITION_REAR_LEFT;\r
+ }\r
+ if (channels > 5) {\r
+ map.map[5] = PA_CHANNEL_POSITION_REAR_RIGHT;\r
+ }\r
\r
pah->s_play = pa_simple_new( NULL, streamName.c_str(), PA_STREAM_PLAYBACK, NULL, "Playback", &ss, &map, NULL, &error );\r
if ( !pah->s_play ) {\r