MPG123_DONE should never be returned in feeder mode, right? We're decoding an stream.
If a Xing/Lame/Info header is detected the length is initialized because frame_gapless_init is called in check_lame_tag with the parsed length from the lame header. This results in MPG123_DONE returns later in decoding.
Could those headers be skipped as junk if we are in feeder mode?