summaryrefslogtreecommitdiffstats
path: root/src/modules/alsa/alsa-source.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2009-02-24 11:29:35 +0100
committerLennart Poettering <lennart@poettering.net>2009-02-24 11:29:35 +0100
commit83148581830f6ed9740a6f82645d76c38e43a600 (patch)
tree871f0a36d8ef9844c3e2242e5ca1f2dd878196ab /src/modules/alsa/alsa-source.c
parent03ac71bcad97f013f1fc7b5ec65f642be437d65b (diff)
set reserve interface application device name
Diffstat (limited to 'src/modules/alsa/alsa-source.c')
-rw-r--r--src/modules/alsa/alsa-source.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c
index 2f0e94cf..39df4a91 100644
--- a/src/modules/alsa/alsa-source.c
+++ b/src/modules/alsa/alsa-source.c
@@ -132,6 +132,17 @@ static void reserve_done(struct userdata *u) {
}
}
+static void reserve_update(struct userdata *u) {
+ const char *description;
+ pa_assert(u);
+
+ if (!u->source)
+ return;
+
+ if ((description = pa_proplist_gets(u->source->proplist, PA_PROP_DEVICE_DESCRIPTION)))
+ pa_reserve_wrapper_set_application_device_name(u->reserve, description);
+}
+
static int reserve_init(struct userdata *u, const char *dname) {
char *rname;
@@ -151,6 +162,8 @@ static int reserve_init(struct userdata *u, const char *dname) {
if (!(u->reserve))
return -1;
+ reserve_update(u);
+
pa_assert(!u->reserve_slot);
u->reserve_slot = pa_hook_connect(pa_reserve_wrapper_hook(u->reserve), PA_HOOK_NORMAL, (pa_hook_cb_t) reserve_cb, u);
@@ -1522,6 +1535,8 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p
pa_log_info("Time scheduling watermark is %0.2fms",
(double) pa_bytes_to_usec(u->tsched_watermark, &ss) / PA_USEC_PER_MSEC);
+ reserve_update(u);
+
if (update_sw_params(u) < 0)
goto fail;