decoder: automatically flush the output buffer after decoder exits

A decoder_flush() invocation was missing in the FLAC plugin, resulting
in casual assertion failures due to a wrong assumption about the last
chunk's audio format.  It's much easier to remove that decoder_flush()
function and make the decoder thread call ob_flush().
This commit is contained in:
Max Kellermann
2008-10-29 17:29:06 +01:00
parent 74c85811af
commit 528b7c3f5e
12 changed files with 3 additions and 30 deletions

View File

@@ -21,6 +21,7 @@
#include "decoder_control.h"
#include "decoder_internal.h"
#include "player_control.h"
#include "outputBuffer.h"
#include "song.h"
#include "mapper.h"
#include "path.h"
@@ -147,6 +148,8 @@ static void decodeStart(void)
}
}
ob_flush();
if (ret < 0 || ret == DECODE_ERROR_UNKTYPE) {
if (ret != DECODE_ERROR_UNKTYPE)
dc.error = DECODE_ERROR_FILE;