diff options
Diffstat (limited to 'Source/WebCore/html/HTMLMediaElement.cpp')
-rw-r--r-- | Source/WebCore/html/HTMLMediaElement.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/WebCore/html/HTMLMediaElement.cpp b/Source/WebCore/html/HTMLMediaElement.cpp index 43d53f5..be478b3 100644 --- a/Source/WebCore/html/HTMLMediaElement.cpp +++ b/Source/WebCore/html/HTMLMediaElement.cpp @@ -544,6 +544,7 @@ void HTMLMediaElement::prepareForLoad() refreshCachedTime(); m_paused = true; m_seeking = false; + invalidateCachedTime(); scheduleEvent(eventNames().emptiedEvent); } @@ -1001,6 +1002,7 @@ void HTMLMediaElement::setReadyState(MediaPlayer::ReadyState state) if (m_autoplaying && m_paused && autoplay()) { m_paused = false; + invalidateCachedTime(); scheduleEvent(eventNames().playEvent); scheduleEvent(eventNames().playingEvent); } @@ -1310,6 +1312,7 @@ void HTMLMediaElement::setPlaybackRate(float rate) if (m_playbackRate != rate) { m_playbackRate = rate; + invalidateCachedTime(); scheduleEvent(eventNames().ratechangeEvent); } if (m_player && potentiallyPlaying() && m_player->rate() != rate) @@ -1414,6 +1417,7 @@ void HTMLMediaElement::playInternal() if (m_paused) { m_paused = false; + invalidateCachedTime(); scheduleEvent(eventNames().playEvent); if (m_readyState <= HAVE_CURRENT_DATA) @@ -1901,6 +1905,7 @@ void HTMLMediaElement::mediaPlayerRateChanged(MediaPlayer*) // Stash the rate in case the one we tried to set isn't what the engine is // using (eg. it can't handle the rate we set) m_playbackRate = m_player->rate(); + invalidateCachedTime(); endProcessingMediaPlayerCallback(); } |