aboutsummaryrefslogtreecommitdiffstats
path: root/src/filter/plugins/NormalizeFilterPlugin.cxx
diff options
context:
space:
mode:
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 = {