libFlac: Exit at EOS in verify mode When verify mode is enabled, once decoder flags end of stream, encode processing is considered complete Bug: 174302683 Test: poc in bug description Change-Id: I6d02103f58b86c303b05b312568382ce88e6b73c Merged-In: I6d02103f58b86c303b05b312568382ce88e6b73c
diff --git a/libFLAC/stream_encoder.c b/libFLAC/stream_encoder.c index 037b8cb..b0b2650 100644 --- a/libFLAC/stream_encoder.c +++ b/libFLAC/stream_encoder.c
@@ -2578,7 +2578,9 @@ encoder->private_->verify.needs_magic_hack = true; } else { - if(!FLAC__stream_decoder_process_single(encoder->private_->verify.decoder)) { + if(!FLAC__stream_decoder_process_single(encoder->private_->verify.decoder) + || (!is_last_block + && (FLAC__stream_encoder_get_verify_decoder_state(encoder) == FLAC__STREAM_DECODER_END_OF_STREAM))) { FLAC__bitwriter_release_buffer(encoder->private_->frame); FLAC__bitwriter_clear(encoder->private_->frame); if(encoder->protected_->state != FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA)