diff options
author | Tim Blechmann <tim@klingt.org> | 2024-05-07 09:24:21 +0800 |
---|---|---|
committer | Tim Blechmann <tim@klingt.org> | 2024-05-08 10:40:34 +0800 |
commit | 74b778cb7b0c82b00c2bf7d2949cdc42b2f17c14 (patch) | |
tree | 66e072792f4a8d6370cc60e7e93319d4722a60a4 | |
parent | 2ba9e8d19f1457af31ba9a3fc2e01317ee088d9f (diff) |
GStreamer: relax pipeline state failures
Relax warnings for QGstPipeline::beginConfig when the pipeline is in a
"failed" state.
Pick-to: 6.5 6.7
Change-Id: Icf41bc358b4cf456b86be107e5c3af70b98741ae
Reviewed-by: Mikko Hallamaa <mikko.hallamaa@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
-rw-r--r-- | src/plugins/multimedia/gstreamer/common/qgstpipeline.cpp | 4 | ||||
-rw-r--r-- | src/plugins/multimedia/gstreamer/common/qgstreamermediaplayer.cpp | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/plugins/multimedia/gstreamer/common/qgstpipeline.cpp b/src/plugins/multimedia/gstreamer/common/qgstpipeline.cpp index 7d507f076..ae57f21d4 100644 --- a/src/plugins/multimedia/gstreamer/common/qgstpipeline.cpp +++ b/src/plugins/multimedia/gstreamer/common/qgstpipeline.cpp @@ -265,8 +265,8 @@ void QGstPipeline::beginConfig() break; } case GST_STATE_CHANGE_FAILURE: { - // should not happen - qCritical() << "QGstPipeline::beginConfig: state change failure"; + qDebug() << "QGstPipeline::beginConfig: state change failure"; + dumpGraph("beginConfigFailure"); break; } diff --git a/src/plugins/multimedia/gstreamer/common/qgstreamermediaplayer.cpp b/src/plugins/multimedia/gstreamer/common/qgstreamermediaplayer.cpp index 22cdbf014..3bb87094f 100644 --- a/src/plugins/multimedia/gstreamer/common/qgstreamermediaplayer.cpp +++ b/src/plugins/multimedia/gstreamer/common/qgstreamermediaplayer.cpp @@ -906,9 +906,11 @@ void QGstreamerMediaPlayer::setMedia(const QUrl &content, QIODevice *stream) padRemoved = decoder.onPadRemoved<&QGstreamerMediaPlayer::decoderPadRemoved>(this); mediaStatusChanged(QMediaPlayer::LoadingMedia); - - if (!playerPipeline.setState(GST_STATE_PAUSED)) + if (!playerPipeline.setState(GST_STATE_PAUSED)) { qCWarning(qLcMediaPlayer) << "Unable to set the pipeline to the paused state."; + // Note: no further error handling: errors will be delivered via a GstMessage + return; + } playerPipeline.setPosition(0); positionChanged(0); |