summaryrefslogtreecommitdiffstats
path: root/player/core.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-09-21 12:48:30 +0200
committerwm4 <wm4@nowhere>2017-09-21 12:48:30 +0200
commitfdb300b983744c522f335ccf64e9788b78f86701 (patch)
treeabd10d97e8c6cb30e1621db8b67d709cbfaeb705 /player/core.h
parent3a2d5e68acb2ac0f8b09b896907a692b1c48c6b3 (diff)
downloadmpv-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 'player/core.h')
-rw-r--r--player/core.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/player/core.h b/player/core.h
index 1c1924aee2..c3ceefd17d 100644
--- a/player/core.h
+++ b/player/core.h
@@ -200,6 +200,7 @@ struct ao_chain {
bool pts_reset;
struct af_stream *af;
+ struct mp_aconverter *conv; // if af unavailable
struct ao *ao;
struct mp_audio_buffer *ao_buffer;
double ao_resume_time;
@@ -207,9 +208,14 @@ struct ao_chain {
// 1-element input frame queue.
struct mp_aframe *input_frame;
+ // 1-element output frame queue.
+ struct mp_aframe *output_frame;
+
// Last known input_mpi format (so af can be reinitialized any time).
struct mp_aframe *input_format;
+ struct mp_aframe *filter_input_format;
+
struct track *track;
struct lavfi_pad *filter_src;
struct dec_audio *audio_src;