[pulseaudio-commits] [SCM] PulseAudio Sound Server branch, master, updated. v0.9.16-test5-32-g1a05d67

Lennart Poettering gitmailer-noreply at 0pointer.de
Fri Aug 21 19:04:03 PDT 2009


This is an automated email from the git hooks/post-receive script. It was
generated because of a push to the "PulseAudio Sound Server" repository.

The master branch has been updated
      from  2595b9d98569e62f4d375ced1d3f7c7af34efa74 (commit)

- Log -----------------------------------------------------------------
1a05d67 core: relex validity checks when destructing half-set up source outputs/sink inputs
5b0683d ladspa/remap: handle failing stream moves properly
-----------------------------------------------------------------------

Summary of changes:
 src/modules/module-ladspa-sink.c |    7 +++++--
 src/modules/module-remap-sink.c  |    7 +++++--
 src/pulsecore/sink-input.c       |    5 ++++-
 src/pulsecore/source-output.c    |    2 --
 4 files changed, 14 insertions(+), 7 deletions(-)

-----------------------------------------------------------------------

commit 5b0683d6cd103a7a91bc2e88bcc9f77750d10c25
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sat Aug 22 04:03:31 2009 +0200

    ladspa/remap: handle failing stream moves properly

diff --git a/src/modules/module-ladspa-sink.c b/src/modules/module-ladspa-sink.c
index 233f90c..aa28f7f 100644
--- a/src/modules/module-ladspa-sink.c
+++ b/src/modules/module-ladspa-sink.c
@@ -418,8 +418,11 @@ static void sink_input_moving_cb(pa_sink_input *i, pa_sink *dest) {
     pa_sink_input_assert_ref(i);
     pa_assert_se(u = i->userdata);
 
-    pa_sink_set_asyncmsgq(u->sink, dest->asyncmsgq);
-    pa_sink_update_flags(u->sink, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY, dest->flags);
+    if (dest) {
+        pa_sink_set_asyncmsgq(u->sink, dest->asyncmsgq);
+        pa_sink_update_flags(u->sink, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY, dest->flags);
+    } else
+        pa_sink_set_asyncmsgq(u->sink, NULL);
 }
 
 /* Called from main context */
diff --git a/src/modules/module-remap-sink.c b/src/modules/module-remap-sink.c
index 0b4fdc9..becff55 100644
--- a/src/modules/module-remap-sink.c
+++ b/src/modules/module-remap-sink.c
@@ -302,8 +302,11 @@ static void sink_input_moving_cb(pa_sink_input *i, pa_sink *dest) {
     pa_sink_input_assert_ref(i);
     pa_assert_se(u = i->userdata);
 
-    pa_sink_set_asyncmsgq(u->sink, dest->asyncmsgq);
-    pa_sink_update_flags(u->sink, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY, dest->flags);
+    if (dest) {
+        pa_sink_set_asyncmsgq(u->sink, dest->asyncmsgq);
+        pa_sink_update_flags(u->sink, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY, dest->flags);
+    } else
+        pa_sink_set_asyncmsgq(u->sink, NULL);
 }
 
 int pa__init(pa_module*m) {

commit 1a05d67f07fb4bfa6e419791cf5609d608f536cd
Author: Lennart Poettering <lennart at poettering.net>
Date:   Sat Aug 22 04:04:23 2009 +0200

    core: relex validity checks when destructing half-set up source outputs/sink inputs

diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c
index 4137a42..0ad95e6 100644
--- a/src/pulsecore/sink-input.c
+++ b/src/pulsecore/sink-input.c
@@ -487,7 +487,10 @@ static void sink_input_free(pa_object *o) {
 
     pa_log_info("Freeing input %u \"%s\"", i->index, pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_MEDIA_NAME)));
 
-    pa_assert(!i->thread_info.attached);
+    /* Side note: this function must be able to destruct properly any
+     * kind of sink input in any state, even those which are
+     * "half-moved" or are connected to sinks that have no asyncmsgq
+     * and are hence half-destructed themselves! */
 
     if (i->thread_info.render_memblockq)
         pa_memblockq_free(i->thread_info.render_memblockq);
diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c
index b029861..4373340 100644
--- a/src/pulsecore/source-output.c
+++ b/src/pulsecore/source-output.c
@@ -359,8 +359,6 @@ static void source_output_free(pa_object* mo) {
 
     pa_log_info("Freeing output %u \"%s\"", o->index, pa_strnull(pa_proplist_gets(o->proplist, PA_PROP_MEDIA_NAME)));
 
-    pa_assert(!o->thread_info.attached);
-
     if (o->thread_info.delay_memblockq)
         pa_memblockq_free(o->thread_info.delay_memblockq);
 

-- 
hooks/post-receive
PulseAudio Sound Server



More information about the pulseaudio-commits mailing list