[Bug 775045] gtkglsink: re parenting the video widget into a different toplevel does not work

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu May 10 13:34:52 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=775045

--- Comment #6 from Juan Pablo Ugarte <juanpablougarte at gmail.com> ---
(In reply to Matthew Waters (ystreet00) from comment #5)
> Review of attachment 371869 [details] [review]:
> 
> The other part: changing the display/context used by the pipeline requires
> some thinking/design work as the GstContext machinery does not have support
> for that.
> 
> The easiest thing I can come up with is to add a 'resource-destroyed'-like
> signal on both GstGLDisplay and GstGLContext where on emission each user
> attempts to retrieve a new GstGLDisplay/GstGLContext.

I havent looked at the code at all, but from a quick look at the API
I would add 'context-removed' signal and gst_gl_display_remove_context ()
function to GstGLDisplay.
For GstGLContext maybe we can get away with a weak reference or we can add
GtkWidget::destroy like signal if needed

> ::: ext/gtk/gtkgstglwidget.c
> @@ +377,3 @@
> +  if (!priv->other_context) {
> +    GTK_GST_BASE_WIDGET_UNLOCK (gst_widget);
> +    gst_gtk_invoke_on_main ((GThreadFunc) _get_gl_context, gst_widget);
> 
> Aren't we always called on the main thread already from GtkWidget?

yeah! copy/paste left over

> @@ +388,3 @@
> +
> +  if (priv->context)
> +    retval = gst_gl_display_add_context (priv->display, priv->context);
> 
> retval isn't declared or used.

Ops, I tried to remove all the debug things but missed that one

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list