Ignore:
Timestamp:
May 5, 2011, 5:36:53 AM (14 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/3rdparty/phonon/mmf/abstractvideoplayer.cpp

    r769 r846  
    1717*/
    1818
     19#include <QDir>
    1920#include <QUrl>
    2021#include <QTimer>
     
    6768    createPlayer();
    6869
     70    m_player->RegisterForVideoLoadingNotification(*this);
     71
    6972    TRACE_EXIT_0();
    7073}
     
    131134}
    132135
     136int MMF::AbstractVideoPlayer::openFile(const QString &fileName)
     137{
     138    const QHBufC nativeFileName(QDir::toNativeSeparators(fileName));
     139    TRAPD(err, m_player->OpenFileL(*nativeFileName));
     140    return err;
     141}
     142
    133143int MMF::AbstractVideoPlayer::openFile(RFile &file)
    134144{
     
    137147}
    138148
    139 int MMF::AbstractVideoPlayer::openUrl(const QString &url)
    140 {
    141     TRAPD(err, m_player->OpenUrlL(qt_QString2TPtrC(url)));
     149int MMF::AbstractVideoPlayer::openUrl(const QString &url, int iap)
     150{
     151    TRAPD(err, m_player->OpenUrlL(qt_QString2TPtrC(url), iap));
     152    return err;
     153}
     154
     155int MMF::AbstractVideoPlayer::openDescriptor(const TDesC8 &des)
     156{
     157    TRAPD(err, m_player->OpenDesL(des));
    142158    return err;
    143159}
     
    150166}
    151167
    152 void MMF::AbstractVideoPlayer::close()
     168void MMF::AbstractVideoPlayer::doClose()
    153169{
    154170    m_player->Close();
     
    160176}
    161177
    162 qint64 MMF::AbstractVideoPlayer::currentTime() const
    163 {
    164     TRACE_CONTEXT(AbstractVideoPlayer::currentTime, EVideoApi);
     178qint64 MMF::AbstractVideoPlayer::getCurrentTime() const
     179{
     180    TRACE_CONTEXT(AbstractVideoPlayer::getCurrentTime, EVideoApi);
    165181
    166182    TTimeIntervalMicroSeconds us;
     
    212228    TRACE_ENTRY("state %d aspectRatio %d", state());
    213229
    214     updateScaleFactors(m_videoOutput->videoWindowSize());
     230    if (m_videoOutput)
     231        updateScaleFactors(m_videoOutput->videoWindowSize());
    215232
    216233    TRACE_EXIT_0();
     
    222239    TRACE_ENTRY("state %d", state());
    223240
    224     updateScaleFactors(m_videoOutput->videoWindowSize());
     241    if (m_videoOutput)
     242        updateScaleFactors(m_videoOutput->videoWindowSize());
    225243
    226244    TRACE_EXIT_0();
     
    237255    TRACE_ENTRY("state %d error %d", state(), aError);
    238256
    239     __ASSERT_ALWAYS(LoadingState == state(), Utils::panic(InvalidStatePanic));
     257    __ASSERT_ALWAYS(LoadingState == state() ||
     258                    progressiveDownloadStalled() && BufferingState == state(),
     259                    Utils::panic(InvalidStatePanic));
    240260
    241261    if (KErrNone == aError)
     
    252272    TRACE_ENTRY("state %d error %d", state(), aError);
    253273
    254     __ASSERT_ALWAYS(LoadingState == state(), Utils::panic(InvalidStatePanic));
     274    __ASSERT_ALWAYS(LoadingState == state() ||
     275                    progressiveDownloadStalled() && BufferingState == state(),
     276                    Utils::panic(InvalidStatePanic));
    255277
    256278    TRAPD(err, getVideoClipParametersL(aError));
     
    358380void MMF::AbstractVideoPlayer::initVideoOutput()
    359381{
     382    Q_ASSERT(m_videoOutput);
     383
    360384    bool connected = connect(
    361385        m_videoOutput, SIGNAL(videoWindowChanged()),
     
    379403    Q_UNUSED(connected);
    380404
    381     // Do these after all connections are complete, to ensure
    382     // that any signals generated get to their destinations.
    383     m_videoOutput->winId();
    384405    m_videoOutput->setVideoSize(m_videoFrameSize);
    385406}
     
    401422void MMF::AbstractVideoPlayer::updateScaleFactors(const QSize &windowSize, bool apply)
    402423{
     424    Q_ASSERT(m_videoOutput);
     425
    403426    if (m_videoFrameSize.isValid()) {
    404427        QRect videoRect;
     
    460483void MMF::AbstractVideoPlayer::parametersChanged(VideoParameters parameters)
    461484{
    462     if (state() == LoadingState)
     485    if (state() == LoadingState || progressiveDownloadStalled() && BufferingState == state())
    463486        m_pendingChanges |= parameters;
    464487    else
Note: See TracChangeset for help on using the changeset viewer.