aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/inputPlugins/flac_plugin.c14
-rw-r--r--src/inputPlugins/oggflac_plugin.c6
2 files changed, 9 insertions, 11 deletions
diff --git a/src/inputPlugins/flac_plugin.c b/src/inputPlugins/flac_plugin.c
index c90ff21ca..4d9f8e8d4 100644
--- a/src/inputPlugins/flac_plugin.c
+++ b/src/inputPlugins/flac_plugin.c
@@ -36,16 +36,14 @@ static flac_read_status flacRead(mpd_unused const flac_decoder * flacDec,
r = decoder_read(data->decoder, data->inStream, (void *)buf, *bytes);
*bytes = r;
- if (r == 0 && decoder_get_command(data->decoder) == DECODE_COMMAND_NONE) {
- if (inputStreamAtEOF(data->inStream))
+ if (r == 0) {
+ if (decoder_get_command(data->decoder) != DECODE_COMMAND_NONE ||
+ inputStreamAtEOF(data->inStream))
return flac_read_status_eof;
else
return flac_read_status_abort;
}
- if (r == 0 && decoder_get_command(data->decoder) == DECODE_COMMAND_SEEK)
- return flac_read_status_eof;
-
return flac_read_status_continue;
}
@@ -88,9 +86,9 @@ static FLAC__bool flacEOF(mpd_unused const flac_decoder * flacDec, void *fdata)
{
FlacData *data = (FlacData *) fdata;
- if (inputStreamAtEOF(data->inStream) == 1)
- return true;
- return false;
+ return (decoder_get_command(data->decoder) != DECODE_COMMAND_NONE &&
+ decoder_get_command(data->decoder) != DECODE_COMMAND_SEEK) ||
+ inputStreamAtEOF(data->inStream);
}
static void flacError(mpd_unused const flac_decoder *dec,
diff --git a/src/inputPlugins/oggflac_plugin.c b/src/inputPlugins/oggflac_plugin.c
index 2adbaed60..e0527f7b7 100644
--- a/src/inputPlugins/oggflac_plugin.c
+++ b/src/inputPlugins/oggflac_plugin.c
@@ -104,9 +104,9 @@ static FLAC__bool of_EOF_cb(const OggFLAC__SeekableStreamDecoder * decoder,
{
FlacData *data = (FlacData *) fdata;
- if (inputStreamAtEOF(data->inStream) == 1)
- return true;
- return false;
+ return (decoder_get_command(data->decoder) != DECODE_COMMAND_NONE &&
+ decoder_get_command(data->decoder) != DECODE_COMMAND_SEEK) ||
+ inputStreamAtEOF(data->inStream);
}
static void of_error_cb(const OggFLAC__SeekableStreamDecoder * decoder,