playbin3 no longer uses contexts from the sink
With GStreamer 1.22.0 playbin3 no longer uses the contexts provided by the sink. It's easy to test on hardware with VA-API support:
GST_DEBUG=vaapisink:2 gst-launch-1.0 playbin3 uri=file://some/file/that/will/use/a/vaapi/decoder video-sink=vaapisink
This fails a "Internal data stream error." and the vaapisink reports:
0:00:00.363445698 162906 0x7f29c402f9e0 WARN vaapisink gstvaapisink.c:1557:gst_vaapisink_show_frame_unlocked:<vaapisink0> incoming surface has different VAAPI Display
From what I can tell, this was broken in 6bffbe28. Before that commit, playbin3 explicitly activated the sink and collected all provided contexts. Now this no longer happens and the decoder uses a different context than the sink.
@bilboed, any advice on how to fix this?