summaryrefslogtreecommitdiffstats
path: root/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
diff options
context:
space:
mode:
authorLing Hu <ling.hu@nokia.com>2012-03-21 14:25:23 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-23 09:53:49 +0100
commit138242fb2dc19438a0ead34b36af848800e27190 (patch)
treec053d748c3854cad15c66c2b706eb90db496f4cc /src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
parent655408bced62c5fa490f8f4f260aefd164b870ee (diff)
Added resource policy support though internal plugin system
Change-Id: I374be17d49b6a5eed0b1ed94d0b9ca5f9a2caa9b Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Diffstat (limited to 'src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp')
-rw-r--r--src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
index 19e261a16..19476b497 100644
--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
@@ -41,10 +41,10 @@
#include "qgstreamerplayercontrol.h"
#include "qgstreamerplayersession.h"
-#include "playerresourcepolicy.h"
#include <private/qmediaplaylistnavigator_p.h>
-
+#include <private/qmediaresourcepolicy_p.h>
+#include <private/qmediaresourceset_p.h>
#include <QtCore/qdir.h>
#include <QtCore/qsocketnotifier.h>
@@ -78,7 +78,8 @@ QGstreamerPlayerControl::QGstreamerPlayerControl(QGstreamerPlayerSession *sessio
m_fifoFd[0] = -1;
m_fifoFd[1] = -1;
- m_resources = new PlayerResourcePolicy(this);
+ m_resources = QMediaResourcePolicy::createResourceSet<QMediaPlayerResourceSetInterface>(QMediaPlayerResourceSetInterface_iid);
+ Q_ASSERT(m_resources);
connect(m_session, SIGNAL(positionChanged(qint64)),
this, SLOT(updatePosition(qint64)));
@@ -116,6 +117,8 @@ QGstreamerPlayerControl::QGstreamerPlayerControl(QGstreamerPlayerSession *sessio
QGstreamerPlayerControl::~QGstreamerPlayerControl()
{
+ QMediaResourcePolicy::destroyResourceSet(m_resources);
+
if (m_fifoFd[0] >= 0) {
::close(m_fifoFd[0]);
::close(m_fifoFd[1]);
@@ -243,7 +246,7 @@ void QGstreamerPlayerControl::playOrPause(QMediaPlayer::State newState)
m_seekToStartPending = true;
}
- if (!m_resources->isGranted() && !m_resources->isRequested())
+ if (!m_resources->isGranted())
m_resources->acquire();
if (m_resources->isGranted()) {
@@ -350,7 +353,7 @@ void QGstreamerPlayerControl::setMedia(const QMediaContent &content, QIODevice *
m_session->showPrerollFrames(false); // do not show prerolled frames until pause() or play() explicitly called
if (!content.isNull() || stream) {
- if (!m_resources->isRequested() && !m_resources->isGranted())
+ if (!m_resources->isGranted())
m_resources->acquire();
if (!m_resources->isGranted()) {