[Bug 711155] wayland: add wl_drm support to wayland sink
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Thu Sep 15 14:25:50 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=711155
Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #333064|none |needs-work
status| |
--- Comment #80 from Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> ---
Review of attachment 333064:
--> (https://bugzilla.gnome.org/review?bug=711155&attachment=333064)
I think I covered all I could find.
::: ext/wayland/gstwaylandsink.c
@@ +660,3 @@
wbuf = gst_wl_shm_memory_construct_wl_buffer (mem, sink->display,
&sink->video_info);
+ else if (gst_is_dmabuf_memory (mem))
As you added NV* support, you may have two DMA-Buf FDs. This check need to be a
look (or followed by a loop), and gst_wl_linux_dmabuf_construct_wl_buffer()
need work.
@@ +662,3 @@
+ else if (gst_is_dmabuf_memory (mem))
+ wbuf = gst_wl_linux_dmabuf_construct_wl_buffer (buffer, sink->display,
+ &sink->video_info);
Need to check the the dmabuf interface is present, will cause an assertion
inside that function if missing in the compositor.
@@ +670,3 @@
GstMapInfo src;
/* we don't know how to create a wl_buffer directly from the provided
+ * memory, so we have to copy the data to shm memory that we know how
This is sub-optimal if the incoming buffer is a DMA-Buf that failed to import
but is in one of the supported shm formats. A method to wrap the DMA-Buf fs as
being shm should be added (quite trivial).
@@ +738,2 @@
{
GST_ERROR_OBJECT (sink, "could not create wl_buffer out of wl_shm
memory");
An error should be posted on the bus, see GST_ELEMENT_ERROR(). Also, we should
add some logic to clarify. We may have a dmabuf that failed to import and was
of a format unsupported by SHM. There no clear error for that atm,
@@ +743,3 @@
+no_wl_buffer:
+ {
+ GST_ERROR_OBJECT (sink, "buffer %p cannot have a wl_buffer", buffer);
GST_ELEMENT_ERROR().
--
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