RidgeRun / gst-interpipe

GStreamer plug-in for interpipeline communication
Other
140 stars 63 forks source link

forwarding queries? #111

Open mariannasb opened 2 years ago

mariannasb commented 2 years ago

interpipesrc/sink can currently forward, accept or block events.

Could the same be done for queries?

I ask because I currently have issues when using the interpipe to decouple pipelines which contain VAAPI h264 decoder and encoder. Since that they will want to share their VASurfaces and that can only be done if they have a common VADisplay.

Setting a common VADisplay is done through GstContext sharing, which is done by GST_QUERY_CONTEXT queries and NEED/HAVE_CONTEXT messages on the bus.

Currently I have it working by listening to the NEED/HAVE_CONTEXT messages on both buses and manually setting the context.

But I wonder if it would be possible to skip that part if the GST_QUERY_CONTEXT queries could be forwarded between interpipesrc/sink.

It is related to the problem from https://github.com/RidgeRun/gst-interpipe/issues/50

And the explanation from the VAAPI guys: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/273#note_598059