summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--audio/filter/af_lavcac3enc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/audio/filter/af_lavcac3enc.c b/audio/filter/af_lavcac3enc.c
index 31b84e1528..44a2231836 100644
--- a/audio/filter/af_lavcac3enc.c
+++ b/audio/filter/af_lavcac3enc.c
@@ -232,6 +232,9 @@ static bool fill_buffer(struct af_instance *af)
af->delay = 0;
if (s->pending) {
+ if (!mp_audio_is_writeable(s->input))
+ assert(s->input->samples == 0); // we can't have sent a partial frame
+ mp_audio_realloc_min(s->input, s->in_samples);
int copy = MPMIN(s->in_samples - s->input->samples, s->pending->samples);
s->input->samples += copy;
mp_audio_copy(s->input, s->input->samples - copy, s->pending, 0, copy);