diff options
author | wm4 <wm4@nowhere> | 2017-09-21 12:48:30 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2017-09-21 12:48:30 +0200 |
commit | fdb300b983744c522f335ccf64e9788b78f86701 (patch) | |
tree | abd10d97e8c6cb30e1621db8b67d709cbfaeb705 /audio | |
parent | 3a2d5e68acb2ac0f8b09b896907a692b1c48c6b3 (diff) | |
download | mpv-fdb300b983744c522f335ccf64e9788b78f86701.tar.bz2 mpv-fdb300b983744c522f335ccf64e9788b78f86701.tar.xz |
audio: make libaf derived code optional
This code could not be relicensed. The intention was to write new filter
code (which could handle both audio and video), but that's a bit of
work. Write some code that can do audio conversion (resampling,
downmixing, etc.) without the old audio filter chain code in order to
speed up the LGPL relicensing.
If you build with --disable-libaf, nothing in audio/filter/* is compiled
in. It breaks a few features, such as --volume, --af, pitch correction
on speed changes, replaygain.
Most likely this adds some bugs, even if --disable-libaf is not used.
(How the fuck does EOF notification work again anyway?)
Diffstat (limited to 'audio')
-rw-r--r-- | audio/audio.h | 2 | ||||
-rw-r--r-- | audio/decode/dec_audio.c | 3 | ||||
-rw-r--r-- | audio/filter/af.h | 5 | ||||
-rw-r--r-- | audio/format.c | 2 |
4 files changed, 9 insertions, 3 deletions
diff --git a/audio/audio.h b/audio/audio.h index a4d9134a20..f370067b78 100644 --- a/audio/audio.h +++ b/audio/audio.h @@ -97,4 +97,6 @@ struct mp_audio *mp_audio_pool_new_copy(struct mp_audio_pool *pool, int mp_audio_pool_make_writeable(struct mp_audio_pool *pool, struct mp_audio *frame); +#include "filter/af.h" + #endif diff --git a/audio/decode/dec_audio.c b/audio/decode/dec_audio.c index 401e26fb7b..387a479a8c 100644 --- a/audio/decode/dec_audio.c +++ b/audio/decode/dec_audio.c @@ -29,6 +29,7 @@ #include "common/msg.h" #include "common/recorder.h" #include "misc/bstr.h" +#include "options/options.h" #include "stream/stream.h" #include "demux/demux.h" @@ -39,8 +40,6 @@ #include "ad.h" #include "audio/format.h" -#include "audio/filter/af.h" - extern const struct ad_functions ad_lavc; // Not a real codec - specially treated. diff --git a/audio/filter/af.h b/audio/filter/af.h index bbf7b53bad..4bd8f55b96 100644 --- a/audio/filter/af.h +++ b/audio/filter/af.h @@ -22,6 +22,11 @@ #include <stdbool.h> #include <sys/types.h> +#include "config.h" +#if !HAVE_LIBAF +#error "libaf disabled" +#endif + #include "options/options.h" #include "audio/format.h" #include "audio/chmap.h" diff --git a/audio/format.c b/audio/format.c index 9a0ebbee42..3df11ba301 100644 --- a/audio/format.c +++ b/audio/format.c @@ -20,7 +20,7 @@ #include <limits.h> #include "common/common.h" -#include "audio/filter/af.h" +#include "format.h" // number of bytes per sample, 0 if invalid/unknown int af_fmt_to_bytes(int format) |