From c4bea3dfe45622fcb4de21cd52fc28deb85335f0 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 11 Jul 2014 22:09:35 +0200 Subject: decoder/sndfile: implement scan_stream() instead of scan_file() --- src/decoder/plugins/SndfileDecoderPlugin.cxx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/decoder') diff --git a/src/decoder/plugins/SndfileDecoderPlugin.cxx b/src/decoder/plugins/SndfileDecoderPlugin.cxx index 90a52b7f0..c656302f9 100644 --- a/src/decoder/plugins/SndfileDecoderPlugin.cxx +++ b/src/decoder/plugins/SndfileDecoderPlugin.cxx @@ -234,21 +234,22 @@ static constexpr struct { }; static bool -sndfile_scan_file(Path path_fs, - const struct tag_handler *handler, void *handler_ctx) +sndfile_scan_stream(InputStream &is, + const struct tag_handler *handler, void *handler_ctx) { SF_INFO info; info.format = 0; - SNDFILE *const sf = sf_open(path_fs.c_str(), SFM_READ, &info); + SndfileInputStream sis{nullptr, is}; + SNDFILE *const sf = sf_open_virtual(&vio, SFM_READ, &info, &sis); if (sf == nullptr) return false; if (!audio_valid_sample_rate(info.samplerate)) { sf_close(sf); FormatWarning(sndfile_domain, - "Invalid sample rate in %s", path_fs.c_str()); + "Invalid sample rate in %s", is.GetURI()); return false; } @@ -299,8 +300,8 @@ const struct DecoderPlugin sndfile_decoder_plugin = { nullptr, sndfile_stream_decode, nullptr, - sndfile_scan_file, nullptr, + sndfile_scan_stream, nullptr, sndfile_suffixes, sndfile_mime_types, -- cgit v1.2.3