aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm/FormatConverter.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2014-01-06 22:42:02 +0100
committerMax Kellermann <max@duempel.org>2014-01-06 23:08:49 +0100
commitc75339edcc8ced25a71ab96a309736986c04465b (patch)
tree59f152918425469f4da7ce08cf1954d326636688 /src/pcm/FormatConverter.cxx
parentb0b7244b3aa238e22136fd16095e2b8d452b2cec (diff)
downloadmpd-c75339edcc8ced25a71ab96a309736986c04465b.tar.gz
mpd-c75339edcc8ced25a71ab96a309736986c04465b.tar.xz
mpd-c75339edcc8ced25a71ab96a309736986c04465b.zip
pcm/Format: change parameters/return values to ConstBuffer
Diffstat (limited to 'src/pcm/FormatConverter.cxx')
-rw-r--r--src/pcm/FormatConverter.cxx53
1 files changed, 19 insertions, 34 deletions
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<void>
PcmFormatConverter::Convert(ConstBuffer<void> 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<void> 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();
}