diff options
Diffstat (limited to 'src/multimedia/platform/gstreamer/common/qgstreamervideooutput.cpp')
-rw-r--r-- | src/multimedia/platform/gstreamer/common/qgstreamervideooutput.cpp | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/multimedia/platform/gstreamer/common/qgstreamervideooutput.cpp b/src/multimedia/platform/gstreamer/common/qgstreamervideooutput.cpp index ef059c8b7..57753f53d 100644 --- a/src/multimedia/platform/gstreamer/common/qgstreamervideooutput.cpp +++ b/src/multimedia/platform/gstreamer/common/qgstreamervideooutput.cpp @@ -68,20 +68,16 @@ QGstreamerVideoOutput::~QGstreamerVideoOutput() void QGstreamerVideoOutput::setVideoSink(QVideoSink *sink) { - auto *videoSink = static_cast<QGstreamerVideoSink *>(sink->platformVideoSink()); + auto *videoSink = sink ? static_cast<QGstreamerVideoSink *>(sink->platformVideoSink()) : nullptr; if (videoSink == m_videoWindow) return; if (m_videoWindow) { - gstPipeline.removeMessageFilter(static_cast<QGstreamerSyncMessageFilter *>(m_videoWindow)); - gstPipeline.removeMessageFilter(static_cast<QGstreamerBusMessageFilter *>(m_videoWindow)); disconnect(m_videoWindow, SIGNAL(sinkChanged()), this, SLOT(sinkChanged())); } m_videoWindow = videoSink; if (m_videoWindow) { - gstPipeline.installMessageFilter(static_cast<QGstreamerSyncMessageFilter *>(m_videoWindow)); - gstPipeline.installMessageFilter(static_cast<QGstreamerBusMessageFilter *>(m_videoWindow)); connect(m_videoWindow, SIGNAL(sinkChanged()), this, SLOT(sinkChanged())); } sinkChanged(); |