From 82f09b6d8ffcb51d3fdc7834762f45d887d44e70 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 17 Dec 2008 21:03:17 +0100 Subject: Don't hit an assert when checking for idleness Closes #398 --- src/pulsecore/source-output.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/pulsecore/source-output.c') diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c index 376402fa..c92c5ab7 100644 --- a/src/pulsecore/source-output.c +++ b/src/pulsecore/source-output.c @@ -247,7 +247,6 @@ static void update_n_corked(pa_source_output *o, pa_source_output_state_t state) else if (o->state != PA_SOURCE_OUTPUT_CORKED && state == PA_SOURCE_OUTPUT_CORKED) o->source->n_corked++; - pa_source_update_status(o->source); } /* Called from main context */ @@ -265,6 +264,8 @@ static int source_output_set_state(pa_source_output *o, pa_source_output_state_t if (state != PA_SOURCE_OUTPUT_UNLINKED) pa_hook_fire(&o->source->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_STATE_CHANGED], o); + pa_source_update_status(o->source); + return 0; } @@ -303,6 +304,8 @@ void pa_source_output_unlink(pa_source_output*o) { pa_hook_fire(&o->source->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_UNLINK_POST], o); } + pa_source_update_status(o->source); + o->source = NULL; pa_source_output_unref(o); } @@ -354,6 +357,8 @@ void pa_source_output_put(pa_source_output *o) { pa_subscription_post(o->source->core, PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT|PA_SUBSCRIPTION_EVENT_NEW, o->index); pa_hook_fire(&o->source->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_PUT], o); + + pa_source_update_status(o->source); } /* Called from main context */ -- cgit