Window handle of nv3dsink

I would like to get the window handle that nv3dsink uses to render the video. How can I do that from C / C++?

Hi,
For setting properties to a gstreamer plugin, you can call g_object_set(). The following properties are supported:

  window-x            : X coordinate of window
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 2147483647 Default: 0
  window-y            : Y coordinate of window
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 2147483647 Default: 0
  window-width        : Width of window
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 2147483647 Default: 0
  window-height       : Height of window
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 2147483647 Default: 0

Thank you,
that was my first solution, but I also need to be able to raise and lower the window. Therefore I would like to get the window handle to be able to call, for example, XRaiseWindow() on it.

Because the plugin implements the gstvideooverlay interface I have now implemented a more complex solution by creating my own window and then passing my window handle to the nv3dsink. Thus I have control over the window.

But it would be interesting to know if there is a better / simpler solution to control also the window layering.

Hi,
Since nv3dsink is not open source and there is no implemented property you can use directly, Your solution looks good.

Another alternative is to use NVEglrenderer in appsink. You may take a look at


Seems not better than yours. Only for reference.