Commit 2e374f12 authored by Corey Hickey's avatar Corey Hickey

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
parent c6bcbb2c
...@@ -266,13 +266,15 @@ int dv_assemble_frame(DVMuxContext *c, AVStream* st, ...@@ -266,13 +266,15 @@ int dv_assemble_frame(DVMuxContext *c, AVStream* st,
/* Lets see if we have enough data to construct one DV frame */ /* 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) { if (c->has_video == 1 && c->has_audio + 1 == 1<<c->n_ast) {
dv_inject_metadata(c, *frame); dv_inject_metadata(c, *frame);
c->has_audio = 0;
for (i=0; i<c->n_ast; i++) { for (i=0; i<c->n_ast; i++) {
dv_inject_audio(c, i, *frame); dv_inject_audio(c, i, *frame);
av_fifo_drain(&c->audio_data[i], reqasize); 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_video = 0;
c->has_audio = 0;
c->frames++; c->frames++;
return c->sys->frame_size; return c->sys->frame_size;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment