diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-08-22 04:04:23 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-08-22 04:04:23 +0200 |
commit | 1a05d67f07fb4bfa6e419791cf5609d608f536cd (patch) | |
tree | 53a5116d487319bfc921638e0c6604a385971f98 /src/pulsecore/sink-input.c | |
parent | 5b0683d6cd103a7a91bc2e88bcc9f77750d10c25 (diff) |
core: relex validity checks when destructing half-set up source outputs/sink inputs
Diffstat (limited to 'src/pulsecore/sink-input.c')
-rw-r--r-- | src/pulsecore/sink-input.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c index 4137a425..0ad95e6f 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); |