Dear all,
I came across a rather annoying “feature”, i.e. it seems that in GStreamer, the Nvidia plugin nvcompositor does not accept buffers in NVMM memory type.
The following works:
gst-launch-1.0 \
nvcompositor name=mix sink_0::xpos=0 sink_0::ypos=0 sink_1::xpos=0 sink_1::ypos=240 ! nvoverlaysink \
videotestsrc ! mix.sink_0 \
videotestsrc ! mix.sink_1
But this does NOT:
gst-launch-1.0 \
nvcompositor name=mix sink_0::xpos=0 sink_0::ypos=0 sink_1::xpos=0 sink_1::ypos=240 ! nvoverlaysink \
videotestsrc ! nvvidconv ! mix.sink_0 \
videotestsrc ! nvvidconv ! mix.sink_1
Since gst-inspect-1.0 nvcompositor gives:
Pad Templates:
SINK template: 'sink_%u'
Availability: On request
Capabilities:
video/x-raw(memory:NVMM)
format: { (string)RGBA, (string)I420, (string)NV12 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
video/x-raw
format: { (string)RGBA, (string)I420, (string)NV12 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
This is a clear bug, please fix :)