Underlying nvoverlaysink graphics engine - retrieve resoltion

Hello ,

I’m writing to the hdmi screen using a nvoverlaysink

and have just figured out I can use at least 5 of them if i specify the overlay number and the location of the ‘window’

pipeline1 ! nvoverlaysink overlay=1 overlay-x=1 overlay-y=1 overlay-w=300 overlay-h=200
pipeline2 ! nvoverlaysink  overlay=2 overlay-x=301 overlay-y=201 overlay-w=300 overlay-h=200

It doesn’t look like nvoverlaysink is using the x-server to render, is this true, if not what is it using ? Is there any documentation on this ?
I’m trying to create a mosaic using 4 for them, but I don’t know how to get total available width and height… is there an api for whatever nvoverlaysink is using to get the resolution…

the example above shows some windows but they are too small for my monitor… i can make them bigger, but i won’t know in advance what resolution will be connected… Is there any way to find this out programatically ?

The nvoverlaysink plugin is to render video plane through display controller. It is similar to nvdrmvideosink and doesn’t go through x- server. Generally we only use one overlay. For multiple sources, we will composite into single video plane and do rendering. This is the implementation in DeepStream SDK and well tested. We don’t recommend create multiple overlays.

For multiple windows, suggest use nv3dsink or nvegglessink

Thank you. I’ll try an nvcomposer then followed by 1 nvoverlaysink

is there a way to find out the max width and height for the nvcomposer to make sure i use the complete display ?

The nvcompositor plugin decides the resolution per input sources. For example, if you have two 640x480 sources and put them syde-by-side, the output resolution is 1280x480.

If you would like to set up the resolution, may apply this patch to add the property:
Gst for merging 4 webcams sometimes works, and sometimes it doesn't - #5 by DaneLLL