Browse Source

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
tags/v0.5
Corey Hickey 18 years ago
parent
commit
2e374f12b5
1 changed files with 3 additions and 1 deletions
  1. +3
    -1
      libavformat/dvenc.c

+ 3
- 1
libavformat/dvenc.c View File

@@ -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;


Loading…
Cancel
Save