Problem on swith between a Gstreamer video display screen and local widgets/controls display screen
I'm facing a problem on how to temperarily disable the video show without
stopping a pipeline. Here's my application environment:
I'm using an embedded system that uses QT 5.5 EGLFS and gstreamer 1.8.1 on
embedded Linux system. Due to the OS limitation, it can't show QT
widgets/controls during gstreamer playing a video file(As of Qt 5.5, eglfs
supports a single fullscreen GL window. Opening additional OpenGL windows or
mixing such windows with QWidget-based content is not supported and
terminates the application with an error message.).
So I expect to show the QT widgets/controls screen and the video playing
screen in different time. At the time it shows a QT widgets/controls screen,
I expect to play video paused(or more better, it plays video in backgroud
with no video screen output and just audio output available), and vise
But after dozens of times I've tried, I found that if I pause the gstreamer
pipeline, QT widgets/controls screen can't be displayed. It seems the screen
widget is still in drawing by gstreamer. I can only get them displayed if
the pipeline is stopped.
And also as I supposed if I try to change the video sink to a null video
sink, it also need to firstly stop the pipeline.
So I'm here to send a message here for help. Are there any tricks that I can
use to easily solve this issue?
I'll be very appreciate it if someone can help me. Thank you in advance!