From 74b778cb7b0c82b00c2bf7d2949cdc42b2f17c14 Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Tue, 7 May 2024 09:24:21 +0800 Subject: 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 Reviewed-by: Artem Dyomin --- src/plugins/multimedia/gstreamer/common/qgstpipeline.cpp | 4 ++-- 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); -- cgit v1.2.3