summaryrefslogtreecommitdiffstats
path: root/src/modules/module-esound-sink.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2009-05-28 02:39:22 +0200
committerLennart Poettering <lennart@poettering.net>2009-05-28 02:39:22 +0200
commit1c4393acf0a641a4f462cfa6c368d23d9e55a1b8 (patch)
treed6c28d7e2c0ada5c091c404f0d6144aebafe4c04 /src/modules/module-esound-sink.c
parent208862698e8ebf6bebfd9a07e4cc4b43b3cd0d96 (diff)
modules: add {sink|source|card}_properties argument to all modules
Diffstat (limited to 'src/modules/module-esound-sink.c')
-rw-r--r--src/modules/module-esound-sink.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/modules/module-esound-sink.c b/src/modules/module-esound-sink.c
index a1a783aa..8cb25c51 100644
--- a/src/modules/module-esound-sink.c
+++ b/src/modules/module-esound-sink.c
@@ -68,10 +68,11 @@ PA_MODULE_VERSION(PACKAGE_VERSION);
PA_MODULE_LOAD_ONCE(FALSE);
PA_MODULE_USAGE(
"sink_name=<name for the sink> "
+ "sink_properties=<properties for the sink> "
"server=<address> cookie=<filename> "
"format=<sample format> "
- "channels=<number of channels> "
- "rate=<sample rate>");
+ "rate=<sample rate> "
+ "channels=<number of channels>");
#define DEFAULT_SINK_NAME "esound_out"
@@ -118,12 +119,13 @@ struct userdata {
};
static const char* const valid_modargs[] = {
+ "sink_name",
+ "sink_properties",
"server",
"cookie",
- "rate",
"format",
+ "rate",
"channels",
- "sink_name",
NULL
};
@@ -586,6 +588,12 @@ int pa__init(pa_module*m) {
pa_proplist_sets(data.proplist, PA_PROP_DEVICE_API, "esd");
pa_proplist_setf(data.proplist, PA_PROP_DEVICE_DESCRIPTION, "EsounD Output on %s", espeaker);
+ if (pa_modargs_get_proplist(ma, "sink_properties", data.proplist, PA_UPDATE_REPLACE) < 0) {
+ pa_log("Invalid properties");
+ pa_sink_new_data_done(&data);
+ goto fail;
+ }
+
u->sink = pa_sink_new(m->core, &data, PA_SINK_LATENCY|PA_SINK_NETWORK);
pa_sink_new_data_done(&data);