GNOME Bugzilla – Bug 663616
[gstffmpegdec] Properly report latency
Last modified: 2012-09-13 13:49:34 UTC
There are a couple of places where ffmpeg introduces latency which we should report in the LATENCY query. * When using frame-based multi-threading (FF_THREAD_FRAME), there will be an introduced latency of at least one frame [0] * When context->has_b_frames is !=0, there is an introduced latency of has_b_frames. [0] http://git.libav.org/?p=libav.git;a=blob;f=libavcodec/avcodec.h;h=f169bec37e487c85f13942bb7a1b691b404d8566;hb=HEAD#l2886
Created attachment 201018 [details] [review] ffmpegdec: Report latency if B-frames are present ... and cleanup the query handler while we're at it
This patch will need porting as we are using base class now. For some reason, in my testing, I see has_b_frames + 1 or latency when running with a single thread.
I no longer see that +1 bug in .11. Here's a branch that reintroduce latency support implement the same way as Edward did. http://cgit.collabora.com/git/user/nicolas/gst-ffmpeg.git/log/?h=fixup
Created attachment 224223 [details] [review] Cleanup an unused boolean (has_b_frames)
Created attachment 224224 [details] [review] Set latency base on the number of bframes
commit 3ca45b8c454699aef97b4a162e5472e3b4b86537 Author: Nicolas Dufresne <nicolas.dufresne@collabora.co.uk> Date: Thu Sep 13 09:36:14 2012 -0400 viddec: Set latency base on the number of bframes commit 1f74496b8a6bd536484d05e45272db88822c67ca Author: Nicolas Dufresne <nicolas.dufresne@collabora.co.uk> Date: Thu Sep 13 09:34:29 2012 -0400 viddec: Cleanup unused has_b_frames flag