From c75339edcc8ced25a71ab96a309736986c04465b Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 6 Jan 2014 22:42:02 +0100 Subject: pcm/Format: change parameters/return values to ConstBuffer --- src/pcm/FormatConverter.cxx | 53 ++++++++++++++++----------------------------- 1 file changed, 19 insertions(+), 34 deletions(-) (limited to 'src/pcm/FormatConverter.cxx') diff --git a/src/pcm/FormatConverter.cxx b/src/pcm/FormatConverter.cxx index 8886a8ab0..8ff8b8940 100644 --- a/src/pcm/FormatConverter.cxx +++ b/src/pcm/FormatConverter.cxx @@ -50,9 +50,6 @@ PcmFormatConverter::Close() ConstBuffer PcmFormatConverter::Convert(ConstBuffer src, Error &error) { - const void *result = nullptr; - size_t result_size = 0; - switch (dest_format) { case SampleFormat::UNDEFINED: assert(false); @@ -60,45 +57,33 @@ PcmFormatConverter::Convert(ConstBuffer src, Error &error) case SampleFormat::S8: case SampleFormat::DSD: - result = nullptr; - break; + error.Format(pcm_domain, + "PCM conversion from %s to %s is not implemented", + sample_format_to_string(src_format), + sample_format_to_string(dest_format)); + return nullptr; case SampleFormat::S16: - result = pcm_convert_to_16(buffer, dither, - src_format, - src.data, src.size, - &result_size); - break; + return pcm_convert_to_16(buffer, dither, + src_format, + src).ToVoid(); case SampleFormat::S24_P32: - result = pcm_convert_to_24(buffer, - src_format, - src.data, src.size, - &result_size); - break; + return pcm_convert_to_24(buffer, + src_format, + src).ToVoid(); case SampleFormat::S32: - result = pcm_convert_to_32(buffer, - src_format, - src.data, src.size, - &result_size); - break; + return pcm_convert_to_32(buffer, + src_format, + src).ToVoid(); case SampleFormat::FLOAT: - result = pcm_convert_to_float(buffer, - src_format, - src.data, src.size, - &result_size); - break; - } - - if (result == nullptr) { - error.Format(pcm_domain, - "PCM conversion from %s to %s is not implemented", - sample_format_to_string(src_format), - sample_format_to_string(dest_format)); - return nullptr; + return pcm_convert_to_float(buffer, + src_format, + src).ToVoid(); } - return { result, result_size }; + assert(false); + gcc_unreachable(); } -- cgit v1.2.3