Commit 28d37f71 authored by Michael Niedermayer's avatar Michael Niedermayer

examples/decoding_encoding: fix encoding when all frames got buffered.

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 20f47eb5
......@@ -215,6 +215,7 @@ static void video_encode_example(const char *filename, int codec_id)
FILE *f;
AVFrame *picture;
uint8_t *outbuf;
int had_output=0;
printf("Video encoding\n");
......@@ -284,15 +285,17 @@ static void video_encode_example(const char *filename, int codec_id)
/* encode the image */
out_size = avcodec_encode_video(c, outbuf, outbuf_size, picture);
had_output |= out_size;
printf("encoding frame %3d (size=%5d)\n", i, out_size);
fwrite(outbuf, 1, out_size, f);
}
/* get the delayed frames */
for(; out_size; i++) {
for(; out_size || !had_output; i++) {
fflush(stdout);
out_size = avcodec_encode_video(c, outbuf, outbuf_size, NULL);
had_output |= out_size;
printf("write frame %3d (size=%5d)\n", i, out_size);
fwrite(outbuf, 1, out_size, f);
}
......
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