--- mpd-0.12.1-b2/src/inputPlugins/oggflac_plugin.c 2006-10-24 15:30:24.000000000 -0700 +++ mpd-0.12.1-b2/src/inputPlugins/oggflac_plugin.c 2006-11-03 21:11:02.000000000 -0800 @@ -99,11 +99,16 @@ } *bytes = r; - if (r == 0 && !inputStreamAtEOF(data->inStream) && !data->dc->stop) #ifdef LEGACY_FLAC + if (r == 0 && !inputStreamAtEOF(data->inStream) && !data->dc->stop) return OggFLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_ERROR; #else - return FLAC__STREAM_DECODER_READ_STATUS_ABORT; + if (r == 0 && !data->dc->stop) { + if (inputStreamAtEOF(data->inStream)) + return FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM; + else + return FLAC__STREAM_DECODER_READ_STATUS_ABORT; + } #endif #ifdef LEGACY_FLAC