diff options
author | Max Kellermann <max@duempel.org> | 2008-11-04 16:55:12 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2008-11-04 16:55:12 +0100 |
commit | ab07cdd453ae4a7570d827b0916106bf3a41af85 (patch) | |
tree | 22c631b07073e6e83615e013d7882110ac3cbb45 | |
parent | 292334a27a4327ada969d2cbe390e86cb3193c9d (diff) | |
download | mpd-ab07cdd453ae4a7570d827b0916106bf3a41af85.tar.gz mpd-ab07cdd453ae4a7570d827b0916106bf3a41af85.tar.xz mpd-ab07cdd453ae4a7570d827b0916106bf3a41af85.zip |
ffmpeg: removed loop from mpd_ffmpeg_read()
The function decoder_read() already cares about the decoder command,
and loops until data is available. Reduced mpd_ffmpeg_read() to no
more than the decoder_read() call.
-rw-r--r-- | src/decoder/ffmpeg_plugin.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/src/decoder/ffmpeg_plugin.c b/src/decoder/ffmpeg_plugin.c index 63d158349..19faeb1cd 100644 --- a/src/decoder/ffmpeg_plugin.c +++ b/src/decoder/ffmpeg_plugin.c @@ -18,8 +18,6 @@ #include "../decoder_api.h" #include "../log.h" -#include "../utils.h" -#include "../log.h" #include <assert.h> #include <stdio.h> @@ -84,19 +82,8 @@ static int mpd_ffmpeg_read(URLContext *h, unsigned char *buf, int size) { struct ffmpeg_stream *stream = (struct ffmpeg_stream *) h->priv_data; - while (true) { - size_t ret = decoder_read(stream->decoder, stream->input, - (void *)buf, size); - if (ret > 0) - return ret; - - if (input_stream_eof(stream->input) || - (stream->decoder && - decoder_get_command(stream->decoder) != DECODE_COMMAND_NONE)) - return 0; - - my_usleep(10000); - } + return decoder_read(stream->decoder, stream->input, + (void *)buf, size); } static int64_t mpd_ffmpeg_seek(URLContext *h, int64_t pos, int whence) |