From 5921ffaa36483d6c532f9c18db96f2e287b9df81 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 19 Sep 2014 21:42:06 +0200 Subject: decoder/sndfile: move sf_readf_int() call to sndfile_read_frames() --- src/decoder/plugins/SndfileDecoderPlugin.cxx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/decoder/plugins/SndfileDecoderPlugin.cxx b/src/decoder/plugins/SndfileDecoderPlugin.cxx index a1a426752..388c2d594 100644 --- a/src/decoder/plugins/SndfileDecoderPlugin.cxx +++ b/src/decoder/plugins/SndfileDecoderPlugin.cxx @@ -154,6 +154,12 @@ sndfile_sample_format(const SF_INFO &info) return SampleFormat::S32; } +static sf_count_t +sndfile_read_frames(SNDFILE *sf, void *buffer, sf_count_t n_frames) +{ + return sf_readf_int(sf, (int *)buffer, n_frames); +} + static void sndfile_stream_decode(Decoder &decoder, InputStream &is) { @@ -183,14 +189,16 @@ sndfile_stream_decode(Decoder &decoder, InputStream &is) decoder_initialized(decoder, audio_format, info.seekable, sndfile_duration(info)); - int buffer[4096]; + char buffer[16384]; const size_t frame_size = audio_format.GetFrameSize(); const sf_count_t read_frames = sizeof(buffer) / frame_size; DecoderCommand cmd; do { - sf_count_t num_frames = sf_readf_int(sf, buffer, read_frames); + sf_count_t num_frames = + sndfile_read_frames(sf, + buffer, read_frames); if (num_frames <= 0) break; -- cgit v1.2.3