summaryrefslogtreecommitdiffstats
path: root/audio/filter/af.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-11-18 14:18:37 +0100
committerwm4 <wm4@nowhere>2013-11-18 14:21:01 +0100
commitd5bc4ee79864404423ddf2786d8e8089fc46eeca (patch)
treee884a45b31ef0700af7c9bf85af72a322f4ae77c /audio/filter/af.c
parent5594718b6bda3a230e2e2c3cb06d2837c5a02688 (diff)
downloadmpv-d5bc4ee79864404423ddf2786d8e8089fc46eeca.tar.bz2
mpv-d5bc4ee79864404423ddf2786d8e8089fc46eeca.tar.xz
audio: drop buffered filter data when seeking
This could lead to (barely) audible artifacts with --af=scaletempo and modified playback speed.
Diffstat (limited to 'audio/filter/af.c')
-rw-r--r--audio/filter/af.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/audio/filter/af.c b/audio/filter/af.c
index 6f0241ec2b..2cc6389841 100644
--- a/audio/filter/af.c
+++ b/audio/filter/af.c
@@ -746,3 +746,10 @@ struct af_instance *af_control_any_rev(struct af_stream *s, int cmd, void *arg)
}
return NULL;
}
+
+/* Send control to all filters. Never stop, even if a filter returns AF_OK. */
+void af_control_all(struct af_stream *s, int cmd, void *arg)
+{
+ for (struct af_instance *af = s->first; af; af = af->next)
+ af->control(af, cmd, arg);
+}