summaryrefslogtreecommitdiffstats
path: root/src/gsttools
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-11-12 03:03:27 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-11-12 03:03:28 +0100
commitc8496db8f90bcdc6b8ee02ab76ed5425c447f339 (patch)
treed57f4fcfb177a6750e2c597f53ac7285ba77431e /src/gsttools
parenta045c989e15feda1201e81d8c2a7a403c33ad6da (diff)
parent3d33ebd547d5cdc16e6f8700282035ac3b96e604 (diff)
Merge remote-tracking branch 'origin/5.13' into 5.14
Diffstat (limited to 'src/gsttools')
-rw-r--r--src/gsttools/qgstreamerplayercontrol.cpp8
-rw-r--r--src/gsttools/qgstreamerplayersession.cpp3
2 files changed, 7 insertions, 4 deletions
diff --git a/src/gsttools/qgstreamerplayercontrol.cpp b/src/gsttools/qgstreamerplayercontrol.cpp
index bd4c90ac5..165978288 100644
--- a/src/gsttools/qgstreamerplayercontrol.cpp
+++ b/src/gsttools/qgstreamerplayercontrol.cpp
@@ -450,6 +450,10 @@ void QGstreamerPlayerControl::updateSessionState(QMediaPlayer::State state)
void QGstreamerPlayerControl::updateMediaStatus()
{
+ //EndOfMedia status should be kept, until reset by pause, play or setMedia
+ if (m_mediaStatus == QMediaPlayer::EndOfMedia)
+ return;
+
pushState();
QMediaPlayer::MediaStatus oldStatus = m_mediaStatus;
@@ -477,10 +481,6 @@ void QGstreamerPlayerControl::updateMediaStatus()
if (m_currentState == QMediaPlayer::PlayingState && !m_resources->isGranted())
m_mediaStatus = QMediaPlayer::StalledMedia;
- //EndOfMedia status should be kept, until reset by pause, play or setMedia
- if (oldStatus == QMediaPlayer::EndOfMedia)
- m_mediaStatus = QMediaPlayer::EndOfMedia;
-
popAndNotifyState();
}
diff --git a/src/gsttools/qgstreamerplayersession.cpp b/src/gsttools/qgstreamerplayersession.cpp
index b9e1c084f..ed3f16c5f 100644
--- a/src/gsttools/qgstreamerplayersession.cpp
+++ b/src/gsttools/qgstreamerplayersession.cpp
@@ -265,8 +265,11 @@ void QGstreamerPlayerSession::resetElements()
resetGstObject(m_nullVideoSink);
resetGstObject(m_videoOutputBin);
+ m_audioSink = nullptr;
m_volumeElement = nullptr;
m_videoIdentity = nullptr;
+ m_pendingVideoSink = nullptr;
+ m_videoSink = nullptr;
}
GstElement *QGstreamerPlayerSession::playbin() const