alsa: allow placing device id in alsa device strings at arbitrary positions

This commit is contained in:
Lennart Poettering 2009-06-17 04:17:25 +02:00
parent 31575f7766
commit 334325efd7
4 changed files with 22 additions and 22 deletions

View file

@ -3179,7 +3179,7 @@ void pa_alsa_profile_set_probe(pa_alsa_profile_set *ps, const char *dev_id, cons
try_ss = *ss; try_ss = *ss;
try_ss.channels = try_map.channels; try_ss.channels = try_map.channels;
if (!(m ->output_pcm = pa_alsa_open_by_device_string_strv( if (!(m ->output_pcm = pa_alsa_open_by_template(
m->device_strings, m->device_strings,
dev_id, dev_id,
NULL, NULL,
@ -3203,7 +3203,7 @@ void pa_alsa_profile_set_probe(pa_alsa_profile_set *ps, const char *dev_id, cons
try_ss = *ss; try_ss = *ss;
try_ss.channels = try_map.channels; try_ss.channels = try_map.channels;
if (!(m ->input_pcm = pa_alsa_open_by_device_string_strv( if (!(m ->input_pcm = pa_alsa_open_by_template(
m->device_strings, m->device_strings,
dev_id, dev_id,
NULL, NULL,

View file

@ -514,7 +514,7 @@ snd_pcm_t *pa_alsa_open_by_device_id_mapping(
try_ss.format = ss->format; try_ss.format = ss->format;
try_map = m->channel_map; try_map = m->channel_map;
pcm_handle = pa_alsa_open_by_device_string_strv( pcm_handle = pa_alsa_open_by_template(
m->device_strings, m->device_strings,
dev_id, dev_id,
dev, dev,
@ -622,8 +622,8 @@ fail:
return NULL; return NULL;
} }
snd_pcm_t *pa_alsa_open_by_device_string_strv( snd_pcm_t *pa_alsa_open_by_template(
char **prefix, char **template,
const char *dev_id, const char *dev_id,
char **dev, char **dev,
pa_sample_spec *ss, pa_sample_spec *ss,
@ -639,10 +639,10 @@ snd_pcm_t *pa_alsa_open_by_device_string_strv(
snd_pcm_t *pcm_handle; snd_pcm_t *pcm_handle;
char **i; char **i;
for (i = prefix; *i; i++) { for (i = template; *i; i++) {
char *d; char *d;
d = pa_sprintf_malloc("%s:%s", *i, dev_id); d = pa_replace(*i, "%f", dev_id);
pcm_handle = pa_alsa_open_by_device_string( pcm_handle = pa_alsa_open_by_device_string(
d, d,

View file

@ -84,7 +84,7 @@ snd_pcm_t *pa_alsa_open_by_device_id_mapping(
/* Opens the explicit ALSA device */ /* Opens the explicit ALSA device */
snd_pcm_t *pa_alsa_open_by_device_string( snd_pcm_t *pa_alsa_open_by_device_string(
const char *device, const char *dir,
char **dev, /* modified at return */ char **dev, /* modified at return */
pa_sample_spec *ss, /* modified at return */ pa_sample_spec *ss, /* modified at return */
pa_channel_map* map, /* modified at return */ pa_channel_map* map, /* modified at return */
@ -97,8 +97,8 @@ snd_pcm_t *pa_alsa_open_by_device_string(
pa_bool_t require_exact_channel_number); pa_bool_t require_exact_channel_number);
/* Opens the explicit ALSA device with a fallback list */ /* Opens the explicit ALSA device with a fallback list */
snd_pcm_t *pa_alsa_open_by_device_string_strv( snd_pcm_t *pa_alsa_open_by_template(
char **device, char **template,
const char *dev_id, const char *dev_id,
char **dev, /* modified at return */ char **dev, /* modified at return */
pa_sample_spec *ss, /* modified at return */ pa_sample_spec *ss, /* modified at return */

View file

@ -22,49 +22,49 @@
auto-profiles = yes auto-profiles = yes
[Mapping analog-mono] [Mapping analog-mono]
device-strings = hw device-strings = hw:%f
channel-map = mono channel-map = mono
paths-output = analog-output analog-output-headphones analog-output-mono analog-output-lfe-on-mono paths-output = analog-output analog-output-headphones analog-output-mono analog-output-lfe-on-mono
paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line
priority = 1 priority = 1
[Mapping analog-stereo] [Mapping analog-stereo]
device-strings = front hw device-strings = front:%f hw:%f
channel-map = left,right channel-map = left,right
paths-output = analog-output analog-output-headphones analog-output-mono analog-output-lfe-on-mono paths-output = analog-output analog-output-headphones analog-output-mono analog-output-lfe-on-mono
paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line
priority = 10 priority = 10
[Mapping analog-surround-40] [Mapping analog-surround-40]
device-strings = surround40 device-strings = surround40:%f
channel-map = front-left,front-right,rear-left,rear-right channel-map = front-left,front-right,rear-left,rear-right
paths-output = analog-output analog-output-lfe-on-mono paths-output = analog-output analog-output-lfe-on-mono
priority = 7 priority = 7
direction = output direction = output
[Mapping analog-surround-41] [Mapping analog-surround-41]
device-strings = surround41 device-strings = surround41:%f
channel-map = front-left,front-right,rear-left,rear-right,lfe channel-map = front-left,front-right,rear-left,rear-right,lfe
paths-output = analog-output analog-output-lfe-on-mono paths-output = analog-output analog-output-lfe-on-mono
priority = 8 priority = 8
direction = output direction = output
[Mapping analog-surround-50] [Mapping analog-surround-50]
device-strings = surround50 device-strings = surround50:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center channel-map = front-left,front-right,rear-left,rear-right,front-center
paths-output = analog-output analog-output-lfe-on-mono paths-output = analog-output analog-output-lfe-on-mono
priority = 7 priority = 7
direction = output direction = output
[Mapping analog-surround-51] [Mapping analog-surround-51]
device-strings = surround51 device-strings = surround51:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
paths-output = analog-output analog-output-lfe-on-mono paths-output = analog-output analog-output-lfe-on-mono
priority = 8 priority = 8
direction = output direction = output
[Mapping analog-surround-71] [Mapping analog-surround-71]
device-strings = surround71 device-strings = surround71:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
description = Analog Surround 7.1 description = Analog Surround 7.1
paths-output = analog-output analog-output-lfe-on-mono paths-output = analog-output analog-output-lfe-on-mono
@ -72,29 +72,29 @@ priority = 7
direction = output direction = output
[Mapping iec958-stereo] [Mapping iec958-stereo]
device-strings = iec958 device-strings = iec958:%f
channel-map = left,right channel-map = left,right
priority = 5 priority = 5
[Mapping iec958-surround-40] [Mapping iec958-surround-40]
device-strings = iec958 device-strings = iec958:%f
channel-map = front-left,front-right,rear-left,rear-right channel-map = front-left,front-right,rear-left,rear-right
priority = 1 priority = 1
[Mapping iec958-ac3-surround-40] [Mapping iec958-ac3-surround-40]
device-strings = a52 device-strings = a52:%f
channel-map = front-left,front-right,rear-left,rear-right channel-map = front-left,front-right,rear-left,rear-right
priority = 2 priority = 2
direction = output direction = output
[Mapping iec958-ac3-surround-51] [Mapping iec958-ac3-surround-51]
device-strings = a52 device-strings = a52:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
priority = 3 priority = 3
direction = output direction = output
[Mapping hdmi-stereo] [Mapping hdmi-stereo]
device-strings = hdmi device-strings = hdmi:%f
channel-map = left,right channel-map = left,right
priority = 4 priority = 4
direction = output direction = output