diff options
author | Lorenzo Desole <lorenzodes@fastwebnet.it> | 2009-02-09 22:38:40 +0100 |
---|---|---|
committer | Lorenzo Desole <lorenzodes@fastwebnet.it> | 2009-02-09 22:38:40 +0100 |
commit | 2afab9c8441685d1ec8f6ef5c9f8c4a163533dfa (patch) | |
tree | 5c357d15823727e730790a4138fdee7266e2510c /src/combined/ffmpeg/ff_audio_decoder.c | |
parent | 8f9a6421c30167b2bf314d512ae70b27d0167bb1 (diff) | |
download | xine-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.c | 4 |
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); |