From 5921ffaa36483d6c532f9c18db96f2e287b9df81 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Fri, 19 Sep 2014 21:42:06 +0200
Subject: [PATCH] decoder/sndfile: move sf_readf_int() call to
 sndfile_read_frames()

---
 src/decoder/plugins/SndfileDecoderPlugin.cxx | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

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;