summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Kretz <kretz@kde.org>2007-12-02 23:03:46 +0100
committerMatthias Kretz <kretz@kde.org>2007-12-02 23:03:46 +0100
commitfc74afb82c232221a4205579e1eddb26a91d1c26 (patch)
tree7c5ae11b420a85b4006a25189c9ee38f8c25277a /src
parent5a7b7dcb302085db68a44f7f7acb6e4abbb73a75 (diff)
downloadxine-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.c1
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--;