| Index: trunk/Source/core/html/HTMLMediaElement.cpp
|
| ===================================================================
|
| --- trunk/Source/core/html/HTMLMediaElement.cpp (revision 175710)
|
| +++ trunk/Source/core/html/HTMLMediaElement.cpp (working copy)
|
| @@ -1712,7 +1712,7 @@
|
| double time = WTF::currentTime();
|
| double timedelta = time - m_previousProgressTime;
|
|
|
| - if (webMediaPlayer() && webMediaPlayer()->didLoadingProgress()) {
|
| + if (m_player->didLoadingProgress()) {
|
| scheduleEvent(EventTypeNames::progress);
|
| m_previousProgressTime = time;
|
| m_sentStalledEvent = false;
|
| @@ -1989,15 +1989,15 @@
|
| scheduleEvent(EventTypeNames::ratechange);
|
| }
|
|
|
| - if (m_player && potentiallyPlaying() && !m_mediaController)
|
| - webMediaPlayer()->setRate(rate);
|
| + if (m_player && potentiallyPlaying() && m_player->rate() != rate && !m_mediaController)
|
| + m_player->setRate(rate);
|
| }
|
|
|
| void HTMLMediaElement::updatePlaybackRate()
|
| {
|
| double effectiveRate = m_mediaController ? m_mediaController->playbackRate() : m_playbackRate;
|
| - if (m_player && potentiallyPlaying())
|
| - webMediaPlayer()->setRate(effectiveRate);
|
| + if (m_player && potentiallyPlaying() && m_player->rate() != effectiveRate)
|
| + m_player->setRate(effectiveRate);
|
| }
|
|
|
| bool HTMLMediaElement::ended() const
|
| @@ -2897,13 +2897,13 @@
|
|
|
| PassRefPtr<TimeRanges> HTMLMediaElement::buffered() const
|
| {
|
| + if (!m_player)
|
| + return TimeRanges::create();
|
| +
|
| if (m_mediaSource)
|
| return m_mediaSource->buffered();
|
|
|
| - if (!webMediaPlayer())
|
| - return TimeRanges::create();
|
| -
|
| - return TimeRanges::create(webMediaPlayer()->buffered());
|
| + return m_player->buffered();
|
| }
|
|
|
| PassRefPtr<TimeRanges> HTMLMediaElement::played()
|
| @@ -2922,8 +2922,8 @@
|
|
|
| PassRefPtr<TimeRanges> HTMLMediaElement::seekable() const
|
| {
|
| - if (webMediaPlayer()) {
|
| - double maxTimeSeekable = webMediaPlayer()->maxTimeSeekable();
|
| + if (m_player) {
|
| + double maxTimeSeekable = m_player->maxTimeSeekable();
|
| if (maxTimeSeekable)
|
| return TimeRanges::create(0, maxTimeSeekable);
|
| }
|
| @@ -3033,7 +3033,7 @@
|
| if (playerPaused) {
|
| // Set rate, muted before calling play in case they were set before the media engine was setup.
|
| // The media engine should just stash the rate and muted values since it isn't already playing.
|
| - webMediaPlayer()->setRate(m_playbackRate);
|
| + m_player->setRate(m_playbackRate);
|
| updateVolume();
|
| webMediaPlayer()->play();
|
| }
|
|
|