diff options
author | Max Kellermann <max@duempel.org> | 2008-11-10 15:07:01 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2008-11-10 15:07:01 +0100 |
commit | ff1acefb2115252cb27f0d0dc6219a527e258049 (patch) | |
tree | f264bf133731dfb33d0da8bb3438351f6bed570a /src/decoder/flac_plugin.c | |
parent | 10eea9d9815c37077d0d0bde98ae4daeed3d101b (diff) | |
download | mpd-ff1acefb2115252cb27f0d0dc6219a527e258049.tar.gz mpd-ff1acefb2115252cb27f0d0dc6219a527e258049.tar.xz mpd-ff1acefb2115252cb27f0d0dc6219a527e258049.zip |
decoder: removed plugin method try_decode()
Instead of having a seprate try_decode() method, let the
stream_decode() and file_decode() methods decide whether they are able
to decode the song.
Diffstat (limited to 'src/decoder/flac_plugin.c')
-rw-r--r-- | src/decoder/flac_plugin.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/decoder/flac_plugin.c b/src/decoder/flac_plugin.c index 0afa85431..ad64b7355 100644 --- a/src/decoder/flac_plugin.c +++ b/src/decoder/flac_plugin.c @@ -434,13 +434,14 @@ out: static bool oggflac_decode(struct decoder *decoder, struct input_stream *inStream) { - return flac_decode_internal(decoder, inStream, true); -} + if (ogg_stream_type_detect(inStream) != FLAC) + return false; -static bool -oggflac_try_decode(struct input_stream *inStream) -{ - return ogg_stream_type_detect(inStream) == FLAC; + /* rewind the stream, because ogg_stream_type_detect() has + moved it */ + input_stream_seek(inStream, 0, SEEK_SET); + + return flac_decode_internal(decoder, inStream, true); } static const char *const oggflac_suffixes[] = { "ogg", "oga", NULL }; @@ -457,7 +458,6 @@ const struct decoder_plugin oggflacPlugin = { .name = "oggflac", .init = oggflac_init, #if defined(FLAC_API_VERSION_CURRENT) && FLAC_API_VERSION_CURRENT > 7 - .try_decode = oggflac_try_decode, .stream_decode = oggflac_decode, .tag_dup = oggflac_tag_dup, .suffixes = oggflac_suffixes, |