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>
This commit is contained in:
@@ -86,9 +86,10 @@ QObject* QMediaResourcePolicy::createResourceSet(const QString& interfaceId)
|
|||||||
QMediaResourceSetFactoryInterface *factory =
|
QMediaResourceSetFactoryInterface *factory =
|
||||||
qobject_cast<QMediaResourceSetFactoryInterface*>(resourcePolicyLoader()
|
qobject_cast<QMediaResourceSetFactoryInterface*>(resourcePolicyLoader()
|
||||||
->instance(QLatin1String("default")));
|
->instance(QLatin1String("default")));
|
||||||
if (!factory)
|
QObject* obj = 0;
|
||||||
return 0;
|
if (factory)
|
||||||
QObject* obj = factory->create(interfaceId);
|
obj = factory->create(interfaceId);
|
||||||
|
|
||||||
if (!obj) {
|
if (!obj) {
|
||||||
if (interfaceId == QLatin1String(QMediaPlayerResourceSetInterface_iid)) {
|
if (interfaceId == QLatin1String(QMediaPlayerResourceSetInterface_iid)) {
|
||||||
obj = new QDummyMediaPlayerResourceSet(dummyRoot());
|
obj = new QDummyMediaPlayerResourceSet(dummyRoot());
|
||||||
@@ -107,6 +108,7 @@ void QMediaResourcePolicy::destroyResourceSet(QObject* resourceSet)
|
|||||||
QMediaResourceSetFactoryInterface *factory =
|
QMediaResourceSetFactoryInterface *factory =
|
||||||
qobject_cast<QMediaResourceSetFactoryInterface*>(resourcePolicyLoader()
|
qobject_cast<QMediaResourceSetFactoryInterface*>(resourcePolicyLoader()
|
||||||
->instance(QLatin1String("default")));
|
->instance(QLatin1String("default")));
|
||||||
|
Q_ASSERT(factory);
|
||||||
if (!factory)
|
if (!factory)
|
||||||
return;
|
return;
|
||||||
return factory->destroy(resourceSet);
|
return factory->destroy(resourceSet);
|
||||||
|
|||||||
@@ -55,16 +55,16 @@ class Q_MULTIMEDIA_EXPORT QMediaResourcePolicy
|
|||||||
public:
|
public:
|
||||||
//a dummy object will always be provided if the interfaceId is not supported
|
//a dummy object will always be provided if the interfaceId is not supported
|
||||||
template<typename T>
|
template<typename T>
|
||||||
static T* createResourceSet(const QString& interfaceId);
|
static T* createResourceSet();
|
||||||
static void destroyResourceSet(QObject* resourceSet);
|
static void destroyResourceSet(QObject* resourceSet);
|
||||||
private:
|
private:
|
||||||
static QObject* createResourceSet(const QString& interfaceId);
|
static QObject* createResourceSet(const QString& interfaceId);
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename T>
|
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
|
QT_END_NAMESPACE
|
||||||
|
|||||||
@@ -48,4 +48,9 @@ QMediaPlayerResourceSetInterface::QMediaPlayerResourceSetInterface(QObject *pare
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString QMediaPlayerResourceSetInterface::iid()
|
||||||
|
{
|
||||||
|
return QString(QMediaPlayerResourceSetInterface_iid);
|
||||||
|
}
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|||||||
@@ -65,6 +65,8 @@ public:
|
|||||||
virtual void release() = 0;
|
virtual void release() = 0;
|
||||||
virtual void setVideoEnabled(bool enabled) = 0;
|
virtual void setVideoEnabled(bool enabled) = 0;
|
||||||
|
|
||||||
|
static QString iid();
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
void resourcesGranted();
|
void resourcesGranted();
|
||||||
void resourcesLost();
|
void resourcesLost();
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ QGstreamerPlayerControl::QGstreamerPlayerControl(QGstreamerPlayerSession *sessio
|
|||||||
m_fifoFd[0] = -1;
|
m_fifoFd[0] = -1;
|
||||||
m_fifoFd[1] = -1;
|
m_fifoFd[1] = -1;
|
||||||
|
|
||||||
m_resources = QMediaResourcePolicy::createResourceSet<QMediaPlayerResourceSetInterface>(QMediaPlayerResourceSetInterface_iid);
|
m_resources = QMediaResourcePolicy::createResourceSet<QMediaPlayerResourceSetInterface>();
|
||||||
Q_ASSERT(m_resources);
|
Q_ASSERT(m_resources);
|
||||||
|
|
||||||
connect(m_session, SIGNAL(positionChanged(qint64)),
|
connect(m_session, SIGNAL(positionChanged(qint64)),
|
||||||
|
|||||||
Reference in New Issue
Block a user