summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLing Hu <ling.hu@nokia.com>2012-03-26 10:51:14 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-26 09:14:30 +0200
commit6e177b4dce1de3ad02b0f10d78e6557303897919 (patch)
treef2ec62403834e313f52bf047c91a29b27cf5d284 /src
parent45bd0d938e7b2ac58d3f06e7ede52fa70ffff002 (diff)
Minor improvements on resource-policy interfaces
Change-Id: I3e9c7c4d1fca90e0fb97b0058e9b5a5e34940025 Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Diffstat (limited to 'src')
-rw-r--r--src/multimedia/qmediaresourcepolicy_p.cpp8
-rw-r--r--src/multimedia/qmediaresourcepolicy_p.h6
-rw-r--r--src/multimedia/qmediaresourceset_p.cpp5
-rw-r--r--src/multimedia/qmediaresourceset_p.h2
-rw-r--r--src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp2
5 files changed, 16 insertions, 7 deletions
diff --git a/src/multimedia/qmediaresourcepolicy_p.cpp b/src/multimedia/qmediaresourcepolicy_p.cpp
index 630870c05..0262c0f85 100644
--- a/src/multimedia/qmediaresourcepolicy_p.cpp
+++ b/src/multimedia/qmediaresourcepolicy_p.cpp
@@ -86,9 +86,10 @@ QObject* QMediaResourcePolicy::createResourceSet(const QString& interfaceId)
QMediaResourceSetFactoryInterface *factory =
qobject_cast<QMediaResourceSetFactoryInterface*>(resourcePolicyLoader()
->instance(QLatin1String("default")));
- if (!factory)
- return 0;
- QObject* obj = factory->create(interfaceId);
+ QObject* obj = 0;
+ if (factory)
+ obj = factory->create(interfaceId);
+
if (!obj) {
if (interfaceId == QLatin1String(QMediaPlayerResourceSetInterface_iid)) {
obj = new QDummyMediaPlayerResourceSet(dummyRoot());
@@ -107,6 +108,7 @@ void QMediaResourcePolicy::destroyResourceSet(QObject* resourceSet)
QMediaResourceSetFactoryInterface *factory =
qobject_cast<QMediaResourceSetFactoryInterface*>(resourcePolicyLoader()
->instance(QLatin1String("default")));
+ Q_ASSERT(factory);
if (!factory)
return;
return factory->destroy(resourceSet);
diff --git a/src/multimedia/qmediaresourcepolicy_p.h b/src/multimedia/qmediaresourcepolicy_p.h
index c21d36f47..7e9dd03d5 100644
--- a/src/multimedia/qmediaresourcepolicy_p.h
+++ b/src/multimedia/qmediaresourcepolicy_p.h
@@ -55,16 +55,16 @@ class Q_MULTIMEDIA_EXPORT QMediaResourcePolicy
public:
//a dummy object will always be provided if the interfaceId is not supported
template<typename T>
- static T* createResourceSet(const QString& interfaceId);
+ static T* createResourceSet();
static void destroyResourceSet(QObject* resourceSet);
private:
static QObject* createResourceSet(const QString& interfaceId);
};
template<typename T>
-T* QMediaResourcePolicy::createResourceSet(const QString& interfaceId)
+T* QMediaResourcePolicy::createResourceSet()
{
- return qobject_cast<T*>(QMediaResourcePolicy::createResourceSet(interfaceId));
+ return qobject_cast<T*>(QMediaResourcePolicy::createResourceSet(T::iid()));
}
QT_END_NAMESPACE
diff --git a/src/multimedia/qmediaresourceset_p.cpp b/src/multimedia/qmediaresourceset_p.cpp
index 97aa34d6e..a440c82f5 100644
--- a/src/multimedia/qmediaresourceset_p.cpp
+++ b/src/multimedia/qmediaresourceset_p.cpp
@@ -48,4 +48,9 @@ QMediaPlayerResourceSetInterface::QMediaPlayerResourceSetInterface(QObject *pare
{
}
+QString QMediaPlayerResourceSetInterface::iid()
+{
+ return QString(QMediaPlayerResourceSetInterface_iid);
+}
+
QT_END_NAMESPACE
diff --git a/src/multimedia/qmediaresourceset_p.h b/src/multimedia/qmediaresourceset_p.h
index c58320c27..5070b9499 100644
--- a/src/multimedia/qmediaresourceset_p.h
+++ b/src/multimedia/qmediaresourceset_p.h
@@ -65,6 +65,8 @@ public:
virtual void release() = 0;
virtual void setVideoEnabled(bool enabled) = 0;
+ static QString iid();
+
Q_SIGNALS:
void resourcesGranted();
void resourcesLost();
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
index 2aee1e387..0666ab4fa 100644
--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
@@ -78,7 +78,7 @@ QGstreamerPlayerControl::QGstreamerPlayerControl(QGstreamerPlayerSession *sessio
m_fifoFd[0] = -1;
m_fifoFd[1] = -1;
- m_resources = QMediaResourcePolicy::createResourceSet<QMediaPlayerResourceSetInterface>(QMediaPlayerResourceSetInterface_iid);
+ m_resources = QMediaResourcePolicy::createResourceSet<QMediaPlayerResourceSetInterface>();
Q_ASSERT(m_resources);
connect(m_session, SIGNAL(positionChanged(qint64)),