aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder
diff options
context:
space:
mode:
Diffstat (limited to 'src/decoder')
-rw-r--r--src/decoder/plugins/SndfileDecoderPlugin.cxx10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/decoder/plugins/SndfileDecoderPlugin.cxx b/src/decoder/plugins/SndfileDecoderPlugin.cxx
index 6adba02cc..a1a426752 100644
--- a/src/decoder/plugins/SndfileDecoderPlugin.cxx
+++ b/src/decoder/plugins/SndfileDecoderPlugin.cxx
@@ -146,6 +146,14 @@ sndfile_duration(const SF_INFO &info)
return SongTime::FromScale<uint64_t>(info.frames, info.samplerate);
}
+gcc_pure
+static SampleFormat
+sndfile_sample_format(const SF_INFO &info)
+{
+ (void)info;
+ return SampleFormat::S32;
+}
+
static void
sndfile_stream_decode(Decoder &decoder, InputStream &is)
{
@@ -166,7 +174,7 @@ sndfile_stream_decode(Decoder &decoder, InputStream &is)
Error error;
AudioFormat audio_format;
if (!audio_format_init_checked(audio_format, info.samplerate,
- SampleFormat::S32,
+ sndfile_sample_format(info),
info.channels, error)) {
LogError(error);
return;