[DeepStream 6] uridecodebin always outputs video/x-raw(memory:NVMM) buffer. Is that correct?

• Hardware Platform (Jetson / GPU): GPU
• DeepStream Version: 6.0
• TensorRT Version: 8.0.1.6+cuda11.3.1.005
• NVIDIA GPU Driver Version (valid for GPU only): 470.103.01
• Issue Type( questions, new requirements, bugs): question

Hi, I want to my decodebin plug to output video/x-raw buffer instead of video/x-raw(memory:NVMM).

The pipeline I used was below:

GST_DEBUG_DUMP_DOT_DIR=. gst-launch-1.0 uridecodebin uri=rtsp://10.0.0.207:50900/test caps='video/x-raw' ! nvvideoconvert ! autovideosink

Note that I used the caps property of uridecodebin to specify the memory location of its outputs.

But when I checked the debug .dot of pipeline, I found the output format of uridecodebin is always video/x-raw(memory:NVMM). It seems that the caps property of uridecodebin DOES NOT work at all …

The question is: Is that behavior by design? I know that there is a nvv4l2decoder plug inside of the uridecodebin and it outputs NVMM buffers. What I have expected is just something like an auto-spawned nvvideoconvert inside of the uridecodebin. Is my understanding correct?

Thanks!

Yes.

No. There is no nvvideoconvert inside uridecodebin

Please study uridecodebin by yourself. uridecodebin (gstreamer.freedesktop.org)

1 Like

@Fiona.Chen Thank you for your kindly reply!

I have solved my issue by hooking the autoplug_select events of uridecodebin to select a software decoder, then I could make sure the uridecodebin always outputs video/x-raw instead of video/x-raw(NVMM).

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