summaryrefslogtreecommitdiffstats
path: root/src/multimedia
diff options
context:
space:
mode:
authorDmytro Poplavskiy <dmytro.poplavskiy@nokia.com>2012-01-19 10:01:02 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-24 09:11:07 +0100
commita78a95ccd4c876bca7fe748c44c9744e828d375e (patch)
tree4a72285e10aab435682fb7cdbbc4e70432191b20 /src/multimedia
parentadb2bd2cd4bb2b01b15f6213681654949f2c797c (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.cpp9
-rw-r--r--src/multimedia/camera/qcamera.h3
-rw-r--r--src/multimedia/playback/qmediaplayer.cpp18
-rw-r--r--src/multimedia/playback/qmediaplayer.h4
-rw-r--r--src/multimedia/qmediaserviceprovider.cpp9
-rw-r--r--src/multimedia/qmediaserviceprovider.h3
-rw-r--r--src/multimedia/radio/qradiodata.cpp9
-rw-r--r--src/multimedia/radio/qradiodata.h3
-rw-r--r--src/multimedia/radio/qradiotuner.cpp9
-rw-r--r--src/multimedia/radio/qradiotuner.h3
-rw-r--r--src/multimedia/recording/qaudiorecorder.cpp4
-rw-r--r--src/multimedia/recording/qaudiorecorder.h2
-rw-r--r--src/multimedia/recording/qmediarecorder.h1
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>