aboutsummaryrefslogtreecommitdiffstats
path: root/src/filter/plugins/ConvertFilterPlugin.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/ConvertFilterPlugin.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 '')
-rw-r--r--src/filter/plugins/ConvertFilterPlugin.cxx18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/filter/plugins/ConvertFilterPlugin.cxx b/src/filter/plugins/ConvertFilterPlugin.cxx
index 535330cfe..5c6a07ba1 100644
--- a/src/filter/plugins/ConvertFilterPlugin.cxx
+++ b/src/filter/plugins/ConvertFilterPlugin.cxx
@@ -54,9 +54,8 @@ public:
virtual AudioFormat Open(AudioFormat &af, Error &error) override;
virtual void Close() override;
- virtual const void *FilterPCM(const void *src, size_t src_size,
- size_t *dest_size_r,
- Error &error) override;
+ virtual ConstBuffer<void> FilterPCM(ConstBuffer<void> src,
+ Error &error) override;
};
static Filter *
@@ -119,21 +118,16 @@ ConvertFilter::Close()
poison_undefined(&out_audio_format, sizeof(out_audio_format));
}
-const void *
-ConvertFilter::FilterPCM(const void *src, size_t src_size,
- size_t *dest_size_r, Error &error)
+ConstBuffer<void>
+ConvertFilter::FilterPCM(ConstBuffer<void> src, Error &error)
{
assert(in_audio_format.IsValid());
- if (!out_audio_format.IsValid()) {
+ if (!out_audio_format.IsValid())
/* optimized special case: no-op */
- *dest_size_r = src_size;
return src;
- }
- auto result = state->Convert({src, src_size}, error);
- *dest_size_r = result.size;
- return result.data;
+ return state->Convert(src, error);
}
const struct filter_plugin convert_filter_plugin = {