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?
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).