vaapisink overlay

Víctor M. Jáquez L. vjaquez at igalia.com
Mon Aug 8 12:57:56 UTC 2016


On 08/07/16 at 04:11am, imeshns wrote:
> Thanks for reply. 
> I called gst_element_set_state in g_idle_add() but nothing changed.
> In previous version of my code I had error:
> 
> "CRITICAL **: gst_vaapi_window_new_internal: assertion 'width > 0' failed".
> 
> What does it mean? Maybe I have to change manually size of vaapi window
> before I call PLAY. But where and how? Or maybe you're right. There is a bug
> in gstreamer-vaapi.
> Any sugestions?
> Thanks.

Ah!

The assignation of the vaapi window inside a drawing area is when you call
gst_video_overlay_set_window_handle(). And you call it when you receive the
realize callback. But in that moment, the widget, doesn't have a geometry, so
vaapisink cannot be created because width == 0.

What you have to do in your code is to save the XID in a temporal variable,
and call gst_video_overlay_set_window_handle(), in play(), before
gst_element_set_state().

A solution in vaapisink is to delay the window binding until it is going to be
used for real.

Can you file a bug in bugzilla for gstreamer-vaapi, please?

vmjl


> 
> 
> 
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/vaapisink-overlay-tp4678988p4679004.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


More information about the gstreamer-devel mailing list