diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-02-04 22:26:08 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-02-04 22:26:08 +0100 |
commit | 12c29e18329ac7928f16d613c6fbd7b94472fae8 (patch) | |
tree | 13384e4000e03dacb87a68d684ced750f6cd051f | |
parent | 9e2a2f88df45dc709ba4867b888fad948aea8e36 (diff) |
store the identification key in the module-stream-restore.id property
-rw-r--r-- | src/modules/module-stream-restore.c | 18 |
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) { |