Application did not provide a wayland display handle

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Application did not provide a wayland display handle

kevan.lan
I want qt mutimedia use waylandsink to play video,so "export QT_GSTREAMER_WINDOW_VIDEOSINK=waylandsink".
But the waylandsink plugin in the gst-plugins-bad told me: "Application did not provide a wayland display handle.waylandsink cannot use an externally-supplied surface without an externally-supplied display handle. Consider providing a display handle from your application with GstContext"

Anybody have tried this? Any suggestion? How can the application supply a wl_surface handle for the sink to use?
Reply | Threaded
Open this post in threaded view
|

Re: Application did not provide a wayland display handle

Olivier Crête-3
Hi,

On Mon, 2017-07-10 at 01:36 -0700, kevan.lan wrote:

> I want qt mutimedia use waylandsink to play video,so "export
> QT_GSTREAMER_WINDOW_VIDEOSINK=waylandsink".
> But the waylandsink plugin in the gst-plugins-bad told me:
> "Application did
> not provide a wayland display handle.waylandsink cannot use an
> externally-supplied surface without an externally-supplied display
> handle.
> Consider providing a display handle from your application with
> GstContext"
>
> Anybody have tried this? Any suggestion? How can the application
> supply a
> wl_surface handle for the sink to use?

The application can supply the surface with
gst_video_overlay_set_window_handle(), it must also create a context
using gst_wayland_display_handle_context_new() and set that context on
the pipeline with gst_element_set_context().

--
Olivier Crête
[hidden email]
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Application did not provide a wayland display handle

Nicolas Dufresne-5
Le lundi 10 juillet 2017 à 16:49 -0400, Olivier Crête a écrit :

> Hi,
>
> On Mon, 2017-07-10 at 01:36 -0700, kevan.lan wrote:
> > I want qt mutimedia use waylandsink to play video,so "export
> > QT_GSTREAMER_WINDOW_VIDEOSINK=waylandsink".
> > But the waylandsink plugin in the gst-plugins-bad told me:
> > "Application did
> > not provide a wayland display handle.waylandsink cannot use an
> > externally-supplied surface without an externally-supplied display
> > handle.
> > Consider providing a display handle from your application with
> > GstContext"
> >
> > Anybody have tried this? Any suggestion? How can the application
> > supply a
> > wl_surface handle for the sink to use?
>
> The application can supply the surface with
> gst_video_overlay_set_window_handle(), it must also create a context
> using gst_wayland_display_handle_context_new() and set that context on
> the pipeline with gst_element_set_context().
>
This library has not been made public yet. As of all library in -bad,
these are unstable and some of them are just not exported. Forturnatly,
this function is just a simple helper, here's the implementation:

#define GST_WAYLAND_DISPLAY_HANDLE_CONTEXT_TYPE "GstWaylandDisplayHandleContextType"
GstContext *
gst_wayland_display_handle_context_new (struct wl_display * display)
{
  GstContext *context =
      gst_context_new (GST_WAYLAND_DISPLAY_HANDLE_CONTEXT_TYPE, TRUE);
  gst_structure_set (gst_context_writable_structure (context),
      "handle", G_TYPE_POINTER, display, NULL);
  return context;
}

regards,
Nicolas
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (201 bytes) Download Attachment