add priority logic to find best default profile

This commit is contained in:
Lennart Poettering 2009-01-20 20:35:18 +01:00
parent b3a043fd31
commit 7368a6e6be
6 changed files with 43 additions and 15 deletions

View file

@ -495,62 +495,72 @@ static const struct pa_alsa_profile_info device_table[] = {
{{ 1, { PA_CHANNEL_POSITION_MONO }},
"hw",
"Analog Mono",
"analog-mono" },
"analog-mono",
1 },
{{ 2, { PA_CHANNEL_POSITION_LEFT, PA_CHANNEL_POSITION_RIGHT }},
"front",
"Analog Stereo",
"analog-stereo" },
"analog-stereo",
10 },
{{ 2, { PA_CHANNEL_POSITION_LEFT, PA_CHANNEL_POSITION_RIGHT }},
"iec958",
"IEC958 Digital Stereo",
"iec958-stereo" },
"iec958-stereo",
5 },
{{ 2, { PA_CHANNEL_POSITION_LEFT, PA_CHANNEL_POSITION_RIGHT }},
"hdmi",
"HDMI Digital Stereo",
"hdmi-stereo"},
"hdmi-stereo",
4 },
{{ 4, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT,
PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT }},
"surround40",
"Analog Surround 4.0",
"analog-surround-40" },
"analog-surround-40",
7 },
{{ 4, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT,
PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT }},
"a52",
"IEC958/AC3 Digital Surround 4.0",
"iec958-ac3-surround-40" },
"iec958-ac3-surround-40",
2 },
{{ 5, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT,
PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT,
PA_CHANNEL_POSITION_LFE }},
"surround41",
"Analog Surround 4.1",
"analog-surround-41"},
"analog-surround-41",
7 },
{{ 5, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT,
PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT,
PA_CHANNEL_POSITION_CENTER }},
"surround50",
"Analog Surround 5.0",
"analog-surround-50" },
"analog-surround-50",
7 },
{{ 6, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT,
PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT,
PA_CHANNEL_POSITION_CENTER, PA_CHANNEL_POSITION_LFE }},
"surround51",
"Analog Surround 5.1",
"analog-surround-51" },
"analog-surround-51",
8 },
{{ 6, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_CENTER,
PA_CHANNEL_POSITION_FRONT_RIGHT, PA_CHANNEL_POSITION_REAR_LEFT,
PA_CHANNEL_POSITION_REAR_RIGHT, PA_CHANNEL_POSITION_LFE}},
"a52",
"IEC958/AC3 Digital Surround 5.1",
"iec958-ac3-surround-51" },
"iec958-ac3-surround-51",
3 },
{{ 8, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT,
PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT,
@ -558,9 +568,10 @@ static const struct pa_alsa_profile_info device_table[] = {
PA_CHANNEL_POSITION_SIDE_LEFT, PA_CHANNEL_POSITION_SIDE_RIGHT }},
"surround71",
"Analog Surround 7.1",
"analog-surround-71" },
"analog-surround-71",
7 },
{{ 0, { 0 }}, NULL, NULL, NULL }
{{ 0, { 0 }}, NULL, NULL, NULL, 0 }
};
static pa_bool_t channel_map_superset(const pa_channel_map *a, const pa_channel_map *b) {