'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 descriptionSteps 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.
,
Jun 23 2017
<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
,
Jun 26 2017
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.
,
Jun 26 2017
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.
,
Jun 27 2017
#3: WebMediaPlayerMS is MediaStream-specific, correcting Component.
,
Jun 29 2017
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by mlamouri@chromium.org
, Jun 23 2017