Check for FLAC__STREAM_DECODER_ABORTED on reencoding

This status was ignored, leading to an infinite loop
This commit is contained in:
Martijn van Beurden 2023-05-19 12:13:58 +02:00
parent 808efb3287
commit 7761f5472c
1 changed files with 1 additions and 1 deletions

View File

@ -1403,7 +1403,7 @@ int flac__encode_file(FILE *infile, FLAC__off_t infilesize, const char *infilena
break;
}
if(!FLAC__stream_decoder_process_single(encoder_session.fmt.flac.decoder)) {
if(decoder_state == FLAC__STREAM_DECODER_ABORTED || !FLAC__stream_decoder_process_single(encoder_session.fmt.flac.decoder)) {
flac__utils_printf(stderr, 1, "%s: ERROR: while decoding FLAC input, state = %s\n", encoder_session.inbasefilename, FLAC__stream_decoder_get_resolved_state_string(encoder_session.fmt.flac.decoder));
return EncoderSession_finish_error(&encoder_session);
}