//----------------------------------------------------------------------------- // wxGStreamerMediaBackend::SetupXOverlay // // Attempts to set the XWindow id of our GstXOverlay to tell it which // window to play video in. //----------------------------------------------------------------------------- void wxGStreamerMediaBackend::SetupXOverlay() { // Use the xoverlay extension to tell gstreamer to play in our window #ifdef __WXGTK__ if (!gtk_widget_get_realized(m_ctrl->m_wxwindow)) { // Not realized yet - set to connect at realization time g_signal_connect (m_ctrl->m_wxwindow, "realize", G_CALLBACK (gtk_window_realize_callback), this); } else { gdk_flush(); GdkWindow* window = gtk_widget_get_window(m_ctrl->m_wxwindow); wxASSERT(window); #endif gst_x_overlay_set_xwindow_id(GST_X_OVERLAY(m_xoverlay), #ifdef __WXGTK__ GDK_WINDOW_XID(window) #else ctrl->GetHandle() #endif ); #ifdef __WXGTK__ g_signal_connect (m_ctrl->m_wxwindow, // m_ctrl->m_wxwindow/*m_ctrl->m_widget*/, "expose_event", G_CALLBACK(gtk_window_expose_callback), this); } // end if GtkPizza realized #endif }