qtsink: change widget while playing
I have an audio/video player application created based on the playbin3 pipeline. My video sink is a qtsink element which is configured to render incoming video on Qml item (GstGLVideoItem).
Now, I'm trying to move rendering of the video to a different window by changing parent of the GstGLVideoItem. This works perfectly on macOS and Linux but not on Windows. I've spent some time debugging GstGLVideoItem (qtitem) and qtsink and my understanding is that it doesn't work because on Windows new window is rendered in a different thread. As a result new GL context is being created which is not passed to the qtsink element because that only happens when qtsink changes state from NULL to READY.
I'm a gstreamer/Qt/OpenGl newbie so please assume I haven't tried obvious solutions.