AW: [External] Re: ZeroCopy + AppSink + VAAPI + Qt

Víctor Jáquez vjaquez at
Mon Feb 10 16:18:18 UTC 2020

On Mon, 10 Feb 2020 at 12:30, Timtchenko, Michael wrote:
> I'll summarize my situation:
> - Setup: udpsrc -> vaapi -> glupload -> appsink
> - Pulling Frames with retrieving texture ids (ids are increased by every
>   frame) via appsink

They shouldn't increase forever. That would mean you're leaking textures.

> - Mapped texture ids are propagated to rendering code, but they are not mapped
>   properly

What does that mean?

> My guess is, that there is sth wrong with content sharing. But unfortunately i
> don't know what.
> Am i right, that gstreamer creates its own gl context, and the passed context
> by the bus-message "GST_MESSAGE_NEED_CONTEXT" is merely used for sharing
> textures between both? In the case that this is correct, should it be possible
> to bind an textureid in Thread/Context A, which has been created in
> Thread/Context B?

gl pipeline will create is own context, but you can pass, with that bus message,
*your application's gl context*, thus gl pipeline's thread will create a shared
GL context with your application's one (where both context can share objects),

> Furthermore i get three context requests over the bus with the following types:
> gst.vaapi.Display
> Is it nescessary to provide all three contexts, or is the application context
> sufficient for appsink?

No. Only app_context will be enough.

> Does anybody has suggestions towards this issue? I really appreciate any
> help/advice or coding examples. Unfortunately i cannot find any complete
> example :-/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <>

More information about the gstreamer-devel mailing list