aboutsummaryrefslogtreecommitdiff
path: root/src/filter/convert_filter_plugin.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2013-04-23 10:59:41 +0200
committerAnton Khirnov <anton@khirnov.net>2015-02-20 09:18:26 +0100
commit7678c48a72c9750e52161fe023521c794068a72b (patch)
treea5e74060e70ca3a7f3ea25a4add287c58a9576a8 /src/filter/convert_filter_plugin.c
parent3a3d6f18b34dff582a3529de85ce540660031d85 (diff)
Switch filters to AVFrame.
Remove route filter for now, it should be replaced with lavfi later.
Diffstat (limited to 'src/filter/convert_filter_plugin.c')
-rw-r--r--src/filter/convert_filter_plugin.c38
1 files changed, 13 insertions, 25 deletions
diff --git a/src/filter/convert_filter_plugin.c b/src/filter/convert_filter_plugin.c
index 40be67f6..2c2c3b0d 100644
--- a/src/filter/convert_filter_plugin.c
+++ b/src/filter/convert_filter_plugin.c
@@ -97,32 +97,20 @@ convert_filter_close(struct filter *_filter)
sizeof(filter->out_audio_format));
}
-static const void *
-convert_filter_filter(struct filter *_filter, const void *src, size_t src_size,
- size_t *dest_size_r, GError **error_r)
+static AVFrame *convert_filter_filter(struct filter *_filter, AVFrame *src)
{
- struct convert_filter *filter = (struct convert_filter *)_filter;
- const void *dest;
-
- if (audio_format_equals(&filter->in_audio_format,
- &filter->out_audio_format)) {
- /* optimized special case: no-op */
- *dest_size_r = src_size;
- return src;
- }
-
- // FIXME
- return NULL;
-#if 0
- dest = pcm_convert(&filter->state, &filter->in_audio_format,
- src, src_size,
- &filter->out_audio_format, dest_size_r,
- error_r);
- if (dest == NULL)
- return NULL;
-
- return dest;
-#endif
+ struct convert_filter *filter = (struct convert_filter *)_filter;
+ AVFrame *dst;
+
+ /* optimized special case: no-op */
+ if (audio_format_equals(&filter->in_audio_format,
+ &filter->out_audio_format))
+ return src;
+
+ dst = pcm_convert(&filter->state, &filter->in_audio_format,
+ &filter->out_audio_format, src);
+ av_frame_free(&src);
+ return dst;
}
const struct filter_plugin convert_filter_plugin = {