mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-04 13:29:59 -05:00
make channel naming somewhat RFC2551 compliant
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@491 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
4ad2926eba
commit
f49b09df15
2 changed files with 27 additions and 14 deletions
|
|
@ -72,27 +72,26 @@ pa_channel_map* pa_channel_map_init_auto(pa_channel_map *m, unsigned channels) {
|
||||||
|
|
||||||
m->channels = channels;
|
m->channels = channels;
|
||||||
|
|
||||||
|
/* This is somewhat compatible with RFC3551 */
|
||||||
|
|
||||||
switch (channels) {
|
switch (channels) {
|
||||||
case 1:
|
case 1:
|
||||||
m->map[0] = PA_CHANNEL_POSITION_MONO;
|
m->map[0] = PA_CHANNEL_POSITION_MONO;
|
||||||
return m;
|
return m;
|
||||||
|
|
||||||
case 8:
|
|
||||||
m->map[6] = PA_CHANNEL_POSITION_SIDE_LEFT;
|
|
||||||
m->map[7] = PA_CHANNEL_POSITION_SIDE_RIGHT;
|
|
||||||
/* Fall through */
|
|
||||||
|
|
||||||
case 6:
|
case 6:
|
||||||
|
m->map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
|
||||||
|
m->map[1] = PA_CHANNEL_POSITION_SIDE_LEFT;
|
||||||
|
m->map[2] = PA_CHANNEL_POSITION_FRONT_CENTER;
|
||||||
|
m->map[3] = PA_CHANNEL_POSITION_FRONT_RIGHT;
|
||||||
|
m->map[4] = PA_CHANNEL_POSITION_SIDE_RIGHT;
|
||||||
m->map[5] = PA_CHANNEL_POSITION_LFE;
|
m->map[5] = PA_CHANNEL_POSITION_LFE;
|
||||||
/* Fall through */
|
return m;
|
||||||
|
|
||||||
case 5:
|
case 5:
|
||||||
m->map[4] = PA_CHANNEL_POSITION_FRONT_CENTER;
|
m->map[2] = PA_CHANNEL_POSITION_FRONT_CENTER;
|
||||||
/* Fall through */
|
m->map[3] = PA_CHANNEL_POSITION_REAR_LEFT;
|
||||||
|
m->map[4] = PA_CHANNEL_POSITION_REAR_RIGHT;
|
||||||
case 4:
|
|
||||||
m->map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
|
|
||||||
m->map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
|
|
||||||
/* Fall through */
|
/* Fall through */
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
|
|
@ -100,6 +99,19 @@ pa_channel_map* pa_channel_map_init_auto(pa_channel_map *m, unsigned channels) {
|
||||||
m->map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
|
m->map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
|
||||||
return m;
|
return m;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
m->map[0] = PA_CHANNEL_POSITION_LEFT;
|
||||||
|
m->map[1] = PA_CHANNEL_POSITION_RIGHT;
|
||||||
|
m->map[2] = PA_CHANNEL_POSITION_CENTER;
|
||||||
|
return m;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
m->map[0] = PA_CHANNEL_POSITION_LEFT;
|
||||||
|
m->map[1] = PA_CHANNEL_POSITION_CENTER;
|
||||||
|
m->map[2] = PA_CHANNEL_POSITION_RIGHT;
|
||||||
|
m->map[3] = PA_CHANNEL_POSITION_LFE;
|
||||||
|
return m;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,10 +36,11 @@ typedef enum {
|
||||||
|
|
||||||
PA_CHANNEL_POSITION_LEFT,
|
PA_CHANNEL_POSITION_LEFT,
|
||||||
PA_CHANNEL_POSITION_RIGHT,
|
PA_CHANNEL_POSITION_RIGHT,
|
||||||
|
PA_CHANNEL_POSITION_CENTER,
|
||||||
|
|
||||||
PA_CHANNEL_POSITION_FRONT_CENTER,
|
|
||||||
PA_CHANNEL_POSITION_FRONT_LEFT = PA_CHANNEL_POSITION_LEFT,
|
PA_CHANNEL_POSITION_FRONT_LEFT = PA_CHANNEL_POSITION_LEFT,
|
||||||
PA_CHANNEL_POSITION_FRONT_RIGHT = PA_CHANNEL_POSITION_RIGHT,
|
PA_CHANNEL_POSITION_FRONT_RIGHT = PA_CHANNEL_POSITION_RIGHT,
|
||||||
|
PA_CHANNEL_POSITION_FRONT_CENTER = PA_CHANNEL_POSITION_CENTER,
|
||||||
|
|
||||||
PA_CHANNEL_POSITION_REAR_CENTER,
|
PA_CHANNEL_POSITION_REAR_CENTER,
|
||||||
PA_CHANNEL_POSITION_REAR_LEFT,
|
PA_CHANNEL_POSITION_REAR_LEFT,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue