ffmpeg: copy b frame codec delay back from decoder to demuxer
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 1 Jun 2014 13:20:28 +0000 (15:20 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 1 Jun 2014 13:30:15 +0000 (15:30 +0200)
The demuxer needs this value to generate correct timestamps in some corner cases
Ideally the parser would always set this correctly, but some parsers lac support
for extracting this value, also its not trivial.
This fixes a regression

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg.c

index 8c1faea..f667bd8 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1856,6 +1856,7 @@ static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output)
     ret = avcodec_decode_video2(ist->dec_ctx,
                                 decoded_frame, got_output, pkt);
     update_benchmark("decode_video %d.%d", ist->file_index, ist->st->index);
+    ist->st->codec->has_b_frames = ist->dec_ctx->has_b_frames;
 
     if (*got_output || ret<0 || pkt->size)
         decode_error_stat[ret<0] ++;