summaryrefslogtreecommitdiffstats
path: root/src/gsttools
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-12-14 12:53:21 +0100
committerLars Knoll <lars.knoll@qt.io>2021-01-20 15:08:41 +0000
commit397cb94d6882940114cb6c96a88e8ac0b64203a4 (patch)
treed2ac9e1440a208e9fdf2f04d3b2f13d177021c89 /src/gsttools
parent46381711557aad4f264470e555c77f7d6d07cbb9 (diff)
Get rid of the unused resource policy and availability control
The only implementation of this was using some Nokia specific library, that hasn't existed since 2012 anymore. Change-Id: Ieaec2176ad8e4fc170bb5254944fffc41edccefa Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/gsttools')
-rw-r--r--src/gsttools/gsttools.pro3
-rw-r--r--src/gsttools/qgstreamerplayercontrol.cpp150
-rw-r--r--src/gsttools/qgstreamerplayercontrol_p.h9
3 files changed, 33 insertions, 129 deletions
diff --git a/src/gsttools/gsttools.pro b/src/gsttools/gsttools.pro
index 0127cbe92..fea2edca9 100644
--- a/src/gsttools/gsttools.pro
+++ b/src/gsttools/gsttools.pro
@@ -12,9 +12,6 @@ qtConfig(alsa): \
QMAKE_USE += gstreamer
-qtConfig(resourcepolicy): \
- QMAKE_USE += libresourceqt5
-
PRIVATE_HEADERS += \
qgstreamerbushelper_p.h \
qgstreamermessage_p.h \
diff --git a/src/gsttools/qgstreamerplayercontrol.cpp b/src/gsttools/qgstreamerplayercontrol.cpp
index 689467db8..6edde7bb0 100644
--- a/src/gsttools/qgstreamerplayercontrol.cpp
+++ b/src/gsttools/qgstreamerplayercontrol.cpp
@@ -41,8 +41,6 @@
#include <private/qgstreamerplayersession_p.h>
#include <private/qmediaplaylistnavigator_p.h>
-#include <private/qmediaresourcepolicy_p.h>
-#include <private/qmediaresourceset_p.h>
#include <QtCore/qdir.h>
#include <QtCore/qsocketnotifier.h>
@@ -61,9 +59,6 @@ QGstreamerPlayerControl::QGstreamerPlayerControl(QGstreamerPlayerSession *sessio
: QMediaPlayerControl(parent)
, m_session(session)
{
- m_resources = QMediaResourcePolicy::createResourceSet<QMediaPlayerResourceSetInterface>();
- Q_ASSERT(m_resources);
-
connect(m_session, &QGstreamerPlayerSession::positionChanged, this, &QGstreamerPlayerControl::positionChanged);
connect(m_session, &QGstreamerPlayerSession::durationChanged, this, &QGstreamerPlayerControl::durationChanged);
connect(m_session, &QGstreamerPlayerSession::mutedStateChanged, this, &QGstreamerPlayerControl::mutedChanged);
@@ -77,24 +72,10 @@ QGstreamerPlayerControl::QGstreamerPlayerControl(QGstreamerPlayerSession *sessio
connect(m_session, &QGstreamerPlayerSession::error, this, &QGstreamerPlayerControl::error);
connect(m_session, &QGstreamerPlayerSession::invalidMedia, this, &QGstreamerPlayerControl::handleInvalidMedia);
connect(m_session, &QGstreamerPlayerSession::playbackRateChanged, this, &QGstreamerPlayerControl::playbackRateChanged);
-
- connect(m_resources, &QMediaPlayerResourceSetInterface::resourcesGranted, this, &QGstreamerPlayerControl::handleResourcesGranted);
- //denied signal should be queued to have correct state update process,
- //since in playOrPause, when acquire is call on resource set, it may trigger a resourcesDenied signal immediately,
- //so handleResourcesDenied should be processed later, otherwise it will be overwritten by state update later in playOrPause.
- connect(m_resources, &QMediaPlayerResourceSetInterface::resourcesDenied,
- this, &QGstreamerPlayerControl::handleResourcesDenied, Qt::QueuedConnection);
- connect(m_resources, &QMediaPlayerResourceSetInterface::resourcesLost, this, &QGstreamerPlayerControl::handleResourcesLost);
}
QGstreamerPlayerControl::~QGstreamerPlayerControl()
{
- QMediaResourcePolicy::destroyResourceSet(m_resources);
-}
-
-QMediaPlayerResourceSetInterface* QGstreamerPlayerControl::resources() const
-{
- return m_resources;
}
qint64 QGstreamerPlayerControl::position() const
@@ -230,38 +211,33 @@ void QGstreamerPlayerControl::playOrPause(QMediaPlayer::State newState)
m_pendingSeekPosition = 0;
}
- if (!m_resources->isGranted())
- m_resources->acquire();
-
- if (m_resources->isGranted()) {
- // show prerolled frame if switching from stopped state
- if (m_pendingSeekPosition == -1) {
- m_session->showPrerollFrames(true);
- } else if (m_session->state() == QMediaPlayer::StoppedState) {
- // Don't evaluate the next two conditions.
- } else if (m_session->isSeekable()) {
- m_session->pause();
- m_session->showPrerollFrames(true);
- m_session->seek(m_pendingSeekPosition);
- m_pendingSeekPosition = -1;
- } else {
- m_pendingSeekPosition = -1;
- }
+ // show prerolled frame if switching from stopped state
+ if (m_pendingSeekPosition == -1) {
+ m_session->showPrerollFrames(true);
+ } else if (m_session->state() == QMediaPlayer::StoppedState) {
+ // Don't evaluate the next two conditions.
+ } else if (m_session->isSeekable()) {
+ m_session->pause();
+ m_session->showPrerollFrames(true);
+ m_session->seek(m_pendingSeekPosition);
+ m_pendingSeekPosition = -1;
+ } else {
+ m_pendingSeekPosition = -1;
+ }
- bool ok = false;
+ bool ok = false;
- //To prevent displaying the first video frame when playback is resumed
- //the pipeline is paused instead of playing, seeked to requested position,
- //and after seeking is finished (position updated) playback is restarted
- //with show-preroll-frame enabled.
- if (newState == QMediaPlayer::PlayingState && m_pendingSeekPosition == -1)
- ok = m_session->play();
- else
- ok = m_session->pause();
+ //To prevent displaying the first video frame when playback is resumed
+ //the pipeline is paused instead of playing, seeked to requested position,
+ //and after seeking is finished (position updated) playback is restarted
+ //with show-preroll-frame enabled.
+ if (newState == QMediaPlayer::PlayingState && m_pendingSeekPosition == -1)
+ ok = m_session->play();
+ else
+ ok = m_session->pause();
- if (!ok)
- newState = QMediaPlayer::StoppedState;
- }
+ if (!ok)
+ newState = QMediaPlayer::StoppedState;
if (m_mediaStatus == QMediaPlayer::InvalidMedia)
m_mediaStatus = QMediaPlayer::LoadingMedia;
@@ -297,7 +273,7 @@ void QGstreamerPlayerControl::stop()
// needs to update media status directly.
if (m_session->state() == QMediaPlayer::PausedState)
updateMediaStatus();
- else if (m_resources->isGranted())
+ else
m_session->pause();
if (m_mediaStatus != QMediaPlayer::EndOfMedia) {
@@ -343,13 +319,6 @@ void QGstreamerPlayerControl::setMedia(const QMediaContent &content, QIODevice *
m_session->showPrerollFrames(false); // do not show prerolled frames until pause() or play() explicitly called
m_setMediaPending = false;
- if (!content.isNull() || stream) {
- if (!m_resources->isGranted())
- m_resources->acquire();
- } else {
- m_resources->release();
- }
-
m_session->stop();
bool userStreamValid = false;
@@ -376,8 +345,6 @@ void QGstreamerPlayerControl::setMedia(const QMediaContent &content, QIODevice *
} else {
m_mediaStatus = QMediaPlayer::InvalidMedia;
emit error(QMediaPlayer::FormatError, tr("Attempting to play invalid user stream"));
- if (m_currentState != QMediaPlayer::PlayingState)
- m_resources->release();
popAndNotifyState();
return;
}
@@ -402,9 +369,6 @@ void QGstreamerPlayerControl::setMedia(const QMediaContent &content, QIODevice *
emit positionChanged(position());
- if (content.isNull() && !stream)
- m_resources->release();
-
popAndNotifyState();
}
@@ -480,9 +444,6 @@ void QGstreamerPlayerControl::updateMediaStatus()
break;
}
- if (m_currentState == QMediaPlayer::PlayingState && !m_resources->isGranted())
- m_mediaStatus = QMediaPlayer::StalledMedia;
-
popAndNotifyState();
}
@@ -511,17 +472,15 @@ void QGstreamerPlayerControl::setBufferProgress(int progress)
#endif
m_bufferProgress = progress;
- if (m_resources->isGranted()) {
- if (m_currentState == QMediaPlayer::PlayingState &&
- m_bufferProgress == 100 &&
- m_session->state() != QMediaPlayer::PlayingState)
- m_session->play();
+ if (m_currentState == QMediaPlayer::PlayingState &&
+ m_bufferProgress == 100 &&
+ m_session->state() != QMediaPlayer::PlayingState)
+ m_session->play();
- if (!m_session->isLiveSource() && m_bufferProgress < 100 &&
- (m_session->state() == QMediaPlayer::PlayingState ||
- m_session->pendingState() == QMediaPlayer::PlayingState))
- m_session->pause();
- }
+ if (!m_session->isLiveSource() && m_bufferProgress < 100 &&
+ (m_session->state() == QMediaPlayer::PlayingState ||
+ m_session->pendingState() == QMediaPlayer::PlayingState))
+ m_session->pause();
updateMediaStatus();
@@ -537,49 +496,6 @@ void QGstreamerPlayerControl::handleInvalidMedia()
popAndNotifyState();
}
-void QGstreamerPlayerControl::handleResourcesGranted()
-{
- pushState();
-
- //This may be triggered when there is an auto resume
- //from resource-policy, we need to take action according to m_userRequestedState
- //rather than m_currentState
- m_currentState = m_userRequestedState;
- if (m_currentState != QMediaPlayer::StoppedState)
- playOrPause(m_currentState);
- else
- updateMediaStatus();
-
- popAndNotifyState();
-}
-
-void QGstreamerPlayerControl::handleResourcesLost()
-{
- //on resource lost the pipeline should be paused
- //player status is changed to paused
- pushState();
- QMediaPlayer::State oldState = m_currentState;
-
- m_session->pause();
-
- if (oldState != QMediaPlayer::StoppedState )
- m_currentState = QMediaPlayer::PausedState;
-
- popAndNotifyState();
-}
-
-void QGstreamerPlayerControl::handleResourcesDenied()
-{
- //on resource denied the pipeline should stay paused
- //player status is changed to paused
- pushState();
-
- if (m_currentState != QMediaPlayer::StoppedState )
- m_currentState = QMediaPlayer::PausedState;
-
- popAndNotifyState();
-}
-
void QGstreamerPlayerControl::pushState()
{
m_stateStack.push(m_currentState);
diff --git a/src/gsttools/qgstreamerplayercontrol_p.h b/src/gsttools/qgstreamerplayercontrol_p.h
index ef94df925..c4cc2b876 100644
--- a/src/gsttools/qgstreamerplayercontrol_p.h
+++ b/src/gsttools/qgstreamerplayercontrol_p.h
@@ -57,7 +57,6 @@
QT_BEGIN_NAMESPACE
-class QMediaPlayerResourceSetInterface;
class QGstreamerPlayerSession;
class Q_GSTTOOLS_EXPORT QGstreamerPlayerControl : public QMediaPlayerControl
{
@@ -94,8 +93,6 @@ public:
const QIODevice *mediaStream() const override;
void setMedia(const QMediaContent&, QIODevice *) override;
- QMediaPlayerResourceSetInterface* resources() const;
-
public Q_SLOTS:
void setPosition(qint64 pos) override;
@@ -114,10 +111,6 @@ private Q_SLOTS:
void handleInvalidMedia();
- void handleResourcesGranted();
- void handleResourcesLost();
- void handleResourcesDenied();
-
private:
void playOrPause(QMediaPlayer::State state);
@@ -136,8 +129,6 @@ private:
bool m_setMediaPending = false;
QMediaContent m_currentResource;
QIODevice *m_stream = nullptr;
-
- QMediaPlayerResourceSetInterface *m_resources = nullptr;
};
QT_END_NAMESPACE