summaryrefslogtreecommitdiffstats
path: root/audio/filter/af.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-08-18 20:38:09 +0200
committerwm4 <wm4@nowhere>2016-08-18 20:38:09 +0200
commitbbcd0b6a03e2ff4c70c2923db84467fbdddce17e (patch)
tree76f01eedf4dfc4edd4a5bef72da2ef25acbdb463 /audio/filter/af.h
parent7bba97b301c732fb1eb4dad891d00c947d2f6363 (diff)
downloadmpv-bbcd0b6a03e2ff4c70c2923db84467fbdddce17e.tar.bz2
mpv-bbcd0b6a03e2ff4c70c2923db84467fbdddce17e.tar.xz
audio: improve aspects of EOF handling
The code actually kept going out of EOF mode into resync mode back into EOF mode when the playloop had to wait after an audio EOF caused by the endpts. This would break seamless looping (as added by the next commit). Apply endpts earlier, to ensure the filter_audio() function always returns AD_EOF in this case. The idiotic ao_buffer makes this an amazing pain in the ass.
Diffstat (limited to 'audio/filter/af.h')
-rw-r--r--audio/filter/af.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/audio/filter/af.h b/audio/filter/af.h
index 697024b781..a773f561b3 100644
--- a/audio/filter/af.h
+++ b/audio/filter/af.h
@@ -148,6 +148,7 @@ void af_add_output_frame(struct af_instance *af, struct mp_audio *frame);
int af_filter_frame(struct af_stream *s, struct mp_audio *frame);
int af_output_frame(struct af_stream *s, bool eof);
struct mp_audio *af_read_output_frame(struct af_stream *s);
+void af_unread_output_frame(struct af_stream *s, struct mp_audio *frame);
int af_make_writeable(struct af_instance *af, struct mp_audio *frame);
double af_calc_delay(struct af_stream *s);