summaryrefslogtreecommitdiff
path: root/src/combined/ffmpeg/ff_audio_decoder.c
diff options
context:
space:
mode:
authorLorenzo Desole <lorenzodes@fastwebnet.it>2009-02-09 22:38:40 +0100
committerLorenzo Desole <lorenzodes@fastwebnet.it>2009-02-09 22:38:40 +0100
commit2afab9c8441685d1ec8f6ef5c9f8c4a163533dfa (patch)
tree5c357d15823727e730790a4138fdee7266e2510c /src/combined/ffmpeg/ff_audio_decoder.c
parent8f9a6421c30167b2bf314d512ae70b27d0167bb1 (diff)
downloadxine-lib-2afab9c8441685d1ec8f6ef5c9f8c4a163533dfa.tar.gz
xine-lib-2afab9c8441685d1ec8f6ef5c9f8c4a163533dfa.tar.bz2
demux_unstick_ao_loop() reports that xine might be stuck != is stuck
Don't give up immediately if demux_unstick_ao_loop() reports that xine might be stuck, because it's not necessarily so. According to my tests, this fixes http://bugs.kde.org/show_bug.cgi?id=180339#c42 and http://bugs.debian.org/514114. This has been tested with Amarok and kde 4.1.x (with phonon) and kaffeine.
Diffstat (limited to 'src/combined/ffmpeg/ff_audio_decoder.c')
-rw-r--r--src/combined/ffmpeg/ff_audio_decoder.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/combined/ffmpeg/ff_audio_decoder.c b/src/combined/ffmpeg/ff_audio_decoder.c
index 140a88f80..24c193b44 100644
--- a/src/combined/ffmpeg/ff_audio_decoder.c
+++ b/src/combined/ffmpeg/ff_audio_decoder.c
@@ -333,8 +333,10 @@ static void ff_audio_decode_data (audio_decoder_t *this_gen, buf_element_t *buf)
while (out < decode_buffer_size) {
int stream_status = xine_get_status(this->stream);
- if (stream_status == XINE_STATUS_QUIT || stream_status == XINE_STATUS_STOP)
+ if (stream_status == XINE_STATUS_QUIT || stream_status == XINE_STATUS_STOP) {
+ this->size = 0;
return;
+ }
audio_buffer =
this->stream->audio_out->get_buffer (this->stream->audio_out);