From 14ff156ebeb972a246eb758ea699fce1be4e97af Mon Sep 17 00:00:00 2001 From: Josh Coalson Date: Fri, 2 Aug 2002 06:00:06 +0000 Subject: [PATCH] fix bug where encoder was closing file too soon in finish() --- src/libFLAC/file_encoder.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libFLAC/file_encoder.c b/src/libFLAC/file_encoder.c index af31e4f..3bfbaab 100644 --- a/src/libFLAC/file_encoder.c +++ b/src/libFLAC/file_encoder.c @@ -166,6 +166,10 @@ void FLAC__file_encoder_finish(FLAC__FileEncoder *encoder) FLAC__ASSERT(0 != encoder->private_->seekable_stream_encoder); + /* FLAC__seekable_stream_encoder_finish() might write data so we must close the file after it. */ + + FLAC__seekable_stream_encoder_finish(encoder->private_->seekable_stream_encoder); + if(0 != encoder->private_->file) { fclose(encoder->private_->file); encoder->private_->file = 0; @@ -179,8 +183,6 @@ void FLAC__file_encoder_finish(FLAC__FileEncoder *encoder) set_defaults_(encoder); encoder->protected_->state = FLAC__FILE_ENCODER_UNINITIALIZED; - - return FLAC__seekable_stream_encoder_finish(encoder->private_->seekable_stream_encoder); } FLAC__bool FLAC__file_encoder_set_streamable_subset(FLAC__FileEncoder *encoder, FLAC__bool value) -- 2.7.4