[Bug 796516] kms: add support for kms atomic api

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Jun 6 17:34:13 UTC 2018


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

Nicolas Dufresne (ndufresne) <nicolas at ndufresne.ca> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #372577|none                        |reviewed
             status|                            |

--- Comment #1 from Nicolas Dufresne (ndufresne) <nicolas at ndufresne.ca> ---
Review of attachment 372577:
 --> (https://bugzilla.gnome.org/review?bug=796516&attachment=372577)

Nice start, it proves it won't be too complicated. We will also be able to
probe with TryCommit to set can-scale properly and earlier.

::: sys/kms/gstkmssink.c
@@ +77,3 @@
+    drmModeObjectProperties *props;
+    drmModePropertyRes **props_info;
+  } conn;

Unnamed Structure is C11 feature, I like it, but I'd like to know if that's a
way we want to go globally in GStreamer project.

@@ +94,3 @@
 #define parent_class gst_kms_sink_parent_class
 G_DEFINE_TYPE_WITH_CODE (GstKMSSink, gst_kms_sink, GST_TYPE_VIDEO_SINK,
+    G_ADD_PRIVATE (GstKMSSink);

The entire GstKMSSink class is private (only the plugin is exposed), no need
for private structure.

@@ +715,3 @@
   }

+  drmSetClientCap (self->fd, DRM_CLIENT_CAP_ATOMIC, 1);

This will need a return check to detect non-atomic drivers.

@@ +1586,3 @@
+  req = drmModeAtomicAlloc ();
+
+  add_plane_property (self->priv, req, self->plane_id, "FB_ID", fb_id);

You could maybe just pass self in order to reduce the length of these lines ?

-- 
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