[Bug 704321] Add complete support for GstContext

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Oct 31 22:03:33 CET 2013


https://bugzilla.gnome.org/show_bug.cgi?id=704321
  GStreamer | gst-plugins-gl | git

Sebastian Dröge (slomo) <slomo> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #257937|none                        |needs-work
             status|                            |

--- Comment #10 from Sebastian Dröge (slomo) <slomo at coaxion.net> 2013-10-31 21:03:28 UTC ---
Review of attachment 257937:
 --> (https://bugzilla.gnome.org/review?bug=704321&attachment=257937)

::: gst-libs/gst/gl/gstgldisplay.c
@@ +156,2 @@
   s = gst_context_writable_structure (context);
   gst_structure_set (s, GST_GL_DISPLAY_CONTEXT_TYPE, GST_TYPE_GL_DISPLAY,

You might want to use "display" or a shorter string here. The long complex type
string is used as the name of the context now.

::: gst-libs/gst/gl/gstgldisplay.h
@@ +77,3 @@
 gboolean gst_context_get_gl_display (GstContext * context, GstGLDisplay **
display);

+gboolean gst_gl_display_replace (GstGLDisplay **oldobje, GstGLDisplay
*newobj);

We don't do such things usually, just cast in the code that uses it to
GstObject** and GstObject*

::: gst-libs/gst/gl/gstglfilter.c
@@ +219,3 @@
+          gst_structure_has_name (structure, "gstglcontext")) {
+        gst_structure_set (structure, "gstglcontext", G_TYPE_POINTER,
+            filter->context, NULL);

This custom query is not needed anymore?

@@ +289,3 @@
+
+  structure = gst_structure_new_empty ("gstglcontext");
+  context_query = gst_query_new_custom (GST_QUERY_CUSTOM, structure);

This should be done with the context query

::: gst-libs/gst/gl/gstglmixer.c
@@ +379,3 @@
+      if (gst_structure_has_name (structure, "gstglcontext")) {
+        gst_structure_set (structure, "gstglcontext", G_TYPE_POINTER,
+            mix->context, NULL);

Not needed anymore

@@ +952,3 @@
+
+    structure = gst_structure_new_empty ("gstglcontext");
+    context_query = gst_query_new_custom (GST_QUERY_CUSTOM, structure);

Use context query

::: gst-libs/gst/gl/gstglutils.c
@@ +474,3 @@
+  }
+
+  if (ctxt) {

If the context is set as result of the need-context message, nothing will put
it into ctxt and this function won't return the display

::: gst/gl/gstglimagesink.c
@@ +408,3 @@
+      if (gst_structure_has_name (structure, "gstglcontext")) {
+        gst_structure_set (structure, "gstglcontext", G_TYPE_POINTER,
+            glimage_sink->context, NULL);

Not needed anymore

::: gst/gl/gstgltestsrc.c
@@ +552,3 @@
+
+  structure = gst_structure_new_empty ("gstglcontext");
+  context_query = gst_query_new_custom (GST_QUERY_CUSTOM, structure);

Use context query

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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