GNOME Bugzilla – Bug 793034
latency tracer: Missing reports when using b-frames
Last modified: 2018-11-03 12:44:42 UTC
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
Thanks for reporting, the only explanation I could think of is that the custom event is being dropped somewhere. First place I would look is inside gst-omx. Best is to test with x264enc as a comparison.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/273.