summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-10-02 01:20:01 +0200
committerwm4 <wm4@nowhere>2014-10-02 01:20:01 +0200
commit2e16dfbf93bd9348c4beb526b14f52b01af3e867 (patch)
tree65ae18861fa4d5b566a5ec3957379705338a6f0b
parent2064fc29907e4d58b5380c7dc6a2721a6c5f2268 (diff)
downloadmpv-2e16dfbf93bd9348c4beb526b14f52b01af3e867.tar.bz2
mpv-2e16dfbf93bd9348c4beb526b14f52b01af3e867.tar.xz
audio/filter: don't wipe full filter chain if adding a filter fails
There's no need for that, and in fact makes it more likely that it recovers normally.
-rw-r--r--audio/filter/af.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/audio/filter/af.c b/audio/filter/af.c
index 9227c9c036..72029f1013 100644
--- a/audio/filter/af.c
+++ b/audio/filter/af.c
@@ -681,8 +681,11 @@ struct af_instance *af_add(struct af_stream *s, char *name, char **args)
// Reinitalize the filter list
if (af_reinit(s) != AF_OK) {
- af_uninit(s);
- af_init(s);
+ af_remove(s, new);
+ if (af_reinit(s) != AF_OK) {
+ af_uninit(s);
+ af_init(s);
+ }
return NULL;
}
return new;