diff options
author | Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> | 2012-01-19 10:01:02 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-24 09:11:07 +0100 |
commit | a78a95ccd4c876bca7fe748c44c9744e828d375e (patch) | |
tree | 4a72285e10aab435682fb7cdbbc4e70432191b20 /src/multimedia | |
parent | adb2bd2cd4bb2b01b15f6213681654949f2c797c (diff) |
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>
Diffstat (limited to 'src/multimedia')
-rw-r--r-- | src/multimedia/camera/qcamera.cpp | 9 | ||||
-rw-r--r-- | src/multimedia/camera/qcamera.h | 3 | ||||
-rw-r--r-- | src/multimedia/playback/qmediaplayer.cpp | 18 | ||||
-rw-r--r-- | src/multimedia/playback/qmediaplayer.h | 4 | ||||
-rw-r--r-- | src/multimedia/qmediaserviceprovider.cpp | 9 | ||||
-rw-r--r-- | src/multimedia/qmediaserviceprovider.h | 3 | ||||
-rw-r--r-- | src/multimedia/radio/qradiodata.cpp | 9 | ||||
-rw-r--r-- | src/multimedia/radio/qradiodata.h | 3 | ||||
-rw-r--r-- | src/multimedia/radio/qradiotuner.cpp | 9 | ||||
-rw-r--r-- | src/multimedia/radio/qradiotuner.h | 3 | ||||
-rw-r--r-- | src/multimedia/recording/qaudiorecorder.cpp | 4 | ||||
-rw-r--r-- | src/multimedia/recording/qaudiorecorder.h | 2 | ||||
-rw-r--r-- | src/multimedia/recording/qmediarecorder.h | 1 |
13 files changed, 34 insertions, 43 deletions
diff --git a/src/multimedia/camera/qcamera.cpp b/src/multimedia/camera/qcamera.cpp index 6160ccb64..a5e5be57c 100644 --- a/src/multimedia/camera/qcamera.cpp +++ b/src/multimedia/camera/qcamera.cpp @@ -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); diff --git a/src/multimedia/camera/qcamera.h b/src/multimedia/camera/qcamera.h index 5ea9b4420..da84a692e 100644 --- a/src/multimedia/camera/qcamera.h +++ b/src/multimedia/camera/qcamera.h @@ -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(); diff --git a/src/multimedia/playback/qmediaplayer.cpp b/src/multimedia/playback/qmediaplayer.cpp index b729a5fa8..e54cd7c74 100644 --- a/src/multimedia/playback/qmediaplayer.cpp +++ b/src/multimedia/playback/qmediaplayer.cpp @@ -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 diff --git a/src/multimedia/playback/qmediaplayer.h b/src/multimedia/playback/qmediaplayer.h index 248ca308b..807d6781a 100644 --- a/src/multimedia/playback/qmediaplayer.h +++ b/src/multimedia/playback/qmediaplayer.h @@ -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, diff --git a/src/multimedia/qmediaserviceprovider.cpp b/src/multimedia/qmediaserviceprovider.cpp index 849a9b602..48640faba 100644 --- a/src/multimedia/qmediaserviceprovider.cpp +++ b/src/multimedia/qmediaserviceprovider.cpp @@ -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 } /*! diff --git a/src/multimedia/qmediaserviceprovider.h b/src/multimedia/qmediaserviceprovider.h index 6bcbd858c..bb3cc5a9e 100644 --- a/src/multimedia/qmediaserviceprovider.h +++ b/src/multimedia/qmediaserviceprovider.h @@ -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 }; /*! diff --git a/src/multimedia/radio/qradiodata.cpp b/src/multimedia/radio/qradiodata.cpp index 004880af8..8fb160f01 100644 --- a/src/multimedia/radio/qradiodata.cpp +++ b/src/multimedia/radio/qradiodata.cpp @@ -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)); diff --git a/src/multimedia/radio/qradiodata.h b/src/multimedia/radio/qradiodata.h index e82029690..934b86b0f 100644 --- a/src/multimedia/radio/qradiodata.h +++ b/src/multimedia/radio/qradiodata.h @@ -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; diff --git a/src/multimedia/radio/qradiotuner.cpp b/src/multimedia/radio/qradiotuner.cpp index c4a8cfc47..ee69c6370 100644 --- a/src/multimedia/radio/qradiotuner.cpp +++ b/src/multimedia/radio/qradiotuner.cpp @@ -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)); diff --git a/src/multimedia/radio/qradiotuner.h b/src/multimedia/radio/qradiotuner.h index 87a2ed4d2..c254c72e5 100644 --- a/src/multimedia/radio/qradiotuner.h +++ b/src/multimedia/radio/qradiotuner.h @@ -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; diff --git a/src/multimedia/recording/qaudiorecorder.cpp b/src/multimedia/recording/qaudiorecorder.cpp index 333ba4ae7..2357ae3c1 100644 --- a/src/multimedia/recording/qaudiorecorder.cpp +++ b/src/multimedia/recording/qaudiorecorder.cpp @@ -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)); diff --git a/src/multimedia/recording/qaudiorecorder.h b/src/multimedia/recording/qaudiorecorder.h index 84d19e61c..3d59dfb07 100644 --- a/src/multimedia/recording/qaudiorecorder.h +++ b/src/multimedia/recording/qaudiorecorder.h @@ -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; diff --git a/src/multimedia/recording/qmediarecorder.h b/src/multimedia/recording/qmediarecorder.h index 4a46371bc..dcdbb7426 100644 --- a/src/multimedia/recording/qmediarecorder.h +++ b/src/multimedia/recording/qmediarecorder.h @@ -43,7 +43,6 @@ #define QMEDIARECORDER_H #include <qmediaobject.h> -#include <qmediaserviceprovider.h> #include <qmediaencodersettings.h> #include <qmediabindableinterface.h> #include <qmediaenumdebug.h> |