From 2e374f12b50411fa36dd436c05093a97a727e10f Mon Sep 17 00:00:00 2001
From: Corey Hickey <bugfood-ml@fatooh.org>
Date: Wed, 16 May 2007 02:02:22 +0000
Subject: [PATCH] Don't forget about audio remaining in buffer, in case there
 is enough left to make another DV frame.

Originally committed as revision 9032 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavformat/dvenc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavformat/dvenc.c b/libavformat/dvenc.c
index a660fb5479b..98faf06fb70 100644
--- a/libavformat/dvenc.c
+++ b/libavformat/dvenc.c
@@ -266,13 +266,15 @@ int dv_assemble_frame(DVMuxContext *c, AVStream* st,
     /* Lets see if we have enough data to construct one DV frame */
     if (c->has_video == 1 && c->has_audio + 1 == 1<<c->n_ast) {
         dv_inject_metadata(c, *frame);
+        c->has_audio = 0;
         for (i=0; i<c->n_ast; i++) {
              dv_inject_audio(c, i, *frame);
              av_fifo_drain(&c->audio_data[i], reqasize);
+             c->has_audio |= ((reqasize <= av_fifo_size(&c->audio_data[i])) << i);
         }
 
         c->has_video = 0;
-        c->has_audio = 0;
+
         c->frames++;
 
         return c->sys->frame_size;
-- 
GitLab