summaryrefslogtreecommitdiffstats
path: root/filters/user_filters.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2018-01-18 14:44:20 +0100
committerKevin Mitchell <kevmitch@gmail.com>2018-01-30 03:10:27 -0800
commitb9f804b566c4c528714e4ec5e63675ad7ba5fefd (patch)
tree49d6fcd42ce6597a67aa2af59b7f20beb21a2e14 /filters/user_filters.c
parent76276c92104c31ee936ba5c76a76072f09978c5f (diff)
downloadmpv-b9f804b566c4c528714e4ec5e63675ad7ba5fefd.tar.bz2
mpv-b9f804b566c4c528714e4ec5e63675ad7ba5fefd.tar.xz
audio: rewrite filtering glue code
Use the new filtering code for audio too.
Diffstat (limited to 'filters/user_filters.c')
-rw-r--r--filters/user_filters.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/filters/user_filters.c b/filters/user_filters.c
index f59dd22d76..30358a4a94 100644
--- a/filters/user_filters.c
+++ b/filters/user_filters.c
@@ -18,6 +18,31 @@ static bool get_desc_from(const struct mp_user_filter_entry **list, int num,
return true;
}
+// --af option
+
+const struct mp_user_filter_entry *af_list[] = {
+ &af_lavfi,
+ &af_lavfi_bridge,
+ &af_scaletempo,
+ &af_format,
+#if HAVE_RUBBERBAND
+ &af_rubberband,
+#endif
+ &af_lavcac3enc,
+};
+
+static bool get_af_desc(struct m_obj_desc *dst, int index)
+{
+ return get_desc_from(af_list, MP_ARRAY_SIZE(af_list), dst, index);
+}
+
+const struct m_obj_list af_obj_list = {
+ .get_desc = get_af_desc,
+ .description = "audio filters",
+ .allow_disable_entries = true,
+ .allow_unknown_entries = true,
+};
+
// --vf option
const struct mp_user_filter_entry *vf_list[] = {
@@ -66,6 +91,10 @@ struct mp_filter *mp_create_user_filter(struct mp_filter *parent,
frame_type = MP_FRAME_VIDEO;
obj_list = &vf_obj_list;
defs_name = "vf-defaults";
+ } else if (type == MP_OUTPUT_CHAIN_AUDIO) {
+ frame_type = MP_FRAME_AUDIO;
+ obj_list = &af_obj_list;
+ defs_name = "af-defaults";
}
assert(frame_type && obj_list);