]> code.delx.au - pulseaudio/commitdiff
make proplist inheritance scheme automatic and implicit
authorLennart Poettering <lennart@poettering.net>
Thu, 15 Jan 2009 19:27:07 +0000 (20:27 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 15 Jan 2009 19:27:07 +0000 (20:27 +0100)
src/pulsecore/protocol-esound.c
src/pulsecore/protocol-native.c
src/pulsecore/sink-input.c
src/pulsecore/sink.c
src/pulsecore/source-output.c
src/pulsecore/source.c

index 97d10df5964c57649de26582d2a90158e67f352d..b1d390948906b4782c88e2d9387a3a0a10b03aa6 100644 (file)
@@ -422,7 +422,6 @@ static int esd_proto_stream_play(connection *c, esd_proto_t request, const void
     sdata.module = c->options->module;
     sdata.client = c->client;
     sdata.sink = sink;
-    pa_proplist_update(sdata.proplist, PA_UPDATE_MERGE, c->client->proplist);
     pa_sink_input_new_data_set_sample_spec(&sdata, &ss);
 
     c->sink_input = pa_sink_input_new(c->protocol->core, &sdata, 0);
@@ -525,7 +524,6 @@ static int esd_proto_stream_record(connection *c, esd_proto_t request, const voi
     sdata.module = c->options->module;
     sdata.client = c->client;
     sdata.source = source;
-    pa_proplist_update(sdata.proplist, PA_UPDATE_MERGE, c->client->proplist);
     pa_source_output_new_data_set_sample_spec(&sdata, &ss);
 
     c->source_output = pa_source_output_new(c->protocol->core, &sdata, 0);
index 21797527e971c7cac07a20f15154106dccc5a271..0a070f47b6f8de5a892b7ae5e6beab14b301023d 100644 (file)
@@ -601,7 +601,6 @@ static record_stream* record_stream_new(
     pa_source_output_new_data_init(&data);
 
     pa_proplist_update(data.proplist, PA_UPDATE_REPLACE, p);
-    pa_proplist_update(data.proplist, PA_UPDATE_MERGE, c->client->proplist);
     data.driver = __FILE__;
     data.module = c->options->module;
     data.client = c->client;
@@ -1001,7 +1000,6 @@ static playback_stream* playback_stream_new(
     pa_sink_input_new_data_init(&data);
 
     pa_proplist_update(data.proplist, PA_UPDATE_REPLACE, p);
-    pa_proplist_update(data.proplist, PA_UPDATE_MERGE, c->client->proplist);
     data.driver = __FILE__;
     data.module = c->options->module;
     data.client = c->client;
index 8cdc92868d4db9c6551e9c3329e4034fe2ea518f..8f182667d80e00c619cc40a16d4d677687e9d563 100644 (file)
@@ -190,6 +190,9 @@ pa_sink_input* pa_sink_input_new(
 
     pa_return_null_if_fail(data->resample_method < PA_RESAMPLER_MAX);
 
+    if (data->client)
+        pa_proplist_update(data->proplist, PA_UPDATE_MERGE, data->client->proplist);
+
     if (pa_hook_fire(&core->hooks[PA_CORE_HOOK_SINK_INPUT_FIXATE], data) < 0)
         return NULL;
 
index d1d68cdda7fc47056f78649413dadaf06eb44aa4..2abc848acfc8d325e93575df307cc0d1963ddadf 100644 (file)
@@ -167,6 +167,9 @@ pa_sink* pa_sink_new(
     if (!data->muted_is_set)
         data->muted = FALSE;
 
+    if (data->card)
+        pa_proplist_update(data->proplist, PA_UPDATE_MERGE, data->card->proplist);
+
     if (pa_hook_fire(&core->hooks[PA_CORE_HOOK_SINK_FIXATE], data) < 0) {
         pa_xfree(s);
         pa_namereg_unregister(core, name);
index e04acf90f4118ead77bf2a574f004c1df9cdde06..e3146564d4d95dfe4a8d45b2c02ea5875a70084e 100644 (file)
@@ -153,6 +153,9 @@ pa_source_output* pa_source_output_new(
 
     pa_return_null_if_fail(data->resample_method < PA_RESAMPLER_MAX);
 
+    if (data->client)
+        pa_proplist_update(data->proplist, PA_UPDATE_MERGE, data->client->proplist);
+
     if (pa_hook_fire(&core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_FIXATE], data) < 0)
         return NULL;
 
index 676a6b401a9ada24d3b0b24b8f36c53a4aee0aec..57018a2b8e427ea98c865301eb8227e87878d171 100644 (file)
@@ -158,6 +158,9 @@ pa_source* pa_source_new(
     if (!data->muted_is_set)
         data->muted = FALSE;
 
+    if (data->card)
+        pa_proplist_update(data->proplist, PA_UPDATE_MERGE, data->card->proplist);
+
     if (pa_hook_fire(&core->hooks[PA_CORE_HOOK_SOURCE_FIXATE], data) < 0) {
         pa_xfree(s);
         pa_namereg_unregister(core, name);