Commit 21f1f757 authored by qinmin's avatar qinmin Committed by Commit bot

Fix an issue that video is not seekable

When updating the ReadyState, HTMLMediaElement will immediately check the duration.
If at that time has_valid_metadata_ is false, we will return NaN.
So the has_valid_metadata_ has to be set before ReadyState is updated.

BUG=414499

Review URL: https://codereview.chromium.org/572803002

Cr-Commit-Position: refs/heads/master@{#294979}
parent 3f2962f1
......@@ -735,6 +735,10 @@ void WebMediaPlayerAndroid::OnMediaMetadataChanged(
}
}
// UpdateReadyState(WebMediaPlayer::ReadyStateHaveMetadata) will trigger a
// call to duration(), which checks |has_valid_metadata_|. so
// |has_valid_metadata_| has to be updated before calling UpdateReadyState().
has_valid_metadata_ = success;
if (ready_state_ != WebMediaPlayer::ReadyStateHaveEnoughData) {
UpdateReadyState(WebMediaPlayer::ReadyStateHaveMetadata);
UpdateReadyState(WebMediaPlayer::ReadyStateHaveEnoughData);
......@@ -745,8 +749,6 @@ void WebMediaPlayerAndroid::OnMediaMetadataChanged(
if (success)
OnVideoSizeChanged(width, height);
has_valid_metadata_ = success;
if (need_to_signal_duration_changed)
client_->durationChanged();
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment