diff options
author | Jocelyn Turcotte <jocelyn.turcotte@nokia.com> | 2010-04-12 14:08:24 (GMT) |
---|---|---|
committer | Jocelyn Turcotte <jocelyn.turcotte@nokia.com> | 2010-04-12 14:08:24 (GMT) |
commit | 1b4736527627fd29074d853a48ea8f94b238fe9b (patch) | |
tree | a8ea9bd3012689d4737ffa1ec486f516ebc8f017 /src/3rdparty | |
parent | 50a8b8782ab3dab6446cca9a5528d6287df9d7d1 (diff) | |
parent | 6f736694461edc25b6e757f40ab9cad6a9207ad4 (diff) | |
download | Qt-1b4736527627fd29074d853a48ea8f94b238fe9b.zip Qt-1b4736527627fd29074d853a48ea8f94b238fe9b.tar.gz Qt-1b4736527627fd29074d853a48ea8f94b238fe9b.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt into qtwebkitStaging-4.7
Diffstat (limited to 'src/3rdparty')
-rw-r--r-- | src/3rdparty/phonon/ds9/mediaobject.cpp | 6 | ||||
-rw-r--r-- | src/3rdparty/phonon/mmf/abstractmediaplayer.cpp | 13 | ||||
-rw-r--r-- | src/3rdparty/phonon/mmf/abstractmediaplayer.h | 2 | ||||
-rw-r--r-- | src/3rdparty/phonon/mmf/videoplayer_dsa.cpp | 2 |
4 files changed, 16 insertions, 7 deletions
diff --git a/src/3rdparty/phonon/ds9/mediaobject.cpp b/src/3rdparty/phonon/ds9/mediaobject.cpp index d1e15c0..b9a8713 100644 --- a/src/3rdparty/phonon/ds9/mediaobject.cpp +++ b/src/3rdparty/phonon/ds9/mediaobject.cpp @@ -27,7 +27,9 @@ along with this library. If not, see <http://www.gnu.org/licenses/>. #include <objbase.h> #include <initguid.h> #include <qnetwork.h> -#include <comdef.h> +#ifdef Q_CC_MSVC +# include <comdef.h> +#endif #include <evcode.h> #include "mediaobject.h" @@ -851,8 +853,10 @@ namespace Phonon ushort buffer[MAX_ERROR_TEXT_LEN]; if (getErrorText && getErrorText(hr, (WCHAR*)buffer, MAX_ERROR_TEXT_LEN)) { m_errorString = QString::fromUtf16(buffer); +#ifdef Q_CC_MSVC } else { m_errorString = QString::fromUtf16((ushort*)_com_error(hr).ErrorMessage()); +#endif } const QString comError = QString::number(uint(hr), 16); if (!m_errorString.toLower().contains(comError.toLower())) { diff --git a/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp index 544762a..6356c21 100644 --- a/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp +++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp @@ -369,6 +369,13 @@ void MMF::AbstractMediaPlayer::playbackComplete(int error) { stopTimers(); + if (KErrNone == error && !m_aboutToFinishSent) { + const qint64 total = totalTime(); + emit MMF::AbstractPlayer::tick(total); + m_aboutToFinishSent = true; + emit aboutToFinish(); + } + if (KErrNone == error) { changeState(StoppedState); @@ -393,15 +400,13 @@ qint64 MMF::AbstractMediaPlayer::toMilliSeconds(const TTimeIntervalMicroSeconds void MMF::AbstractMediaPlayer::positionTick() { - emitMarksIfReached(); - const qint64 current = currentTime(); + emitMarksIfReached(current); emit MMF::AbstractPlayer::tick(current); } -void MMF::AbstractMediaPlayer::emitMarksIfReached() +void MMF::AbstractMediaPlayer::emitMarksIfReached(qint64 current) { - const qint64 current = currentTime(); const qint64 total = totalTime(); const qint64 remaining = total - current; diff --git a/src/3rdparty/phonon/mmf/abstractmediaplayer.h b/src/3rdparty/phonon/mmf/abstractmediaplayer.h index abd6bff..308b5af 100644 --- a/src/3rdparty/phonon/mmf/abstractmediaplayer.h +++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.h @@ -91,7 +91,7 @@ private: void stopBufferStatusTimer(); void stopTimers(); void doVolumeChanged(); - void emitMarksIfReached(); + void emitMarksIfReached(qint64 position); void resetMarksIfRewound(); private Q_SLOTS: diff --git a/src/3rdparty/phonon/mmf/videoplayer_dsa.cpp b/src/3rdparty/phonon/mmf/videoplayer_dsa.cpp index 226d079..d607f1d 100644 --- a/src/3rdparty/phonon/mmf/videoplayer_dsa.cpp +++ b/src/3rdparty/phonon/mmf/videoplayer_dsa.cpp @@ -217,7 +217,7 @@ void getDsaRegion(RWsSession &session, const RWindowBase &window) void MMF::DsaVideoPlayer::handleParametersChanged(VideoParameters parameters) { TRACE_CONTEXT(DsaVideoPlayer::handleParametersChanged, EVideoInternal); - TRACE_ENTRY("parameters 0x%x", parameters); + TRACE_ENTRY("parameters 0x%x", parameters.operator int()); if (!m_window) return; |