aboutsummaryrefslogtreecommitdiffstats
path: root/src/filter/plugins/NormalizeFilterPlugin.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2014-08-12 16:09:07 +0200
committerMax Kellermann <max@duempel.org>2014-08-12 16:40:51 +0200
commit7244dc45110118631c16448907c344163bcb402c (patch)
treecd6a05d27069d6f5234cb8f0af7c7c5034362cef /src/filter/plugins/NormalizeFilterPlugin.cxx
parent56f61a6d59cfc6a97005d85599963cafdfdeaba8 (diff)
downloadmpd-7244dc45110118631c16448907c344163bcb402c.tar.gz
mpd-7244dc45110118631c16448907c344163bcb402c.tar.xz
mpd-7244dc45110118631c16448907c344163bcb402c.zip
Filter: FilterPCM() returns ConstBuffer
API simplification. We can now avoid abusing a "size_t*" as additional return value.
Diffstat (limited to 'src/filter/plugins/NormalizeFilterPlugin.cxx')
-rw-r--r--src/filter/plugins/NormalizeFilterPlugin.cxx20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/filter/plugins/NormalizeFilterPlugin.cxx b/src/filter/plugins/NormalizeFilterPlugin.cxx
index 58eb0c6a2..a69df2b81 100644
--- a/src/filter/plugins/NormalizeFilterPlugin.cxx
+++ b/src/filter/plugins/NormalizeFilterPlugin.cxx
@@ -24,6 +24,7 @@
#include "pcm/PcmBuffer.hxx"
#include "AudioFormat.hxx"
#include "AudioCompress/compress.h"
+#include "util/ConstBuffer.hxx"
#include <string.h>
@@ -35,8 +36,8 @@ class NormalizeFilter final : public Filter {
public:
virtual AudioFormat Open(AudioFormat &af, Error &error) override;
virtual void Close();
- virtual const void *FilterPCM(const void *src, size_t src_size,
- size_t *dest_size_r, Error &error);
+ virtual ConstBuffer<void> FilterPCM(ConstBuffer<void> src,
+ Error &error) override;
};
static Filter *
@@ -63,17 +64,14 @@ NormalizeFilter::Close()
Compressor_delete(compressor);
}
-const void *
-NormalizeFilter::FilterPCM(const void *src, size_t src_size,
- size_t *dest_size_r, gcc_unused Error &error)
+ConstBuffer<void>
+NormalizeFilter::FilterPCM(ConstBuffer<void> src, gcc_unused Error &error)
{
- int16_t *dest = (int16_t *)buffer.Get(src_size);
- memcpy(dest, src, src_size);
+ int16_t *dest = (int16_t *)buffer.Get(src.size);
+ memcpy(dest, src.data, src.size);
- Compressor_Process_int16(compressor, dest, src_size / 2);
-
- *dest_size_r = src_size;
- return dest;
+ Compressor_Process_int16(compressor, dest, src.size / 2);
+ return { (const void *)dest, src.size };
}
const struct filter_plugin normalize_filter_plugin = {