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

Víctor Jáquez vjaquez at igalia.com
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.gl.app_context
> gst.gl.GLDisplay
> 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 :-/

https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/blob/master/tests/examples/gl/sdl/sdlshare.c

vmjl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200210/c25fb3a6/attachment.sig>


More information about the gstreamer-devel mailing list