diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-07-11 22:20:08 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-07-11 22:20:08 +0000 |
commit | 216591d95e00a0cb771088dad9a752efead55e10 (patch) | |
tree | 5758e5a203f2db6cda624efbbd644feefa048704 /src/modargs.c | |
parent | a96ed347a30fdc7494b96542c0ad8a19ef178b25 (diff) |
make the protocol plugins make use of modargs
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@62 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/modargs.c')
-rw-r--r-- | src/modargs.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/modargs.c b/src/modargs.c index a7b48808..a716a80e 100644 --- a/src/modargs.c +++ b/src/modargs.c @@ -7,6 +7,9 @@ #include "modargs.h" #include "idxset.h" #include "sample-util.h" +#include "namereg.h" +#include "sink.h" +#include "source.h" struct pa_modargs; @@ -220,3 +223,37 @@ int pa_modargs_get_sample_spec(struct pa_modargs *ma, struct pa_sample_spec *rss return 0; } + +int pa_modargs_get_source_index(struct pa_modargs *ma, struct pa_core *c, uint32_t *index) { + const char *t; + assert(ma && index); + + if (!(t = pa_modargs_get_value(ma, "source", NULL))) + *index = PA_IDXSET_INVALID; + else { + struct pa_source *source; + if (!(source = pa_namereg_get(c, t, PA_NAMEREG_SOURCE))) + return -1; + + *index = source->index; + } + + return 0; +} + +int pa_modargs_get_sink_index(struct pa_modargs *ma, struct pa_core *c, uint32_t *index) { + const char *t; + assert(ma && index); + + if (!(t = pa_modargs_get_value(ma, "sink", NULL))) + *index = PA_IDXSET_INVALID; + else { + struct pa_sink *sink; + if (!(sink = pa_namereg_get(c, t, PA_NAMEREG_SINK))) + return -1; + + *index = sink->index; + } + + return 0; +} |