Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
Admin message
The migration is almost done, at least the rest should happen in the background. There are still a few technical difference between the old cluster and the new ones, and they are summarized in this issue. Please pay attention to the TL:DR at the end of the comment.
in typical video usage, rendering surface is created by media app, not
vaapisink.
add such feature for wayland platform.
when rendering to external surface, vaapsink should care
wl_compositor/wl_display interface only.
How is this performed in vaapisink? The only supported ways to render to user-provided storage or windows are (i) in vaapisink through the GstXOverlay interface, and I believe we could also use it for Wayland purposes, and (ii) after vaapidecode by having the user handle the GstSurfaceMeta interfaces.
g_return_val_if_fail() are to be considered like asserts, i.e. they can be disabled.
So, this means that if you want id != 0 to be a hard constraint to be always evaluated, then please make if if (!id) return NULL. g_return_val_if_fail(GST_VAAPI_IS_DISPLAY_WAYLAND(display), NULL) can lives in since this is a clear programming error otherwise, in the upper "controlled" layers like plug-in elements.
Why wouldn't wl_buffer_destroy() be needed? Aren't those internal reference counted objects, with the "unreference" from client perspective be only the wl_buffer_destroy().
How is this performed in vaapisink? The only supported ways to render to
user-provided storage or windows are (i) in vaapisink through the GstXOverlay
interface, and I believe we could also use it for Wayland purposes, and (ii)
after vaapidecode by having the user handle the GstSurfaceMeta interfaces.
yes, GstXOverlay interface is used.
since wl_buffer data is in client side, there is no difference for on-screen or off-screen rendering in gst-vaapi.
Please also provide a tests/ patch for test-display for example to exercise
this "external" display / window mechanism.
added in test-display
::: gst-libs/gst/vaapi/gstvaapidisplay_wayland.c
@@ +434,1 @@
This change is not needed. If this fixes something for you, then this means the
problem lies in somewhere else.
g_return_val_if_fail() are to be considered like asserts, i.e. they can be
disabled.
So, this means that if you want id != 0 to be a hard constraint to be always
evaluated, then please make if if (!id) return NULL.
g_return_val_if_fail(GST_VAAPI_IS_DISPLAY_WAYLAND(display), NULL) can lives in
since this is a clear programming error otherwise, in the upper "controlled"
layers like plug-in elements.
Why wouldn't wl_buffer_destroy() be needed? Aren't those internal reference
counted objects, with the "unreference" from client perspective be only the
wl_buffer_destroy().
it is not correct to wl_buffer_destroy upon frame redraw callback.
I add new patch to destory wl_buffer by wl_buffer_listener.
Can't you just implement the GstVaapiPixmap interfaces?
since wl_buffer data is in client side, there is few/no difference of off-screen and on-screen rendering in gst-vaapi.
so seems GstVaapiPixmap is not necessary.
this patch still addresses the difference between external and self-screated wl_surface.
Can't you just implement the GstVaapiPixmap interfaces?
since wl_buffer data is in client side, there is few/no difference of off-screen and on-screen rendering in gst-vaapi.
so seems GstVaapiPixmap is not necessary.
this patch still addresses the difference between external and self-screated wl_surface.
-- ASFAIK, the way to set native display pointer to gstreamer pipeline(with h/w acceleration) is via context message from the application(eg: clutter-gst). And there is no need for a new display property. What do you think?
-- wl_display_dispatch_queue_pending() is available from wayland version 1.0.2 on wards. So we need some version checking of wayland to maintain the backward compatibility.
-- If we really need the "frame-rendered" signal as provided in patch2, then i prefer to add a signal instead of sending custom “frame-rendered” message, and which should happen irrespective of the native display server.