[pulseaudio-discuss] [PATCH, repost] "sink_description" option for module-remap-sink
Jan Kasprzak
kas at fi.muni.cz
Tue Jun 2 01:56:42 PDT 2009
[ this is a repost of the patch - I have not received either positive
or negative feedback so far. Please tell me whether this enhancement
is worth including. The patch is against current git head of PA ]
When I split the 8-channel output to four independent stereo sinks
(as described in http://pulseaudio.org/wiki/Modules), the new sinks
are all visible in pavucontrol under the same label (which is
"Remapped <the original sink name>"), so it is not clear which one
user wants to use. One possible way is to fix pavucontrol to use
sink names, the other one is to make description configurable
in module-remap-sink. This patch implements the second approach.
Signed-off-by: Jan "Yenya" Kasprzak <kas at fi.muni.cz>
---
src/modules/module-remap-sink.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/modules/module-remap-sink.c b/src/modules/module-remap-sink.c
index 119f5b9..54018cc 100644
--- a/src/modules/module-remap-sink.c
+++ b/src/modules/module-remap-sink.c
@@ -45,6 +45,7 @@ PA_MODULE_LOAD_ONCE(FALSE);
PA_MODULE_USAGE(
"sink_name=<name for the sink> "
"sink_properties=<properties for the sink> "
+ "sink_description=<textual description of the sink> "
"master=<name of sink to remap> "
"master_channel_map=<channel map> "
"format=<sample format> "
@@ -64,6 +65,7 @@ struct userdata {
static const char* const valid_modargs[] = {
"sink_name",
"sink_properties",
+ "sink_description",
"master",
"master_channel_map",
"format",
@@ -351,8 +353,12 @@ int pa__init(pa_module*m) {
sink_data.name = pa_sprintf_malloc("%s.remapped", master->name);
pa_sink_new_data_set_sample_spec(&sink_data, &ss);
pa_sink_new_data_set_channel_map(&sink_data, &sink_map);
- k = pa_proplist_gets(master->proplist, PA_PROP_DEVICE_DESCRIPTION);
- pa_proplist_setf(sink_data.proplist, PA_PROP_DEVICE_DESCRIPTION, "Remapped %s", k ? k : master->name);
+ if ((k = pa_modargs_get_value(ma, "sink_description", NULL))) {
+ pa_proplist_sets(sink_data.proplist, PA_PROP_DEVICE_DESCRIPTION, k);
+ } else {
+ k = pa_proplist_gets(master->proplist, PA_PROP_DEVICE_DESCRIPTION);
+ pa_proplist_setf(sink_data.proplist, PA_PROP_DEVICE_DESCRIPTION, "Remapped %s", k ? k : master->name);
+ }
pa_proplist_sets(sink_data.proplist, PA_PROP_DEVICE_MASTER_DEVICE, master->name);
pa_proplist_sets(sink_data.proplist, PA_PROP_DEVICE_CLASS, "filter");
--
1.6.0.6
--
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/ Journal: http://www.fi.muni.cz/~kas/blog/ |
>> If we wanted to trade simplicity and kewl design for usability I think <<
>> we all know the URL of the Apple Store. --jmorris42 @LWN <<
More information about the pulseaudio-discuss
mailing list