GStreamer nvv4l2decoder plugin warning: NVMEDIA: NVMEDIAFrameStatusReporting: 2115: GetFrameDecodeStatus failed!

Hardware: NVIDIA Jetson Xavier NX Developer Kit.
GStreamer: version 1.22.8
Plugin: nvv4l2decoder
Pipeline: v4l2src device=/dev/video0 ! nvv4l2decoder mjpeg=1 ! fakesink

Background:
Hi,
When running the above simple pipeline using gst-launch-1.0 I get no warnings. However, when running it using python (3.8.10) I get a repeating warning:

(python:538): GStreamer-WARNING **: 19:21:51.123: (../subprojects/gstreamer/gst/gstinfo.c:653):gst_debug_log_valist: runtime check failed: (object == NULL || G_IS_OBJECT (object))

My pipeline is more complex than that but I found that the cause for these warnings is the ‘nvv4l2decoder’ plugin. Adding the property ‘enable-frame-type-reporting=true’ gave me the warning in the title of this topic, for every frame. Trying to google that warning gave me nothing.

Questions:

  1. Why does it happen only when using python?
  2. How do I fix that?

Thanks!

python code:

import gi

gi.require_version("Gst", "1.0")
gi.require_version("GLib", "2.0")

from gi.repository import GLib, Gst

if __name__ == "__main__":
    pipeline_str = "v4l2src device=/dev/video0 ! nvv4l2decoder mjpeg=1 enable-frame-type-reporting=true  ! fakesink"

    print('DEBUG 1')

    Gst.init(None)
    print('DEBUG 2')

    pipeline = Gst.parse_launch(pipeline_str)
    print('DEBUG 3')

    pipeline.set_state(Gst.State.NULL)
    print('DEBUG 3A')

    pipeline.set_state(Gst.State.READY)
    print('DEBUG 3B')

    pipeline.set_state(Gst.State.PAUSED)
    print('DEBUG 3C')

    pipeline.set_state(Gst.State.PLAYING)
    print('DEBUG 4')
    try:
        GLib.MainLoop().run()
    except KeyboardInterrupt:
        print("Ctrl+C... Exiting!")
  • The different ‘set_state()’ are part of the debugging. I get the warnings even without setting to NULL / READY / PAUSE first.

Output:

DEBUG 1
DEBUG 2
DEBUG 3
DEBUG 3A
Opening in BLOCKING MODE 

(python:554): GStreamer-WARNING **: 19:24:46.132: (../subprojects/gstreamer/gst/gstinfo.c:653):gst_debug_log_valist: runtime check failed: (object == NULL || G_IS_OBJECT (object))

(python:554): GStreamer-WARNING **: 19:24:46.132: (../subprojects/gstreamer/gst/gstinfo.c:653):gst_debug_log_valist: runtime check failed: (object == NULL || G_IS_OBJECT (object))

(python:554): GStreamer-WARNING **: 19:24:46.132: (../subprojects/gstreamer/gst/gstinfo.c:653):gst_debug_log_valist: runtime check failed: (object == NULL || G_IS_OBJECT (object))

(python:554): GStreamer-WARNING **: 19:24:46.132: (../subprojects/gstreamer/gst/gstinfo.c:653):gst_debug_log_valist: runtime check failed: (object == NULL || G_IS_OBJECT (object))
DEBUG 3B
DEBUG 3C
DEBUG 4
NvMMLiteOpen : Block : BlockType = 277 
NVMEDIA: Reading vendor.tegra.display-size : status: 6 
NvMMLiteBlockCreate : Block : BlockType = 277 
NvMMLiteNVMEDIADecSetAttribute:: Error status reporting set to 1

(python:554): GStreamer-WARNING **: 19:24:46.712: (../subprojects/gstreamer/gst/gstinfo.c:653):gst_debug_log_valist: runtime check failed: (object == NULL || G_IS_OBJECT (object))

(python:554): GStreamer-WARNING **: 19:24:46.712: (../subprojects/gstreamer/gst/gstinfo.c:653):gst_debug_log_valist: runtime check failed: (object == NULL || G_IS_OBJECT (object))

(python:554): GStreamer-WARNING **: 19:24:46.712: (../subprojects/gstreamer/gst/gstinfo.c:653):gst_debug_log_valist: runtime check failed: (object == NULL || G_IS_OBJECT (object))

(python:554): GStreamer-WARNING **: 19:24:46.712: (../subprojects/gstreamer/gst/gstinfo.c:653):gst_debug_log_valist: runtime check failed: (object == NULL || G_IS_OBJECT (object))
NVMEDIA: NVMEDIAFrameStatusReporting: 2115: GetFrameDecodeStatus failed!
FrameType = B
nActiveRefFrames = 0
Frame 0
NVMEDIA: NVMEDIAFrameStatusReporting: 2115: GetFrameDecodeStatus failed!
FrameType = B
nActiveRefFrames = 0
Frame 1
NVMEDIA: NVMEDIAFrameStatusReporting: 2115: GetFrameDecodeStatus failed!
FrameType = B
nActiveRefFrames = 0
Frame 2
NVMEDIA: NVMEDIAFrameStatusReporting: 2115: GetFrameDecodeStatus failed!
FrameType = B
nActiveRefFrames = 0
Frame 3

Etc.

I must say that the stream is good, despite these worrying warnings.

Hi,
It looks like you manually upgrade to gstreamer 1.22.8. This may trigger certain issues. We suggest use the default version to have better stability. The default version is validated in SQA tests.
It is getreamer 1.145 in Jetpack 4 and 1.16.3 in Jetpack 5.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.