mirror of
https://github.com/claunia/flac.git
synced 2025-12-16 18:54:26 +00:00
fix bug where encoder was closing file too soon in finish()
This commit is contained in:
@@ -166,6 +166,10 @@ void FLAC__file_encoder_finish(FLAC__FileEncoder *encoder)
|
|||||||
|
|
||||||
FLAC__ASSERT(0 != encoder->private_->seekable_stream_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) {
|
if(0 != encoder->private_->file) {
|
||||||
fclose(encoder->private_->file);
|
fclose(encoder->private_->file);
|
||||||
encoder->private_->file = 0;
|
encoder->private_->file = 0;
|
||||||
@@ -179,8 +183,6 @@ void FLAC__file_encoder_finish(FLAC__FileEncoder *encoder)
|
|||||||
set_defaults_(encoder);
|
set_defaults_(encoder);
|
||||||
|
|
||||||
encoder->protected_->state = FLAC__FILE_ENCODER_UNINITIALIZED;
|
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)
|
FLAC__bool FLAC__file_encoder_set_streamable_subset(FLAC__FileEncoder *encoder, FLAC__bool value)
|
||||||
|
|||||||
Reference in New Issue
Block a user