summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLing Hu <ling.hu@nokia.com>2011-10-14 10:36:49 +1000
committerQt by Nokia <qt-info@nokia.com>2011-10-17 06:02:10 +0200
commit9011296e65972f28db10822a3825e6890216482e (patch)
treea18f3ac0777184ebd1dfd5de721b021d57b0e6f1
parentd414247afecf2d2bad4cce47813099c515005e3e (diff)
downloadqtmultimedia-9011296e65972f28db10822a3825e6890216482e.tar.gz
Init mediaobject at classBegin rather than componentComplete
Since we use an explicit backgroundaudio class, there is no need to wait for other property to determine the mediaobject type. So it is better to init the mediaobject at classBegin to prevent being accessed before mediaobject initialized. Change-Id: Ia55b8b4c1ab70cc0acbf6f49bcb3e20bdb813a88 Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com> Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
-rw-r--r--src/imports/multimedia/qdeclarativebackgroundaudio.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/imports/multimedia/qdeclarativebackgroundaudio.cpp b/src/imports/multimedia/qdeclarativebackgroundaudio.cpp
index dee32420d..cd163d862 100644
--- a/src/imports/multimedia/qdeclarativebackgroundaudio.cpp
+++ b/src/imports/multimedia/qdeclarativebackgroundaudio.cpp
@@ -44,10 +44,6 @@
void QDeclarativeBackgroundAudio::classBegin()
{
-}
-
-void QDeclarativeBackgroundAudio::componentComplete()
-{
setObject(this, Q_MEDIASERVICE_BACKGROUNDMEDIAPLAYER);
if (m_mediaService) {
m_backgroundPlaybackControl =
@@ -56,15 +52,21 @@ void QDeclarativeBackgroundAudio::componentComplete()
if (m_backgroundPlaybackControl) {
connect(m_backgroundPlaybackControl, SIGNAL(acquired()), this, SIGNAL(acquiredChanged()));
connect(m_backgroundPlaybackControl, SIGNAL(lost()), this, SIGNAL(acquiredChanged()));
- if (!m_contextId.isEmpty())
- m_backgroundPlaybackControl->setContextId(m_contextId);
} else {
qWarning("can not get QMediaBackgroundPlaybackControl!");
}
} else {
qWarning("Unable to get any background mediaplayer!");
}
- QDeclarativeMediaBase::componentComplete();
+ emit mediaObjectChanged();
+
+ //Note: we are not calling QDeclarativeAudio::classBegin here,
+ //otherwise there will be conflict for setObject().
+}
+
+void QDeclarativeBackgroundAudio::componentComplete()
+{
+ QDeclarativeAudio::componentComplete();
}
QDeclarativeBackgroundAudio::QDeclarativeBackgroundAudio(QObject *parent)