Discussion:
[Bug 705821] wayland: add support for external wl_surface/wl_display
"GStreamer" (GNOME Bugzilla)
2016-02-16 13:39:17 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

sreerenj <***@gmail.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
Component|general |gstreamer-vaapi
Assignee|gstreamer-vaapi-***@gnome |gstreamer-***@lists.freede
|.bugs |sktop.org
Product|gstreamer-vaapi |GStreamer
Target Milestone|--- |git master
QA Contact|gstreamer-vaapi-***@gnome |gstreamer-***@lists.freede
|.bugs |sktop.org
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2016-09-28 05:54:49 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Arun Raghavan <***@arunraghavan.net> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@arunraghavan.net

--- Comment #56 from Arun Raghavan <***@arunraghavan.net> ---
Is there anything left to be done here?
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2016-09-28 17:23:07 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Nicolas Dufresne (stormer) <***@ndufresne.ca> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@ndufresne.ca
Summary|wayland: add support for |vaapi/wayland: add support
|external |for external
|wl_surface/wl_display |wl_surface/wl_display
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2016-11-07 07:52:28 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Hyunjun Ko <***@igalia.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@igalia.com
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2016-12-06 10:26:54 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Marcos Mello <***@gmail.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@gmail.com

--- Comment #57 from Marcos Mello <***@gmail.com> ---
Running GNOME 3.22 + Wayland (Arch), with gstreamer 1.10.2 and libva 1.7.3, I
get this for MPEG-2/AC3 MKV file (extracted from DVD):

$ gst-play-1.0 test.mkv
Press 'k' to see a list of keyboard shortcuts.
Now playing /home/marcos/Downloads/test.mkv
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
Redistribute latency...
Redistribute latency...
***@7: error 2: Failed to create a texture for surface 7
ERROR Internal error: could not render surface for
file:///home/marcos/Downloads/test.mkv
ERROR debug information: gstvaapisink.c(1457):
gst_vaapisink_show_frame_unlocked ():
/GstPlayBin:playbin/GstPlaySink:playsink/GstBin:vbin/GstVaapiSink:vaapisink0
Reached end of play list.

(Totem fails too)

I have an old Intel GM45 chip. Under Xorg session it works.

Is it this bug?
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2016-12-06 10:40:53 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #58 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
(In reply to Marcos Mello from comment #57)
Post by "GStreamer" (GNOME Bugzilla)
Running GNOME 3.22 + Wayland (Arch), with gstreamer 1.10.2 and libva 1.7.3,
$ gst-play-1.0 test.mkv
Press 'k' to see a list of keyboard shortcuts.
Now playing /home/marcos/Downloads/test.mkv
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
Redistribute latency...
Redistribute latency...
ERROR Internal error: could not render surface for
file:///home/marcos/Downloads/test.mkv
/GstPlayBin:playbin/GstPlaySink:playsink/GstBin:vbin/GstVaapiSink:vaapisink0
Reached end of play list.
(Totem fails too)
I have an old Intel GM45 chip. Under Xorg session it works.
Is it this bug?
No. Please open another bug. But looking at the error, it looks like a problem
in wayland.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-05-18 06:51:50 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #59 from Hyunjun Ko <***@igalia.com> ---
Created attachment 352067
--> https://bugzilla.gnome.org/attachment.cgi?id=352067&action=edit
libs: window: wayland: scale when size of src and dst is different

When the size of src_rect and dst_rect is different, we need to use vpp.
Otherwise, the output is cropped according to the size of src rect.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-05-18 06:52:30 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #60 from Hyunjun Ko <***@igalia.com> ---
Created attachment 352068
--> https://bugzilla.gnome.org/attachment.cgi?id=352068&action=edit
libs: display/window: wayland: add foreign wl_display/wl_surface support

wl_display can be set from application.

It is not fatal when wl_display doesn't support shell/output interface,
since shell_surface and opaque_region are not necessary for external
wayland surfaces.

Also, use wl_subcompositor and wl_subsurface.
See Appendix A. Wayland Protocol Specification as the following.

"The aim of sub-surfaces is to offload some of the compositing work
within a window from clients to the compositor. A prime example is
a video player with decorations and video in separate wl_surface objects.
This should allow the compositor to pass YUV video buffer processing to
dedicated overlay hardware when possible."

Added these new methods gst_vaapi_window_wayland_new_with_surface(),
gst_vaapi_window_wayland_get_surface() and
gst_vaapi_window_wayland_is_foreign_surface()

Original-Patch-By: Víctor Manuel Jáquez Leal <***@intel.com>
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-05-18 06:53:15 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #61 from Hyunjun Ko <***@igalia.com> ---
Created attachment 352069
--> https://bugzilla.gnome.org/attachment.cgi?id=352069&action=edit
vaapisink: implements gst_vaapisink_wayland_create_window_from_handle

Implements gst_vaapisink_wayland_create_window_from_handle to support
using external wl_surface.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-05-18 06:53:48 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #62 from Hyunjun Ko <***@igalia.com> ---
Created attachment 352070
--> https://bugzilla.gnome.org/attachment.cgi?id=352070&action=edit
libs: window: implements gst_vaapi_window_set_render_rectangle

Implements new vmethod gst_vaapi_window_set_render_rectangle,
which is doing set the information of the rendered rectangle set by user.
This is necessary on wayland at least to get exact information of external
surface.

And vaapisink calls this when gst_video_overlay_set_render_rectangle is called.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-05-18 06:54:29 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #63 from Hyunjun Ko <***@igalia.com> ---
Created attachment 352071
--> https://bugzilla.gnome.org/attachment.cgi?id=352071&action=edit
libs: window: make safe when resize of window

When resizing the window, gst_vaapi_window_set_size is likely to be
called in different thread. So wee need to protect it.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-05-18 12:47:13 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #64 from Hyunjun Ko <***@igalia.com> ---
Note that these patches are not going to work on the master.
GstContext work(#bug 766704) should be done first.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-05-20 14:31:52 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Julien Isorce <***@gmail.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@gmail.com
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2017-06-20 13:07:31 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Jonas Ådahl <***@gmail.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@gmail.com
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-17 15:22:11 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Víctor Manuel Jáquez Leal <***@igalia.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://bugzilla.gnome.org/
| |show_bug.cgi?id=795220
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-17 15:46:16 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Strangiato <***@gmx.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@gmx.com
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 13:26:41 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Víctor Manuel Jáquez Leal <***@igalia.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@pengutronix.de

--- Comment #65 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
*** Bug 795220 has been marked as a duplicate of this bug. ***
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 14:55:41 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #66 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
Created attachment 371096
--> https://bugzilla.gnome.org/attachment.cgi?id=371096&action=edit
libs: display,window: wayland: foreign wl_display/wl_surface support

wl_display can be set from application.

It is not fatal when wl_display doesn't support shell/output interface,
since shell_surface and opaque_region are not necessary for external
wayland surfaces.

Also, use wl_subcompositor and wl_subsurface.
See Appendix A. Wayland Protocol Specification as the following.

"""
The aim of sub-surfaces is to offload some of the compositing work
within a window from clients to the compositor. A prime example is
a video player with decorations and video in separate wl_surface
objects.

This should allow the compositor to pass YUV video buffer processing to
dedicated overlay hardware when possible.
"""

Added new method gst_vaapi_window_wayland_new_with_surface()

Original-Patch-By: Víctor Manuel Jáquez Leal <***@intel.com>
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 14:55:52 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #67 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
Created attachment 371097
--> https://bugzilla.gnome.org/attachment.cgi?id=371097&action=edit
vaapisink: implements gst_vaapisink_wayland_create_window_from_handle()

Implements gst_vaapisink_wayland_create_window_from_handle() to support
using external wl_surface.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 14:56:01 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #68 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
Created attachment 371098
--> https://bugzilla.gnome.org/attachment.cgi?id=371098&action=edit
libs: window: implements gst_vaapi_window_set_render_rectangle

Implements new vmethod gst_vaapi_window_set_render_rectangle,
which is doing set the information of the rendered rectangle set by
user.
This is necessary on wayland at least to get exact information of
external surface.

And vaapisink calls this when gst_video_overlay_set_render_rectangle is
called.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 14:56:10 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Víctor Manuel Jáquez Leal <***@igalia.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #352071|0 |1
is obsolete| |

--- Comment #69 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
Created attachment 371099
--> https://bugzilla.gnome.org/attachment.cgi?id=371099&action=edit
libs: window: make safe when resize of window

When resizing the window, gst_vaapi_window_set_size is likely to be
called in different thread. So wee need to protect it.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 14:56:24 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #70 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
Created attachment 371100
--> https://bugzilla.gnome.org/attachment.cgi?id=371100&action=edit
libs: display: wayland: add gst_vaapi_display_wayland_new_with_va_display()

Implements new API function so that users could create GstVaapiDisplay
with their own VADisplay within a native display as backend.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 14:56:32 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #71 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
Created attachment 371101
--> https://bugzilla.gnome.org/attachment.cgi?id=371101&action=edit
videocontext: support wl-display in "gst.vaapi.app.Display"

Through "gst.vaapi.app.Display" context, users can set their own
VADisplay and native display of their backend.

So far we support only X11 display, from now we also support Wayland
display.

Attributes:
- wl-display : pointer of struct wl_display .
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 15:02:05 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Víctor Manuel Jáquez Leal <***@igalia.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #302220|0 |1
is obsolete| |
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 15:48:46 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Víctor Manuel Jáquez Leal <***@igalia.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #352067|0 |1
is obsolete| |
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 15:49:23 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Víctor Manuel Jáquez Leal <***@igalia.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #352069|0 |1
is obsolete| |
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 15:49:54 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Víctor Manuel Jáquez Leal <***@igalia.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #352070|0 |1
is obsolete| |
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 16:47:07 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Víctor Manuel Jáquez Leal <***@igalia.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #352068|0 |1
is obsolete| |
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 16:47:34 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Víctor Manuel Jáquez Leal <***@igalia.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #301558|none |needs-work
status| |
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 17:29:16 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #72 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
Attachment 371100 pushed as 1825d93 - libs: display: wayland: add
gst_vaapi_display_wayland_new_with_va_display()
Attachment 371101 pushed as bfac678 - videocontext: support wl-display in
"gst.vaapi.app.Display"
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 17:29:24 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Víctor Manuel Jáquez Leal <***@igalia.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #371100|none |committed
status| |
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-04-18 17:29:29 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Víctor Manuel Jáquez Leal <***@igalia.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #371101|none |committed
status| |
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-10-05 19:17:17 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Matteo Valdina <***@gmail.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@gmail.com

--- Comment #73 from Matteo Valdina <***@gmail.com> ---
I'm giving a try to these patches.

I make it work but I'm facing an issue when I change the src of the vaapisink
element.

When I switch a from one src to another a frame of the previous src remain
rendered on top of the new frame.

Do you ever see a similar issue in the past?

This issue is not happening on the X11 counterpart.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-10-05 20:03:22 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #74 from Matteo Valdina <***@gmail.com> ---
(In reply to Matteo Valdina from comment #73)
Post by "GStreamer" (GNOME Bugzilla)
I'm giving a try to these patches.
I make it work but I'm facing an issue when I change the src of the
vaapisink element.
When I switch a from one src to another a frame of the previous src remain
rendered on top of the new frame.
Do you ever see a similar issue in the past?
This issue is not happening on the X11 counterpart.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-10-05 20:24:58 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #75 from Matteo Valdina <***@gmail.com> ---
Hi,
I would like to know if there is a need to implement the wp_viewport for the
rescale in vaapisink or it will use the vpp?
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-10-08 12:37:20 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #76 from Matteo Valdina <***@gmail.com> ---
Hi,
About my initial issue, I figured out. It was an issue on my side.

The only persistent issue is when I set a different size from the src.
I set my desired dimension via gst_video_overlay_set_render_rectangle.

This show for a fraction of a second the desired input but after that the
surface become black.

There is a TODO in the "gst_vaapi_window_wayland_set_render_rect".

void
gst_vaapi_window_wayland_set_render_rect (GstVaapiWindow * window, gint x,
gint y, gint width, gint height)
{
GstVaapiWindowWaylandPrivate *const priv =
GST_VAAPI_WINDOW_WAYLAND_GET_PRIVATE (window);

if (priv->video_subsurface)
wl_subsurface_set_position (priv->video_subsurface, x, y);

/* TODO: something to scale maybe */

return;
}

My first thought is to add the wl_viewport to do the rescale. But I'm wondering
if it should be implemented with a vaapostproc instead.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-10-15 14:14:11 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #77 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
(In reply to Matteo Valdina from comment #75)
Post by "GStreamer" (GNOME Bugzilla)
Hi,
I would like to know if there is a need to implement the wp_viewport for the
rescale in vaapisink or it will use the vpp?
vaapisink uses VPP when it requires to rescale, since it is independent of the
rendering server (X/drm/Wayland)
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-10-15 14:43:22 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #78 from Matteo Valdina <***@gmail.com> ---
Thanks,
I imagined that.
I'm digging a little deeper in these patches.

The first issue that I found was when there is a caps renegotiation the whole
frame is rendered black.

This was caused in the gstvaapisink.c function gst_vaapisink_set_caps.

The current code (after the patch) was

...
gst_vaapisink_ensure_window_size (sink, &win_width, &win_height);
if (sink->window) {
if (!sink->foreign_window || sink->fullscreen)
gst_vaapi_window_set_size (sink->window, win_width, win_height);
} else {
...

The problem that when the caps are renegotiated (like change the src) it will
skip assigning the window_vaapi_size and will assign the size of 0x0 to the
sink->window_width and sink->window_height.
...
gst_vaapisink_ensure_window_size (sink, &win_width, &win_height);
if (sink->window) {
if (!sink->foreign_window || sink->fullscreen) {
gst_vaapi_window_set_size (sink->window, win_width, win_height);
}
else if (sink->foreign_window) {
gst_vaapi_window_get_size (sink->window, &win_width, &win_height);
}
} else {
...
this make it work but I don't know if it is good or not.


The second problem is related to the VPP, after the first run it operate
correctly but after that, it is not rescaled or it fails to re-create the
surface for an invalid VADisplay.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-10-15 15:04:41 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #79 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
If you post the patches, I'll gladly review them :)
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-10-15 19:53:00 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #80 from Matteo Valdina <***@gmail.com> ---
Created attachment 373932
--> https://bugzilla.gnome.org/attachment.cgi?id=373932&action=edit
Minor cleanup.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-10-15 19:58:59 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #81 from Matteo Valdina <***@gmail.com> ---
Created attachment 373933
--> https://bugzilla.gnome.org/attachment.cgi?id=373933&action=edit
bs wayland window: Fixed frame_done sync.

Restored syncronization of frame_done with the rendering.
Without this sync it will override the rendering frame (last_frame)
and put the rendering in a bad state.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-10-15 19:59:56 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #82 from Matteo Valdina <***@gmail.com> ---
Created attachment 373934
--> https://bugzilla.gnome.org/attachment.cgi?id=373934&action=edit
gstvaapisink: Set sink window_width & height.

Set the window_width and window_height when there is a foreign_window.

Previously in the wayland scenario, this size is zero so the dst/sink window
will rescale the frame to 0x0 and so render nothing.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-10-15 20:02:06 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #83 from Matteo Valdina <***@gmail.com> ---
I posted my patches.

About the VPP issue, I found out that If I re-create the VADisplay each time
that vaapisink need a context it will work.
Please note that in my case I use a VPP element in the pipeline.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-10-16 11:42:23 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Víctor Manuel Jáquez Leal <***@igalia.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #373932|none |rejected
status| |

--- Comment #84 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
Review of attachment 373932:
--> (https://bugzilla.gnome.org/review?bug=705821&attachment=373932)

this is already fixed in commit

* 91320901 libs: replace g_warning with GST_WARNING
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-10-16 11:46:08 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Víctor Manuel Jáquez Leal <***@igalia.com> changed:

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

--- Comment #85 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
Review of attachment 373933:
--> (https://bugzilla.gnome.org/review?bug=705821&attachment=373933)

So this patch is basically a code review for attachment 371096.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-10-16 11:47:33 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

Víctor Manuel Jáquez Leal <***@igalia.com> changed:

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

--- Comment #86 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
Review of attachment 373934:
--> (https://bugzilla.gnome.org/review?bug=705821&attachment=373934)

::: gst/vaapi/gstvaapisink.c
@@ -454,2 @@
if (!sink->foreign_window)
- x11_event_mask |= ButtonPressMask | ButtonReleaseMask;

This code style fix should be another commit since it is not related with this
issue.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-10-16 11:51:43 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

--- Comment #87 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
I have just realized that I have a local branch with patches (and a test) for
this issue. I've just pushed it to my repository in github

https://github.com/ceyusa/gstreamer-vaapi/tree/705821
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-11-03 15:43:40 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=705821

GStreamer system administrator <***@gstreamer.net> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |OBSOLETE

--- Comment #88 from GStreamer system administrator <***@gstreamer.net> ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance:
https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/1.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
Loading...