diff options
Diffstat (limited to 'audio')
-rw-r--r-- | audio/filter/af.c | 6 | ||||
-rw-r--r-- | audio/filter/af.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/audio/filter/af.c b/audio/filter/af.c index a132965295..f380459747 100644 --- a/audio/filter/af.c +++ b/audio/filter/af.c @@ -779,6 +779,12 @@ struct mp_audio *af_read_output_frame(struct af_stream *s) return af_dequeue_output_frame(s->last); } +void af_unread_output_frame(struct af_stream *s, struct mp_audio *frame) +{ + struct af_instance *af = s->last; + MP_TARRAY_INSERT_AT(af, af->out_queued, af->num_out_queued, 0, frame); +} + // Make sure the caller can change data referenced by the frame. // Return negative error code on failure (i.e. you can't write). int af_make_writeable(struct af_instance *af, struct mp_audio *frame) 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); |