- pfd->unconsumed = 0;
- for (;;) {
- if (output_queue_full(btrn)) {
- pfd->have_more = true;
- break;
- }
- pfd->have_more = false;
- FLAC__StreamDecoderState state;
- FLAC__stream_decoder_process_single(pfd->decoder);
- state = FLAC__stream_decoder_get_state(pfd->decoder);
- //PARA_CRIT_LOG("state: %s\n", FLAC__stream_decoder_get_resolved_state_string(pfd->decoder));
- ret = -E_FLACDEC_EOF;
- if (state == FLAC__STREAM_DECODER_END_OF_STREAM)
- goto out;
- if (state == FLAC__STREAM_DECODER_ABORTED) {
- FLAC__stream_decoder_flush(pfd->decoder);
- fn->min_iqs = pfd->unconsumed + 1;
- break;
- }
- fn->min_iqs = 0;