[Bug 796516] kms: add support for kms atomic api
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Thu Jun 7 01:20:10 UTC 2018
https://bugzilla.gnome.org/show_bug.cgi?id=796516
--- Comment #2 from Randy Li (ayaka) <ayaka at soulik.info> ---
(In reply to Nicolas Dufresne (ndufresne) from comment #1)
> Review of attachment 372577 [details] [review]:
>
> 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.
>
yes, I will some addition work on kms_sink_start() as well to store all the
caps info of all the plane, then it would be possible to choose a proper drm
plane for future processing.
> ::: 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.
>
It is supported from gcc 4.x, since the kms can't be used beyond the Linux, I
think it is a good way to do that.
> @@ +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.
I know, but the problem is I don't want to include those drm headers in
gstkmssink.h and some others header for it. Maybe I can declear an structure in
the header files, but I think use the private structure is a better choice.
>
> @@ +715,3 @@
> }
>
> + drmSetClientCap (self->fd, DRM_CLIENT_CAP_ATOMIC, 1);
Yes, I am thinking to move it to get_drm_caps()
>
> 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