summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/sink-input.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2007-09-24 22:41:00 +0000
committerLennart Poettering <lennart@poettering.net>2007-09-24 22:41:00 +0000
commitac86fa1b9725d602b68410a56ebee355877f769d (patch)
treea1ae2ccde8a4d6a6cb8de3e015935731cbb495f0 /src/pulsecore/sink-input.c
parent3c75d35dd004a55753934ed328d7e037cbf8c596 (diff)
fix IDLE vs. RUNNING state handling of sinks/sources when changing cork status for streams
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1899 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/pulsecore/sink-input.c')
-rw-r--r--src/pulsecore/sink-input.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c
index 632cf024..e99e0a08 100644
--- a/src/pulsecore/sink-input.c
+++ b/src/pulsecore/sink-input.c
@@ -233,6 +233,8 @@ static void update_n_corked(pa_sink_input *i, pa_sink_input_state_t state) {
pa_assert_se(i->sink->n_corked -- >= 1);
else if (i->state != PA_SINK_INPUT_CORKED && state == PA_SINK_INPUT_CORKED)
i->sink->n_corked++;
+
+ pa_sink_update_status(i->sink);
}
static int sink_input_set_state(pa_sink_input *i, pa_sink_input_state_t state) {
@@ -350,6 +352,9 @@ void pa_sink_input_put(pa_sink_input *i) {
i->thread_info.volume = i->volume;
i->thread_info.muted = i->muted;
+ if (i->state == PA_SINK_INPUT_CORKED)
+ i->sink->n_corked++;
+
pa_asyncmsgq_send(i->sink->asyncmsgq, PA_MSGOBJECT(i->sink), PA_SINK_MESSAGE_ADD_INPUT, i, 0, NULL);
pa_sink_update_status(i->sink);