From 67a13156c03f16c4d00eefd02ba185fa0f2c10e0 Mon Sep 17 00:00:00 2001 From: Josh Coalson Date: Tue, 20 Mar 2001 22:02:54 +0000 Subject: [PATCH] fix so that file decoder catches when stream decoder says EOF --- src/libFLAC/file_decoder.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/libFLAC/file_decoder.c b/src/libFLAC/file_decoder.c index faaed9c6..1471ff4b 100644 --- a/src/libFLAC/file_decoder.c +++ b/src/libFLAC/file_decoder.c @@ -158,6 +158,9 @@ bool FLAC__file_decoder_process_whole_file(FLAC__FileDecoder *decoder) bool ret; assert(decoder != 0); + if(decoder->guts->stream->state == FLAC__STREAM_DECODER_END_OF_FILE) + decoder->state = FLAC__FILE_DECODER_END_OF_FILE; + if(decoder->state == FLAC__FILE_DECODER_END_OF_FILE) return true; @@ -175,6 +178,9 @@ bool FLAC__file_decoder_process_metadata(FLAC__FileDecoder *decoder) bool ret; assert(decoder != 0); + if(decoder->guts->stream->state == FLAC__STREAM_DECODER_END_OF_FILE) + decoder->state = FLAC__FILE_DECODER_END_OF_FILE; + if(decoder->state == FLAC__FILE_DECODER_END_OF_FILE) return true; @@ -192,6 +198,9 @@ bool FLAC__file_decoder_process_one_frame(FLAC__FileDecoder *decoder) bool ret; assert(decoder != 0); + if(decoder->guts->stream->state == FLAC__STREAM_DECODER_END_OF_FILE) + decoder->state = FLAC__FILE_DECODER_END_OF_FILE; + if(decoder->state == FLAC__FILE_DECODER_END_OF_FILE) return true; @@ -209,6 +218,9 @@ bool FLAC__file_decoder_process_remaining_frames(FLAC__FileDecoder *decoder) bool ret; assert(decoder != 0); + if(decoder->guts->stream->state == FLAC__STREAM_DECODER_END_OF_FILE) + decoder->state = FLAC__FILE_DECODER_END_OF_FILE; + if(decoder->state == FLAC__FILE_DECODER_END_OF_FILE) return true;