diff options
author | Matthias Kretz <kretz@kde.org> | 2007-12-02 23:03:46 +0100 |
---|---|---|
committer | Matthias Kretz <kretz@kde.org> | 2007-12-02 23:03:46 +0100 |
commit | fc74afb82c232221a4205579e1eddb26a91d1c26 (patch) | |
tree | 7c5ae11b420a85b4006a25189c9ee38f8c25277a /src | |
parent | 5a7b7dcb302085db68a44f7f7acb6e4abbb73a75 (diff) | |
download | xine-lib-fc74afb82c232221a4205579e1eddb26a91d1c26.tar.gz xine-lib-fc74afb82c232221a4205579e1eddb26a91d1c26.tar.bz2 |
Don't signal fifo->empty right after reading the last buffer
but only when a read was requested and the fifo is empty.
Rationale: ao_close uses fifo_wait_empty to make sure all buffers were written
to the driver before it calls close on the driver. But if empty is already
signaled when ao_loop just reads the next buffer then ao_close might close the
driver before ao_loop has a chance to send the buffer to the driver.
Diffstat (limited to 'src')
-rw-r--r-- | src/xine-engine/audio_out.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/src/xine-engine/audio_out.c b/src/xine-engine/audio_out.c index 0c37b8d1f..de74ac578 100644 --- a/src/xine-engine/audio_out.c +++ b/src/xine-engine/audio_out.c @@ -364,7 +364,6 @@ static audio_buffer_t *fifo_remove_int (audio_fifo_t *fifo, int blocking) { fifo->last = NULL; fifo->num_buffers = 0; - pthread_cond_signal (&fifo->empty); } else fifo->num_buffers--; |