From 4d4956ea2f8df5f770f2137d8576afc6e5f161dd Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 15 Jan 2009 23:46:42 +0100 Subject: Add SPDIF/HDMI ALSA devices and device descriptions to device search table --- src/modules/alsa/module-alsa-sink.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/modules/alsa/module-alsa-sink.c') 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); -- cgit