try_ss.format = ss->format;
try_map = m->channel_map;
- pcm_handle = pa_alsa_open_by_device_string_strv(
+ pcm_handle = pa_alsa_open_by_template(
m->device_strings,
dev_id,
dev,
return NULL;
}
-snd_pcm_t *pa_alsa_open_by_device_string_strv(
- char **prefix,
+snd_pcm_t *pa_alsa_open_by_template(
+ char **template,
const char *dev_id,
char **dev,
pa_sample_spec *ss,
snd_pcm_t *pcm_handle;
char **i;
- for (i = prefix; *i; i++) {
+ for (i = template; *i; i++) {
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(
d,
/* Opens the explicit ALSA device */
snd_pcm_t *pa_alsa_open_by_device_string(
- const char *device,
+ const char *dir,
char **dev, /* modified at return */
pa_sample_spec *ss, /* modified at return */
pa_channel_map* map, /* modified at return */
pa_bool_t require_exact_channel_number);
/* Opens the explicit ALSA device with a fallback list */
-snd_pcm_t *pa_alsa_open_by_device_string_strv(
- char **device,
+snd_pcm_t *pa_alsa_open_by_template(
+ char **template,
const char *dev_id,
char **dev, /* modified at return */
pa_sample_spec *ss, /* modified at return */
auto-profiles = yes
[Mapping analog-mono]
-device-strings = hw
+device-strings = hw:%f
channel-map = 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
priority = 1
[Mapping analog-stereo]
-device-strings = front hw
+device-strings = front:%f hw:%f
channel-map = left,right
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
priority = 10
[Mapping analog-surround-40]
-device-strings = surround40
+device-strings = surround40:%f
channel-map = front-left,front-right,rear-left,rear-right
paths-output = analog-output analog-output-lfe-on-mono
priority = 7
direction = output
[Mapping analog-surround-41]
-device-strings = surround41
+device-strings = surround41:%f
channel-map = front-left,front-right,rear-left,rear-right,lfe
paths-output = analog-output analog-output-lfe-on-mono
priority = 8
direction = output
[Mapping analog-surround-50]
-device-strings = surround50
+device-strings = surround50:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center
paths-output = analog-output analog-output-lfe-on-mono
priority = 7
direction = output
[Mapping analog-surround-51]
-device-strings = surround51
+device-strings = surround51:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
paths-output = analog-output analog-output-lfe-on-mono
priority = 8
direction = output
[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
description = Analog Surround 7.1
paths-output = analog-output analog-output-lfe-on-mono
direction = output
[Mapping iec958-stereo]
-device-strings = iec958
+device-strings = iec958:%f
channel-map = left,right
priority = 5
[Mapping iec958-surround-40]
-device-strings = iec958
+device-strings = iec958:%f
channel-map = front-left,front-right,rear-left,rear-right
priority = 1
[Mapping iec958-ac3-surround-40]
-device-strings = a52
+device-strings = a52:%f
channel-map = front-left,front-right,rear-left,rear-right
priority = 2
direction = output
[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
priority = 3
direction = output
[Mapping hdmi-stereo]
-device-strings = hdmi
+device-strings = hdmi:%f
channel-map = left,right
priority = 4
direction = output