Commit 264f837c authored by Felix Paul Kühne's avatar Felix Paul Kühne

auhal: prevent assertion failure on TPCircularBufferClear (close #10109)

parent 4598d6ca
......@@ -1379,20 +1379,22 @@ static void Flush(audio_output_t *p_aout, bool wait)
{
struct aout_sys_t *p_sys = p_aout->sys;
int32_t availableBytes;
vlc_mutex_lock(&p_sys->lock);
TPCircularBufferTail(&p_sys->circular_buffer, &availableBytes);
if (wait) {
int32_t availableBytes;
vlc_mutex_lock(&p_sys->lock);
TPCircularBufferTail(&p_sys->circular_buffer, &availableBytes);
while (availableBytes > 0) {
vlc_cond_wait(&p_sys->cond, &p_sys->lock);
TPCircularBufferTail(&p_sys->circular_buffer, &availableBytes);
}
vlc_mutex_unlock(&p_sys->lock);
} else {
/* flush circular buffer */
TPCircularBufferClear(&p_aout->sys->circular_buffer);
/* flush circular buffer if data is left */
if (availableBytes > 0)
TPCircularBufferClear(&p_aout->sys->circular_buffer);
}
vlc_mutex_unlock(&p_sys->lock);
}
static int TimeGet(audio_output_t *p_aout, mtime_t *delay)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment