aboutsummaryrefslogtreecommitdiffstats
path: root/src/inputPlugins/oggflac_plugin.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-08-26 08:27:14 +0200
committerMax Kellermann <max@duempel.org>2008-08-26 08:27:14 +0200
commit940ecf5345f339b9d3ec3e8029e345540358fa4c (patch)
treebe22d8c04732d41f1ba6f49298eef7829d097095 /src/inputPlugins/oggflac_plugin.c
parentd80260ab4e1d4f926344ab2074543ea4a7723216 (diff)
downloadmpd-940ecf5345f339b9d3ec3e8029e345540358fa4c.tar.gz
mpd-940ecf5345f339b9d3ec3e8029e345540358fa4c.tar.xz
mpd-940ecf5345f339b9d3ec3e8029e345540358fa4c.zip
added decoder_read()
On our way to stabilize the decoder API, we will one day remove the input stream functions. The most basic function, read() will be provided by decoder_api.h with this patch. It already contains a loop (still with manual polling), error/eof handling and decoder command checks. This kind of code used to be duplicated in all decoder plugins.
Diffstat (limited to '')
-rw-r--r--src/inputPlugins/oggflac_plugin.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/inputPlugins/oggflac_plugin.c b/src/inputPlugins/oggflac_plugin.c
index 637e4ac5f..f56a6b5ec 100644
--- a/src/inputPlugins/oggflac_plugin.c
+++ b/src/inputPlugins/oggflac_plugin.c
@@ -47,14 +47,7 @@ static OggFLAC__SeekableStreamDecoderReadStatus of_read_cb(const
FlacData *data = (FlacData *) fdata;
size_t r;
- while (1) {
- r = readFromInputStream(data->inStream, (void *)buf, 1, *bytes);
- if (r == 0 && !inputStreamAtEOF(data->inStream) &&
- decoder_get_command(data->decoder) != DECODE_COMMAND_STOP)
- my_usleep(10000);
- else
- break;
- }
+ r = decoder_read(data->decoder, data->inStream, (void *)buf, *bytes);
*bytes = r;
if (r == 0 && !inputStreamAtEOF(data->inStream) &&