New issue
Advanced search Search tips

Issue 736201 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

'timeupdate' event does not fire on Video Element in Android if the element is not visible

Reported by a...@tokbox.com, Jun 23 2017

Issue description

Steps to reproduce the problem:
1. Call getUserMedia 
2. Attach the stream to a video element that is hidden (display none)
3. Listen for the 'timeupdate' event on the video element.

Here is a reduced test case:

1. Go to https://output.jsbin.com/zeyusoy
2. Observe that 'loadedmetadata' fires but 'timeupdate' never does.

What is the expected behavior?
'timeupdate' should fire

What went wrong?
'timeupdate' never fires

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 58.0.3029.83  Channel: stable
OS Version: 6.0.1
Flash Version: 

This issue is specific to Chrome on Android. Chrome on Desktop fires 'timeupdate' as expected.
 
Cc: mcasas@chromium.org
Just tried on Chrome 61 on Linux and it seems to be working fine.
However, on Chrome 61 on Android, I can reproduce the issue.

I'm a bit surprised to see different behaviour here. Would be good to check if that's a <video> bug or a gUM one.

+mcasas in case of they have some insight.

Comment 2 by mcasas@chromium.org, Jun 23 2017

Cc: braveyao@chromium.org emir...@chromium.org
Components: -Blink>Media Blink>MediaStream Blink>WebRTC>Video
<video> tag for MediaStreams is implemented differently than
for any other content: the former uses WebMediaPlayerMS [1] 
(versus the latter, that uses WebMediaPlayerImpl [2]). So they
could perfectly have different behaviours.

[1] https://cs.chromium.org/chromium/src/content/renderer/media/webmediaplayer_ms.h?dr=CSs&l=64
[2] https://cs.chromium.org/chromium/src/media/blink/webmediaplayer_impl.h?type=cs&l=88

Comment 3 by guidou@chromium.org, Jun 26 2017

Components: -Blink>MediaStream Blink>Media>Video
But for MediaStreams it uses WebMediaPlayerMS on both Android and Desktop, right?

The repro script uses a getUserMedia()-produced MediaStream and the bug reproduces only on Android. 
Owner: guidou@chromium.org
Yes it is WebMediaPlayerMS that runs on both Android and Desktop.
And I noticed that with same test page, HTMLMediaElement::CurrentPlaybackPosition() is not called after test starts on Android(it's called twice at beginning though), while it's called continuously on Desktop. 
The ready_state_ and web_media_player_ are both valid in HTMLMediaElement. Need more check by WebKit experts.

Comment 5 by mcasas@chromium.org, Jun 27 2017

Components: -Blink>Media>Video Blink>MediaStream
#3: WebMediaPlayerMS is MediaStream-specific, correcting Component.
Status: Assigned (was: Unconfirmed)

Sign in to add a comment