diff options
author | Max Kellermann <max@duempel.org> | 2013-12-02 09:15:54 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-12-02 11:21:32 +0100 |
commit | 2b44a2c9bd8f9a171a2e998feb14f3c5a1c29381 (patch) | |
tree | 3e57bc4eafd8d8c377971201049fc5cafde1905b /src/pcm/ChannelsConverter.cxx | |
parent | af3b454805b49301b14f2f55f7a99020527bd63a (diff) | |
download | mpd-2b44a2c9bd8f9a171a2e998feb14f3c5a1c29381.tar.gz mpd-2b44a2c9bd8f9a171a2e998feb14f3c5a1c29381.tar.xz mpd-2b44a2c9bd8f9a171a2e998feb14f3c5a1c29381.zip |
pcm/PcmChannels: use struct ConstBuffer
Diffstat (limited to '')
-rw-r--r-- | src/pcm/ChannelsConverter.cxx | 48 |
1 files changed, 15 insertions, 33 deletions
diff --git a/src/pcm/ChannelsConverter.cxx b/src/pcm/ChannelsConverter.cxx index 5895fb15d..46197b7e0 100644 --- a/src/pcm/ChannelsConverter.cxx +++ b/src/pcm/ChannelsConverter.cxx @@ -62,11 +62,8 @@ PcmChannelsConverter::Close() } ConstBuffer<void> -PcmChannelsConverter::Convert(ConstBuffer<void> src, Error &error) +PcmChannelsConverter::Convert(ConstBuffer<void> src, gcc_unused Error &error) { - const void *result = nullptr; - size_t result_size = 0; - switch (format) { case SampleFormat::UNDEFINED: case SampleFormat::S8: @@ -75,41 +72,26 @@ PcmChannelsConverter::Convert(ConstBuffer<void> src, Error &error) gcc_unreachable(); case SampleFormat::S16: - result = pcm_convert_channels_16(buffer, dest_channels, - src_channels, - (const int16_t *)src.data, - src.size, &result_size); - break; + return pcm_convert_channels_16(buffer, dest_channels, + src_channels, + ConstBuffer<int16_t>::FromVoid(src)).ToVoid(); case SampleFormat::S24_P32: - result = pcm_convert_channels_24(buffer, dest_channels, - src_channels, - (const int32_t *)src.data, - src.size, &result_size); - break; + return pcm_convert_channels_24(buffer, dest_channels, + src_channels, + ConstBuffer<int32_t>::FromVoid(src)).ToVoid(); case SampleFormat::S32: - result = pcm_convert_channels_32(buffer, dest_channels, - src_channels, - (const int32_t *)src.data, - src.size, &result_size); - break; + return pcm_convert_channels_32(buffer, dest_channels, + src_channels, + ConstBuffer<int32_t>::FromVoid(src)).ToVoid(); case SampleFormat::FLOAT: - result = pcm_convert_channels_float(buffer, dest_channels, - src_channels, - (const float *)src.data, - src.size, &result_size); - break; - } - - if (result == nullptr) { - error.Format(pcm_convert_domain, - "Conversion from %u to %u channels " - "is not implemented", - src_channels, dest_channels); - return nullptr; + return pcm_convert_channels_float(buffer, dest_channels, + src_channels, + ConstBuffer<float>::FromVoid(src)).ToVoid(); } - return { result, result_size }; + assert(false); + gcc_unreachable(); } |