diff options
author | Max Kellermann <max@duempel.org> | 2008-11-02 17:06:32 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2008-11-02 17:06:32 +0100 |
commit | 4d069b49919da991482ec46daacde62113dad7e8 (patch) | |
tree | 1c0d3274b7f50722627911204d42bdcd2bb189b7 /src/decoder | |
parent | 460b15d29c125a70c37dd484fb0268698331504d (diff) | |
download | mpd-4d069b49919da991482ec46daacde62113dad7e8.tar.gz mpd-4d069b49919da991482ec46daacde62113dad7e8.tar.xz mpd-4d069b49919da991482ec46daacde62113dad7e8.zip |
ogg, ffmpeg: try to decode, even when the stream is not seekable
Ogg and ffmpeg detection was disabled when the stream was not
seekable, because the detection was too expensive. Since the curl
input stream can now rewind the stream cheaply, we can re-enable
detection on streams.
Diffstat (limited to 'src/decoder')
-rw-r--r-- | src/decoder/ffmpeg_plugin.c | 2 | ||||
-rw-r--r-- | src/decoder/oggflac_plugin.c | 5 | ||||
-rw-r--r-- | src/decoder/oggvorbis_plugin.c | 5 |
3 files changed, 1 insertions, 11 deletions
diff --git a/src/decoder/ffmpeg_plugin.c b/src/decoder/ffmpeg_plugin.c index 5137d412f..96ea2e5be 100644 --- a/src/decoder/ffmpeg_plugin.c +++ b/src/decoder/ffmpeg_plugin.c @@ -210,7 +210,7 @@ ffmpeg_helper(struct input_stream *input, bool (*callback)(BasePtrs *ptrs), static bool ffmpeg_try_decode(struct input_stream *input) { - return input->seekable && ffmpeg_helper(input, NULL, NULL); + return ffmpeg_helper(input, NULL, NULL); } static enum decoder_command diff --git a/src/decoder/oggflac_plugin.c b/src/decoder/oggflac_plugin.c index 506f93f08..412de7081 100644 --- a/src/decoder/oggflac_plugin.c +++ b/src/decoder/oggflac_plugin.c @@ -281,11 +281,6 @@ static struct tag *oggflac_TagDup(const char *file) static bool oggflac_try_decode(struct input_stream *inStream) { - if (!inStream->seekable) - /* we cannot seek after the detection, so don't bother - checking */ - return true; - return ogg_stream_type_detect(inStream) == FLAC; } diff --git a/src/decoder/oggvorbis_plugin.c b/src/decoder/oggvorbis_plugin.c index 47192ae68..d5402aa66 100644 --- a/src/decoder/oggvorbis_plugin.c +++ b/src/decoder/oggvorbis_plugin.c @@ -364,11 +364,6 @@ static struct tag *oggvorbis_TagDup(const char *file) static bool oggvorbis_try_decode(struct input_stream *inStream) { - if (!inStream->seekable) - /* we cannot seek after the detection, so don't bother - checking */ - return true; - return ogg_stream_type_detect(inStream) == VORBIS; } |