[gst-devel] osxvideosink: how to get the window id?

Philippe Normand phil at base-art.net
Wed Jun 23 12:27:50 CEST 2010


On Sun, 2010-06-13 at 07:30 -0700, Thomas Loewe wrote:
> Hi,
> 
> as i understand the latest osxvideosink now supports the xoverlay interface
> and i can set the output window via gst_x_overlay_set_xwindow_id().
> 
> My app (based on wxwidgets) is running fine on windows and linux, but on osx
> i dont know how to get the window id to redirect the video to my own window.
> 
> Is there any example how to do this on osx?
> 
> Thank you,
> Thomas

The osxvideosink sends a pointer to a NSView to the application via a
message containing a have-ns-view structure, small snippet:

    if (gst_structure_has_name(message->structure, "have-ns-view")) {
        videoWindow =(NSView*)
g_value_get_pointer(gst_structure_get_value(message->structure,
"nsview"));

Then you can map the NSView to a NSWindow and show it. The message needs
to be handled synchronously by the application.

If you want a complete example, Alessandro (twi_ on IRC) told me he has
one written in Python :)

Philippe






More information about the gstreamer-devel mailing list