Skip to content
  • George Kiagiadakis's avatar
    waylandsink: rework the mechanism for keeping buffers out of the pool until wl_buffer::release · 9807d58b
    George Kiagiadakis authored
    This also removes the GstWlMeta and adds a wrapper class for wl_buffer
    which is saved in the GstBuffer qdata instead of being a GstMeta.
    
    The motivation behind this is mainly to allow attaching wl_buffers on
    GstBuffers that have not been allocated inside the GstWaylandBufferPool,
    so that if for example an upstream element is sending us a buffer
    from a different pool, which however does not need to be copied
    to a buffer from our pool because it may be a hardware buffer
    (hello dmabuf!), we can create a wl_buffer directly from it and first,
    attach it on it so that we don't have to re-create a wl_buffer every
    time the same GstBuffer arrives and second, force the whole mechanism
    for keeping the buffer out of the pool until there is a wl_buffer::release
    on that foreign GstBuffer.
    9807d58b