summaryrefslogtreecommitdiffstats
path: root/src/modules/alsa/module-alsa-sink.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/alsa/module-alsa-sink.c')
-rw-r--r--src/modules/alsa/module-alsa-sink.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/modules/alsa/module-alsa-sink.c b/src/modules/alsa/module-alsa-sink.c
index a3e818dd..dfa20557 100644
--- a/src/modules/alsa/module-alsa-sink.c
+++ b/src/modules/alsa/module-alsa-sink.c
@@ -1253,6 +1253,7 @@ int pa__init(pa_module*m) {
pa_bool_t use_mmap = TRUE, b, use_tsched = TRUE, d;
pa_usec_t usec;
pa_sink_new_data data;
+ const char *profile_description = NULL, *profile_name = NULL;
snd_pcm_info_alloca(&pcm_info);
@@ -1338,7 +1339,7 @@ int pa__init(pa_module*m) {
&ss, &map,
SND_PCM_STREAM_PLAYBACK,
&nfrags, &period_frames, tsched_frames,
- &b, &d)))
+ &b, &d, &profile_description, &profile_name)))
goto fail;
@@ -1358,6 +1359,9 @@ int pa__init(pa_module*m) {
pa_assert(u->device_name);
pa_log_info("Successfully opened device %s.", u->device_name);
+ if (profile_description)
+ pa_log_info("Selected configuration '%s' (%s).", profile_description, profile_name);
+
if (use_mmap && !b) {
pa_log_info("Device doesn't support mmap(), falling back to UNIX read/write mode.");
u->use_mmap = use_mmap = FALSE;
@@ -1441,6 +1445,11 @@ int pa__init(pa_module*m) {
pa_proplist_setf(data.proplist, PA_PROP_DEVICE_BUFFERING_FRAGMENT_SIZE, "%lu", (unsigned long) (period_frames * frame_size));
pa_proplist_sets(data.proplist, PA_PROP_DEVICE_ACCESS_MODE, u->use_tsched ? "mmap+timer" : (u->use_mmap ? "mmap" : "serial"));
+ if (profile_name)
+ pa_proplist_sets(data.proplist, PA_PROP_DEVICE_PROFILE_NAME, profile_name);
+ if (profile_description)
+ pa_proplist_sets(data.proplist, PA_PROP_DEVICE_PROFILE_DESCRIPTION, profile_description);
+
u->sink = pa_sink_new(m->core, &data, PA_SINK_HARDWARE|PA_SINK_LATENCY);
pa_sink_new_data_done(&data);
pa_xfree(name_buf);