Gstreamer PIPE: omxh264dec WORKS nvv4l2decoder DOES NOT WORK

Looking for some help please… trying to follow your suggestions to move away from omxh264dec and use nvv4l2decoder. I am having NO SUCCESS at all. No errors in building PIPELINE.

Here is the working PIPE:

std::string pipe = "rtspsrc location=rtsp://admin:pswd#@192.168.1.30:554/cam/realmonitor?channel=1&subtype=0 ! rtph264depay ! h264parse ! omxh264dec    ! video/x-raw(memory:NVMM),format=NV12 ! nvvidconv ! video/x-raw,format=BGRx,width=1920,height=1080 ! videoconvert ! appsink"

Here is the SAME PIPE with nvv4l2decoder… NO OUTPUT.

std::string pipe = "rtspsrc location=rtsp://admin:pswd#@192.168.1.30:554/cam/realmonitor?channel=1&subtype=0 ! rtph264depay ! h264parse ! nvv4l2decoder ! video/x-raw(memory:NVMM),format=NV12 ! nvvidconv ! video/x-raw,format=BGRx,width=1920,height=1080 ! videoconvert ! appsink"

Attached is the Gstreamer LOG… for when using nvv4l2decoder.
Let me know what other information you would like.
This is getting very frustrating, but there must be a way to use nvv4l2decoder.
THANK YOU!
Gstreamer LOG _Aug27.rtf (101.1 KB)

UPDATE!

In perusing the Forum past messages… I came across this tidbit … and it solved the problem! I am finally successful with using nvv4l2decoder.

So I edited my PIPELINE to remove ‘h264parse’… and it now works.

The QUESTION then is: Why does this solve the problem?
I can find nothing by looking at the Source Capabilities of ‘h264parse’ to indicate there is something there that makes a difference whether its sink is ‘nvv4l2decoder’ or ‘omxh264dec’.

I cannot tell about the root cause, but this is a known issue.

If you want a generic pipeline where you can use either omxh264dec or nvv4l2decoder for testing/benchmarking, you would use 2 successive h264parse converting first to avc stream-format, then back to byte-stream format.