diff options
-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 9360bee0..4a9ba6af 100644 --- a/src/pulsecore/sink-input.c +++ b/src/pulsecore/sink-input.c @@ -397,7 +397,7 @@ int pa_sink_input_peek(pa_sink_input *i, size_t length, pa_memchunk *chunk, pa_c pa_assert(chunk); pa_assert(volume); - if (!i->peek || !i->drop || i->thread_info.state == PA_SINK_INPUT_UNLINKED || i->thread_info.state == PA_SINK_INPUT_CORKED) + if (!i->peek || !i->drop || i->thread_info.state == PA_SINK_INPUT_CORKED) goto finish; pa_assert(i->thread_info.state == PA_SINK_INPUT_RUNNING || i->thread_info.state == PA_SINK_INPUT_DRAINED); @@ -518,6 +518,9 @@ void pa_sink_input_drop(pa_sink_input *i, size_t length) { pa_assert(pa_frame_aligned(length, &i->sink->sample_spec)); pa_assert(length > 0); + if (!i->peek || !i->drop || i->thread_info.state == PA_SINK_INPUT_CORKED) + return; + if (i->thread_info.move_silence > 0) { if (i->thread_info.move_silence >= length) { |