gst_element_set_state blocks when setting GST_STATE_NULL when using vaapisink and QWidget

Nicolas Dufresne nicolas at
Wed Nov 10 15:43:19 UTC 2021

Le mercredi 10 novembre 2021 à 19:55 +0530, Nirbheek Chauhan via gstreamer-devel
a écrit :
> On Wed, Nov 10, 2021 at 6:10 PM Viljar Hera <viljar.hera at> wrote:
> > 
> > Well because I need vaapi for hw acclerated decoding (vaapih264dec & vaapih265dec)
> Vaapi can be transferred zerocopy to GL memory, so you do not need to
> use a vaapi sink to do hw accelerated rendering of hw decoded buffers.

Note that vaapisink is able to use an HW scaler not integrated in the GL stack.
We've had a use case for that in the past. While with GL integration, GPU
scaling is going to be done. But to use vaapisink, you need an "overlay" use
case, which isn't very nice for modern qml gui. So I second your recommendation

> > and the project does not use qml at all.
> > 
> > Actually I have not tested qmlglsink before. My distro (arch linux) doesn't even provide the package. So I'm not sure how well it integrates with regular QWidgets.
> > 
> You can always render to glimagesink and render to a GL surface with
> Qt. There are examples for this:
> Cheers,
> Nirbheek

More information about the gstreamer-devel mailing list