Mixing multiple non-live videos with independent control and hardware acceleration

Is there a way to mix multiple non-live videos in a way that they can be controlled independently and with hardware acceleration?

I’ve found an example which is not hardware-accelerated here:
It uses two pipelines containig a playbin each, and another playbin containing a compositor to mix the videos. The pipelines are connected by two pairs of intervideosink/intervideosrc.

Unfortunately, compositor does not support hardware acceleration.
I’ve tried to replace compositor by glvideomixer, intervideosink by proxysink and intervideosrc by proxysrc. But that way, you cannot control (pause, seek etc.) the videos independently. As soon as you pause one video, the other also does not play any more. Resuming the paused video does not help. I suppose that one reason for this could be that proxy tries to keep timing in sync (inter doesn’t - see here).