Revert "WMF: fixed MediaPlayer buffering logic."
This reverts commit d599f7319a.
This was not the correct logic...
According to the documentation, the BufferedMedia status should be
set only when in the PlayingState.
Change-Id: I36053ebc09c0517fcd2a1a7f2b091fbe8f04f3d0
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
This commit is contained in:
committed by
The Qt Project
parent
fb0620219b
commit
cbe9fc8e4d
@@ -1326,6 +1326,8 @@ void MFPlayerSession::start()
|
||||
switch (m_status) {
|
||||
case QMediaPlayer::EndOfMedia:
|
||||
m_varStart.hVal.QuadPart = 0;
|
||||
//since it must be loaded already, just fallthrough
|
||||
case QMediaPlayer::LoadedMedia:
|
||||
changeStatus(QMediaPlayer::BufferedMedia);
|
||||
return;
|
||||
}
|
||||
@@ -1920,12 +1922,10 @@ void MFPlayerSession::handleSessionEvent(IMFMediaEvent *sessionEvent)
|
||||
|
||||
switch (meType) {
|
||||
case MEBufferingStarted:
|
||||
changeStatus(m_status == QMediaPlayer::LoadedMedia ? QMediaPlayer::BufferingMedia : QMediaPlayer::StalledMedia);
|
||||
changeStatus(QMediaPlayer::StalledMedia);
|
||||
emit bufferStatusChanged(bufferStatus());
|
||||
break;
|
||||
case MEBufferingStopped:
|
||||
if (m_status == QMediaPlayer::BufferingMedia)
|
||||
stop(true);
|
||||
changeStatus(QMediaPlayer::BufferedMedia);
|
||||
emit bufferStatusChanged(bufferStatus());
|
||||
break;
|
||||
@@ -1990,16 +1990,6 @@ void MFPlayerSession::handleSessionEvent(IMFMediaEvent *sessionEvent)
|
||||
}
|
||||
}
|
||||
MFGetService(m_session, MFNETSOURCE_STATISTICS_SERVICE, IID_PPV_ARGS(&m_netsourceStatistics));
|
||||
|
||||
if (!m_netsourceStatistics || bufferStatus() == 100) {
|
||||
// If the source reader doesn't implement the statistics service, just set the status
|
||||
// to buffered, since there is no way to query the buffering progress...
|
||||
changeStatus(QMediaPlayer::BufferedMedia);
|
||||
} else {
|
||||
// Start to trigger buffering. Once enough buffering is done, the session will
|
||||
// be automatically stopped unless the user has explicitly started playback.
|
||||
start();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user