Removed QMediaServiceProvider parameter from media objects constructors.
QMediaServiceProvider should be removed from the public API, to provide media objects with a custom media service. A protected QMediaPlayer/QCamera/QRadioTuner/etc constructor with QMediaService* parameter is a cleaner and more flexible solution. Change-Id: I335cce4bbebe0e548c3df338f206e7be7c93c3dd Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
This commit is contained in:
committed by
Qt by Nokia
parent
adb2bd2cd4
commit
a78a95ccd4
@@ -55,6 +55,7 @@
|
||||
|
||||
#include <QtCore/qbasictimer.h>
|
||||
#include <qmediaplayer.h>
|
||||
#include <qmediaserviceprovider.h>
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
|
||||
#include "qvideosurfaceoutput_p.h"
|
||||
#include "qmediaobject_p.h"
|
||||
#include "qmediaserviceprovider.h"
|
||||
|
||||
#include <qcamera.h>
|
||||
#include <qcameracontrol.h>
|
||||
@@ -338,11 +339,13 @@ void QCameraPrivate::_q_updateLockStatus(QCamera::LockType type, QCamera::LockSt
|
||||
Construct a QCamera from service \a provider and \a parent.
|
||||
*/
|
||||
|
||||
QCamera::QCamera(QObject *parent, QMediaServiceProvider *provider):
|
||||
QMediaObject(*new QCameraPrivate, parent, provider->requestService(Q_MEDIASERVICE_CAMERA))
|
||||
QCamera::QCamera(QObject *parent):
|
||||
QMediaObject(*new QCameraPrivate,
|
||||
parent,
|
||||
QMediaServiceProvider::defaultServiceProvider()->requestService(Q_MEDIASERVICE_CAMERA))
|
||||
{
|
||||
Q_D(QCamera);
|
||||
d->provider = provider;
|
||||
d->provider = QMediaServiceProvider::defaultServiceProvider();
|
||||
d->initControls();
|
||||
d->cameraExposure = new QCameraExposure(this);
|
||||
d->cameraFocus = new QCameraFocus(this);
|
||||
|
||||
@@ -56,7 +56,6 @@
|
||||
#include <qcamerafocus.h>
|
||||
#include <qcameraimageprocessing.h>
|
||||
|
||||
#include <qmediaserviceprovider.h>
|
||||
#include <qmediaenumdebug.h>
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
@@ -144,7 +143,7 @@ public:
|
||||
};
|
||||
Q_DECLARE_FLAGS(LockTypes, LockType)
|
||||
|
||||
QCamera(QObject *parent = 0, QMediaServiceProvider *provider = QMediaServiceProvider::defaultServiceProvider());
|
||||
QCamera(QObject *parent = 0);
|
||||
QCamera(const QByteArray& device, QObject *parent = 0);
|
||||
~QCamera();
|
||||
|
||||
|
||||
@@ -238,8 +238,9 @@ void QMediaPlayerPrivate::_q_playlistDestroyed()
|
||||
control->setMedia(QMediaContent(), 0);
|
||||
}
|
||||
|
||||
static QMediaService *playerService(QMediaPlayer::Flags flags, QMediaServiceProvider *provider)
|
||||
static QMediaService *playerService(QMediaPlayer::Flags flags)
|
||||
{
|
||||
QMediaServiceProvider *provider = QMediaServiceProvider::defaultServiceProvider();
|
||||
if (flags) {
|
||||
QMediaServiceProviderHint::Features features = 0;
|
||||
if (flags & QMediaPlayer::LowLatency)
|
||||
@@ -259,21 +260,18 @@ static QMediaService *playerService(QMediaPlayer::Flags flags, QMediaServiceProv
|
||||
|
||||
|
||||
/*!
|
||||
Construct a QMediaPlayer that uses the playback service from \a provider,
|
||||
Construct a QMediaPlayer instance
|
||||
parented to \a parent and with \a flags.
|
||||
|
||||
If a playback service is not specified the system default will be used.
|
||||
*/
|
||||
|
||||
QMediaPlayer::QMediaPlayer(QObject *parent, QMediaPlayer::Flags flags, QMediaServiceProvider *provider):
|
||||
QMediaPlayer::QMediaPlayer(QObject *parent, QMediaPlayer::Flags flags):
|
||||
QMediaObject(*new QMediaPlayerPrivate,
|
||||
parent,
|
||||
playerService(flags,provider))
|
||||
playerService(flags))
|
||||
{
|
||||
Q_D(QMediaPlayer);
|
||||
|
||||
d->provider = provider;
|
||||
|
||||
d->provider = QMediaServiceProvider::defaultServiceProvider();
|
||||
if (d->service == 0) {
|
||||
d->error = ServiceMissingError;
|
||||
} else {
|
||||
@@ -322,9 +320,9 @@ QMediaPlayer::~QMediaPlayer()
|
||||
if (d->service) {
|
||||
if (d->control)
|
||||
d->service->releaseControl(d->control);
|
||||
}
|
||||
|
||||
d->provider->releaseService(d->service);
|
||||
d->provider->releaseService(d->service);
|
||||
}
|
||||
}
|
||||
|
||||
QMediaContent QMediaPlayer::media() const
|
||||
|
||||
@@ -42,8 +42,6 @@
|
||||
#ifndef QMEDIAPLAYER_H
|
||||
#define QMEDIAPLAYER_H
|
||||
|
||||
|
||||
#include "qmediaserviceprovider.h"
|
||||
#include "qmediaobject.h"
|
||||
#include "qmediacontent.h"
|
||||
#include "qmediaenumdebug.h"
|
||||
@@ -123,7 +121,7 @@ public:
|
||||
ServiceMissingError
|
||||
};
|
||||
|
||||
QMediaPlayer(QObject *parent = 0, Flags flags = 0, QMediaServiceProvider *provider = QMediaServiceProvider::defaultServiceProvider());
|
||||
QMediaPlayer(QObject *parent = 0, Flags flags = 0);
|
||||
~QMediaPlayer();
|
||||
|
||||
static QtMultimedia::SupportEstimate hasSupport(const QString &mimeType,
|
||||
|
||||
@@ -613,13 +613,11 @@ QString QMediaServiceProvider::deviceDescription(const QByteArray &serviceType,
|
||||
return QString();
|
||||
}
|
||||
|
||||
|
||||
#ifdef QT_BUILD_INTERNAL
|
||||
|
||||
static QMediaServiceProvider *qt_defaultMediaServiceProvider = 0;
|
||||
|
||||
/*!
|
||||
Sets a media service \a provider as the default.
|
||||
It's useful for unit tests to provide mock service.
|
||||
|
||||
\internal
|
||||
*/
|
||||
@@ -628,20 +626,15 @@ void QMediaServiceProvider::setDefaultServiceProvider(QMediaServiceProvider *pro
|
||||
qt_defaultMediaServiceProvider = provider;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/*!
|
||||
Returns a default provider of media services.
|
||||
*/
|
||||
QMediaServiceProvider *QMediaServiceProvider::defaultServiceProvider()
|
||||
{
|
||||
#ifdef QT_BUILD_INTERNAL
|
||||
return qt_defaultMediaServiceProvider != 0
|
||||
? qt_defaultMediaServiceProvider
|
||||
: static_cast<QMediaServiceProvider *>(pluginProvider());
|
||||
#else
|
||||
return pluginProvider();
|
||||
#endif
|
||||
}
|
||||
|
||||
/*!
|
||||
|
||||
@@ -120,10 +120,7 @@ public:
|
||||
virtual QString deviceDescription(const QByteArray &serviceType, const QByteArray &device);
|
||||
|
||||
static QMediaServiceProvider* defaultServiceProvider();
|
||||
|
||||
#ifdef QT_BUILD_INTERNAL
|
||||
static void setDefaultServiceProvider(QMediaServiceProvider *provider);
|
||||
#endif
|
||||
};
|
||||
|
||||
/*!
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
#include "qmediaservice.h"
|
||||
#include "qmediaobject_p.h"
|
||||
#include "qradiodatacontrol.h"
|
||||
#include "qmediaserviceprovider.h"
|
||||
|
||||
#include <QPair>
|
||||
|
||||
@@ -93,12 +94,14 @@ public:
|
||||
The \a parent is passed to QMediaObject.
|
||||
*/
|
||||
|
||||
QRadioData::QRadioData(QObject *parent, QMediaServiceProvider* provider):
|
||||
QMediaObject(*new QRadioDataPrivate, parent, provider->requestService(Q_MEDIASERVICE_RADIO))
|
||||
QRadioData::QRadioData(QObject *parent):
|
||||
QMediaObject(*new QRadioDataPrivate,
|
||||
parent,
|
||||
QMediaServiceProvider::defaultServiceProvider()->requestService(Q_MEDIASERVICE_RADIO))
|
||||
{
|
||||
Q_D(QRadioData);
|
||||
|
||||
d->provider = provider;
|
||||
d->provider = QMediaServiceProvider::defaultServiceProvider();
|
||||
|
||||
if (d->service != 0) {
|
||||
d->control = qobject_cast<QRadioDataControl*>(d->service->requestControl(QRadioDataControl_iid));
|
||||
|
||||
@@ -45,7 +45,6 @@
|
||||
#include <QtCore/qobject.h>
|
||||
|
||||
#include "qmediaobject.h"
|
||||
#include "qmediaserviceprovider.h"
|
||||
#include <qmediaenumdebug.h>
|
||||
|
||||
#include <QPair>
|
||||
@@ -88,7 +87,7 @@ public:
|
||||
College
|
||||
};
|
||||
|
||||
QRadioData(QObject *parent = 0, QMediaServiceProvider *provider = QMediaServiceProvider::defaultServiceProvider());
|
||||
QRadioData(QObject *parent = 0);
|
||||
~QRadioData();
|
||||
|
||||
bool isAvailable() const;
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
#include "qmediaservice.h"
|
||||
#include "qmediaobject_p.h"
|
||||
#include "qradiotunercontrol.h"
|
||||
#include "qmediaserviceprovider.h"
|
||||
|
||||
#include <QPair>
|
||||
|
||||
@@ -106,12 +107,14 @@ public:
|
||||
The \a parent is passed to QMediaObject.
|
||||
*/
|
||||
|
||||
QRadioTuner::QRadioTuner(QObject *parent, QMediaServiceProvider* provider):
|
||||
QMediaObject(*new QRadioTunerPrivate, parent, provider->requestService(Q_MEDIASERVICE_RADIO))
|
||||
QRadioTuner::QRadioTuner(QObject *parent):
|
||||
QMediaObject(*new QRadioTunerPrivate,
|
||||
parent,
|
||||
QMediaServiceProvider::defaultServiceProvider()->requestService(Q_MEDIASERVICE_RADIO))
|
||||
{
|
||||
Q_D(QRadioTuner);
|
||||
|
||||
d->provider = provider;
|
||||
d->provider = QMediaServiceProvider::defaultServiceProvider();
|
||||
|
||||
if (d->service != 0) {
|
||||
d->control = qobject_cast<QRadioTunerControl*>(d->service->requestControl(QRadioTunerControl_iid));
|
||||
|
||||
@@ -45,7 +45,6 @@
|
||||
#include <QtCore/qobject.h>
|
||||
|
||||
#include "qmediaobject.h"
|
||||
#include "qmediaserviceprovider.h"
|
||||
#include <qmediaenumdebug.h>
|
||||
|
||||
#include <QPair>
|
||||
@@ -83,7 +82,7 @@ public:
|
||||
enum StereoMode { ForceStereo, ForceMono, Auto };
|
||||
enum SearchMode { SearchFast, SearchGetStationId };
|
||||
|
||||
QRadioTuner(QObject *parent = 0, QMediaServiceProvider *provider = QMediaServiceProvider::defaultServiceProvider());
|
||||
QRadioTuner(QObject *parent = 0);
|
||||
~QRadioTuner();
|
||||
|
||||
bool isAvailable() const;
|
||||
|
||||
@@ -118,11 +118,11 @@ public:
|
||||
The \a parent is passed to QMediaObject.
|
||||
*/
|
||||
|
||||
QAudioRecorder::QAudioRecorder(QObject *parent, QMediaServiceProvider *serviceProvider):
|
||||
QAudioRecorder::QAudioRecorder(QObject *parent):
|
||||
QMediaRecorder(*new QAudioRecorderPrivate, 0, parent)
|
||||
{
|
||||
Q_D(QAudioRecorder);
|
||||
d->provider = serviceProvider;
|
||||
d->provider = QMediaServiceProvider::defaultServiceProvider();
|
||||
|
||||
QMediaService *service = d->provider->requestService(Q_MEDIASERVICE_AUDIOSOURCE);
|
||||
setMediaObject(new QAudioRecorderObject(this, service));
|
||||
|
||||
@@ -68,7 +68,7 @@ class Q_MULTIMEDIA_EXPORT QAudioRecorder : public QMediaRecorder
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QString audioInput READ audioInput WRITE setAudioInput NOTIFY audioInputChanged)
|
||||
public:
|
||||
QAudioRecorder(QObject *parent = 0, QMediaServiceProvider *serviceProvider = QMediaServiceProvider::defaultServiceProvider());
|
||||
QAudioRecorder(QObject *parent = 0);
|
||||
~QAudioRecorder();
|
||||
|
||||
QStringList audioInputs() const;
|
||||
|
||||
@@ -43,7 +43,6 @@
|
||||
#define QMEDIARECORDER_H
|
||||
|
||||
#include <qmediaobject.h>
|
||||
#include <qmediaserviceprovider.h>
|
||||
#include <qmediaencodersettings.h>
|
||||
#include <qmediabindableinterface.h>
|
||||
#include <qmediaenumdebug.h>
|
||||
|
||||
@@ -53,8 +53,6 @@
|
||||
#include <qmediaservice.h>
|
||||
#include <qvideowidget.h>
|
||||
|
||||
#include <qmediaserviceprovider.h>
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
Reference in New Issue
Block a user