latency tracer: Missing reports when using b-frames
Submitted by Carlos
Link to original bug (#793034)
Description
Using the Xilinx Ultrascale+ board and the omxh264enc/omxh265enc, when setting b-frames in the encoder, the latency tracer is not reporting all the buffers passing through the pipeline. It looks like the more b-frames you set, the less buffers the tracer reports.
With below pipeline #1
, you can see the latency tracer reporting 5 buffers properly.
GST_DEBUG=TRACE:9 GST_TRACERS="latency" gst-launch-1.0 -v videotestsrc is-live=true num-buffers=5 ! video/x-raw,format=NV12,width=1920,height=1080, framerate=30/1 ! omxh265enc ip-mode=0 gop-length=30 b-frames=0 control-rate=2 filler-data=false ! fakesink silent=false -v
However, with below pipeline #2
, you can see the latency tracer is reporting only 3 buffers, and actually 5 buffers are passing and reaching the fakesink element:
GST_DEBUG=TRACE:9 GST_TRACERS="latency" gst-launch-1.0 -v videotestsrc is-live=true num-buffers=5 ! video/x-raw,format=NV12,width=1920,height=1080, framerate=30/1 ! omxh265enc ip-mode=0 gop-length=30 b-frames=1 control-rate=2 filler-data=false ! fakesink silent=false -v
Version: 1.12.0