diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2012-09-10 21:13:57 +1000 |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2012-09-10 21:13:57 +1000 |
commit | 03cd976051b1181277fcc0b00fc4335300e609d7 (patch) | |
tree | 1dfc9b9cbae506bc3c1adc8bc63fe7b95492be9b | |
parent | 01963a88f562d9866729b7e6ad63c4d57e521c36 (diff) | |
parent | c3bf5eac6c216876acc855b182da4fc05a34acb6 (diff) |
Merge branch 'master' of scm.dev.nokia.troll.no:qtmobility/qtm-systeminfo into master-integration
* 'master' of scm.dev.nokia.troll.no:qtmobility/qtm-systeminfo:
Fix QAudioInput to connect to correct slot on Symbian
Fix for Symbian video resume from pause after screen lock and unlock
Fix handling of type 4 tag specific command replies on Symbian
-rw-r--r-- | examples/audioinput/audioinput.cpp | 9 | ||||
-rw-r--r-- | examples/audioinput/audioinput.h | 1 | ||||
-rw-r--r-- | examples/audioinput/audioinput.pro | 4 | ||||
-rw-r--r-- | examples/audioinput/main.cpp | 4 | ||||
-rw-r--r-- | plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.cpp | 20 | ||||
-rw-r--r-- | plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.h | 1 | ||||
-rw-r--r-- | src/connectivity/nfc/qnearfieldtagtype4_symbian.cpp | 5 | ||||
-rw-r--r-- | src/multimedia/audio/qaudioinput_symbian_p.cpp | 2 |
8 files changed, 43 insertions, 3 deletions
diff --git a/examples/audioinput/audioinput.cpp b/examples/audioinput/audioinput.cpp index aa008df1aa..fba6dcd091 100644 --- a/examples/audioinput/audioinput.cpp +++ b/examples/audioinput/audioinput.cpp @@ -56,6 +56,7 @@ const QString InputTest::PushModeLabel(tr("Enable push mode")); const QString InputTest::PullModeLabel(tr("Enable pull mode")); const QString InputTest::SuspendLabel(tr("Suspend recording")); const QString InputTest::ResumeLabel(tr("Resume recording")); +const QString InputTest::StoppedLabel(tr("Recording stopped")); const int BufferSize = 4096; @@ -338,7 +339,10 @@ void InputTest::toggleSuspend() } else if (m_audioInput->state() == QAudio::StoppedState) { qWarning() << "status: Stopped, resume()"; m_audioInput->resume(); - m_suspendResumeButton->setText(SuspendLabel); + if (m_audioInput->state() == QAudio::ActiveState) + m_suspendResumeButton->setText(SuspendLabel); + else + m_suspendResumeButton->setText(StoppedLabel); } else if (m_audioInput->state() == QAudio::IdleState) { qWarning() << "status: IdleState"; } @@ -347,6 +351,9 @@ void InputTest::toggleSuspend() void InputTest::stateChanged(QAudio::State state) { qWarning() << "state = " << state; + + if(state == QAudio::StoppedState) + m_suspendResumeButton->setText(StoppedLabel); } void InputTest::refreshDisplay() diff --git a/examples/audioinput/audioinput.h b/examples/audioinput/audioinput.h index 540e798453..58b75e3a18 100644 --- a/examples/audioinput/audioinput.h +++ b/examples/audioinput/audioinput.h @@ -133,6 +133,7 @@ private: static const QString PullModeLabel; static const QString SuspendLabel; static const QString ResumeLabel; + static const QString StoppedLabel; }; #endif diff --git a/examples/audioinput/audioinput.pro b/examples/audioinput/audioinput.pro index 80daa8d656..23dedc0367 100644 --- a/examples/audioinput/audioinput.pro +++ b/examples/audioinput/audioinput.pro @@ -13,4 +13,6 @@ HEADERS = audioinput.h SOURCES = audioinput.cpp \ main.cpp - +symbian: { +TARGET.CAPABILITY = UserEnvironment +} diff --git a/examples/audioinput/main.cpp b/examples/audioinput/main.cpp index c14d1c8433..fffb898f10 100644 --- a/examples/audioinput/main.cpp +++ b/examples/audioinput/main.cpp @@ -48,7 +48,11 @@ int main(int argv, char **args) app.setApplicationName("Audio Input Test"); InputTest input; +#ifndef Q_WS_S60 input.show(); +#else + input.showMaximized(); +#endif return app.exec(); } diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.cpp index 95069a04bf..1cc11f6685 100644 --- a/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.cpp +++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.cpp @@ -167,6 +167,7 @@ S60VideoPlayerSession::S60VideoPlayerSession(QMediaService *service, S60MediaNet , m_player(0) #ifdef VIDEOOUTPUT_GRAPHICS_SURFACES , m_nativeSurface(TSurfaceId::CreateNullId()) + , m_bufferingWaitingSurface(false) #else , m_dsaActive(false) , m_dsaStopped(false) @@ -692,6 +693,11 @@ void S60VideoPlayerSession::MvpuoEvent(const TMMFEvent &aEvent) // MMF sends this event when video playback is paused due to foreground lost event applicationLostFocus(); } else { +#ifdef VIDEOOUTPUT_GRAPHICS_SURFACES + // Ignore KErrNotFound when loading for null surface + if (aEvent.iErrorCode == KErrNotFound && m_bufferingWaitingSurface) + return; +#endif setError(aEvent.iErrorCode); doClose(); } @@ -708,6 +714,13 @@ void S60VideoPlayerSession::MmsehSurfaceCreated(TInt aDisplayId, const TSurfaceI Q_UNUSED(aAspectRatio) Q_ASSERT(m_nativeSurface.IsNull()); m_nativeSurface = aId; +#ifdef VIDEOOUTPUT_GRAPHICS_SURFACES + if (m_bufferingWaitingSurface) { + // Loading had started before surface, start buffering now + m_bufferingWaitingSurface = false; + buffering(); + } +#endif emit nativeSurfaceChanged(m_nativeSurface); } @@ -817,6 +830,13 @@ bool S60VideoPlayerSession::stopDirectScreenAccess() void S60VideoPlayerSession::MvloLoadingStarted() { TRACE("S60VideoPlayerSession::MvloLoadingStarted" << qtThisPtr()); +#ifdef VIDEOOUTPUT_GRAPHICS_SURFACES + if (m_nativeSurface.IsNull()) { + // Wait for surface before starting buffering + m_bufferingWaitingSurface = true; + } + else +#endif buffering(); } diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.h index c9bb7154cc..2cc9595a47 100644 --- a/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.h +++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.h @@ -209,6 +209,7 @@ private: CVideoPlayerUtility2 *m_player; TSurfaceId m_nativeSurface; S60NativeWindow *m_dummyWindow; + bool m_bufferingWaitingSurface; #else CVideoPlayerUtility *m_player; bool m_dsaActive; diff --git a/src/connectivity/nfc/qnearfieldtagtype4_symbian.cpp b/src/connectivity/nfc/qnearfieldtagtype4_symbian.cpp index 4df5539b1d..5e93782c9f 100644 --- a/src/connectivity/nfc/qnearfieldtagtype4_symbian.cpp +++ b/src/connectivity/nfc/qnearfieldtagtype4_symbian.cpp @@ -134,6 +134,11 @@ QVariant QNearFieldTagType4Symbian::decodeResponse(const QByteArray &command, co result = response; } } + else + { + LOG("tag specific command"); + result = response; + } END return result; } diff --git a/src/multimedia/audio/qaudioinput_symbian_p.cpp b/src/multimedia/audio/qaudioinput_symbian_p.cpp index fe250cf322..03bfeab9ee 100644 --- a/src/multimedia/audio/qaudioinput_symbian_p.cpp +++ b/src/multimedia/audio/qaudioinput_symbian_p.cpp @@ -125,7 +125,7 @@ QAudioInputPrivate::QAudioInputPrivate(const QByteArray &device) qRegisterMetaType<CMMFBuffer *>("CMMFBuffer *"); connect(m_notifyTimer.data(), SIGNAL(timeout()), - this, SIGNAL(notifyTimerExpired())); + this, SLOT(notifyTimerExpired())); m_pullTimer->setInterval(PushInterval); connect(m_pullTimer.data(), SIGNAL(timeout()), this, SLOT(pullData())); |