From 825e0734955a93b5db6575dd15d20cca566c132b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=8Dcaro?= Date: Tue, 8 Aug 2023 14:07:04 -0300 Subject: [PATCH] Update loadsave.jl Overloaded loadstreaming to also receive the IOBuffer type --- src/loadsave.jl | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/loadsave.jl b/src/loadsave.jl index dd35dee..8083e78 100644 --- a/src/loadsave.jl +++ b/src/loadsave.jl @@ -16,6 +16,15 @@ function loadstreaming(src::Stream, filelen=inferlen(src)) SndFileSource(io, filePtr, sfinfo) end +function loadstreaming(src::IOBuffer, filelen=inferlen(src)) + sfinfo = SF_INFO() + io = LibSndFile.LengthIO(src, filelen) + # sf_open fills in sfinfo + filePtr = sf_open(io, SFM_READ, sfinfo) + + SndFileSource(io, filePtr, sfinfo) +end + for T in (:File, :Stream), fmt in supported_formats @eval @inline load(src::$T{$fmt}, args...) = load_helper(src, args...) end