summaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2009-02-04 22:26:08 +0100
committerLennart Poettering <lennart@poettering.net>2009-02-04 22:26:08 +0100
commit12c29e18329ac7928f16d613c6fbd7b94472fae8 (patch)
tree13384e4000e03dacb87a68d684ced750f6cd051f /src/modules
parent9e2a2f88df45dc709ba4867b888fad948aea8e36 (diff)
store the identification key in the module-stream-restore.id property
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/module-stream-restore.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/modules/module-stream-restore.c b/src/modules/module-stream-restore.c
index b1630fe1..2dd2045e 100644
--- a/src/modules/module-stream-restore.c
+++ b/src/modules/module-stream-restore.c
@@ -62,6 +62,7 @@ PA_MODULE_USAGE(
"restore_muted=<Save/restore muted states?>");
#define SAVE_INTERVAL 10
+#define IDENTIFICATION_PROPERTY "module-stream-restore.id"
static const char* const valid_modargs[] = {
"restore_device",
@@ -129,20 +130,27 @@ static void save_time_callback(pa_mainloop_api*a, pa_time_event* e, const struct
static char *get_name(pa_proplist *p, const char *prefix) {
const char *r;
+ char *t;
if (!p)
return NULL;
+ if ((r = pa_proplist_gets(p, IDENTIFICATION_PROPERTY)))
+ return pa_xstrdup(r);
+
if ((r = pa_proplist_gets(p, PA_PROP_MEDIA_ROLE)))
- return pa_sprintf_malloc("%s-by-media-role:%s", prefix, r);
+ t = pa_sprintf_malloc("%s-by-media-role:%s", prefix, r);
else if ((r = pa_proplist_gets(p, PA_PROP_APPLICATION_ID)))
- return pa_sprintf_malloc("%s-by-application-id:%s", prefix, r);
+ t = pa_sprintf_malloc("%s-by-application-id:%s", prefix, r);
else if ((r = pa_proplist_gets(p, PA_PROP_APPLICATION_NAME)))
- return pa_sprintf_malloc("%s-by-application-name:%s", prefix, r);
+ t = pa_sprintf_malloc("%s-by-application-name:%s", prefix, r);
else if ((r = pa_proplist_gets(p, PA_PROP_MEDIA_NAME)))
- return pa_sprintf_malloc("%s-by-media-name:%s", prefix, r);
+ t = pa_sprintf_malloc("%s-by-media-name:%s", prefix, r);
+ else
+ t = pa_sprintf_malloc("%s-fallback:%s", prefix, r);
- return pa_sprintf_malloc("%s-fallback:%s", prefix, r);
+ pa_proplist_sets(p, IDENTIFICATION_PROPERTY, t);
+ return t;
}
static struct entry* read_entry(struct userdata *u, const char *name) {