New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 763269 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 714156
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug-Regression



Sign in to add a comment

freeze frames and no audio support in html 5 video

Reported by miriam.p...@gmail.com, Sep 8 2017

Issue description

Example URL:
cd.via4all.de/ruehrkuchen/story_html5.html

Steps to reproduce the problem:
1. install Version 60.* of Androic chrome
2. got to the URL below
3. start the video / subvideos in courses. 

What is the expected behavior?
- no freeze frames
- you can hear the sourndtrack (voice)

What went wrong?
- no audio 
- the video freezes sometimes

Did this work before? Yes android chrome version 57 works well

Is it a problem with Flash or HTML5? HTML5

Does this work in other browsers? Yes

Chrome version: 60.0.3112.113  Channel: stable
OS Version: 5, 6.0.1, 7
Flash Version: --

Contents of chrome://gpu: 
Graphics Feature Status
•	Canvas: Hardware accelerated
•	Flash: Hardware accelerated
•	Flash Stage3D: Hardware accelerated
•	Flash Stage3D Baseline profile: Hardware accelerated
•	Compositing: Hardware accelerated
•	Multiple Raster Threads: Disabled
•	Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
•	Rasterization: Hardware accelerated
•	Video Decode: Hardware accelerated
•	Video Encode: Hardware accelerated
•	VPx Video Decode: Hardware accelerated
•	WebGL: Hardware accelerated
Driver Bug Workarounds
•	clear_uniforms_before_first_program_use
•	disable_chromium_framebuffer_multisample
•	disable_depth_texture
•	disable_framebuffer_cmaa
•	disable_program_cache
•	disable_timestamp_queries
•	force_cube_map_positive_x_allocation
•	max_copy_texture_chromium_size_1048576
•	max_texture_size_limit_4096
•	scalarize_vec_and_mat_constructor_args
•	unbind_egl_context_to_flush_driver_caches
•	use_virtualized_gl_contexts
•	wake_up_gpu_before_drawing
Problems Detected
•	Disable depth textures on Android with Qualcomm GPUs
Applied Workarounds: disable_depth_texture
•	Non-virtual contexts on Qualcomm sometimes cause out-of-order frames: 289461
Applied Workarounds: use_virtualized_gl_contexts
•	The first draw operation from an idle state is slow: 309734
Applied Workarounds: wake_up_gpu_before_drawing
•	ES3 MSAA is broken on Qualcomm
Applied Workarounds: disable_chromium_framebuffer_multisample
•	Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
•	Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
•	EXT_disjoint_timer_query fails after 2 queries on adreno 3xx in lollypop: 477514
Applied Workarounds: disable_timestamp_queries
•	glFinish doesn't clear caches on Android: 509727
Applied Workarounds: unbind_egl_context_to_flush_driver_caches
•	Program binaries contain incorrect bound attribute locations on Adreno 3xx GPUs: 510637
Applied Workarounds: disable_program_cache
•	Android Adreno crashes on binding incomplete cube map texture to FBO: 518889
Applied Workarounds: force_cube_map_positive_x_allocation
•	CHROMIUM_copy_texture with 1MB copy per flush to avoid unwanted cache growth on Adreno: 542478
Applied Workarounds: max_copy_texture_chromium_size_1048576
•	Limit max texure size to 4096 on all of Android
Applied Workarounds: max_texture_size_limit_4096
•	Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
•	Raster is using a single thread.
Disabled Features: multiple_raster_threads
•	Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
Disabled Features: native_gpu_memory_buffers
Version Information
Data exported	8.9.2017, 08:52:42
Chrome version	Chrome/55.0.2883.84
Operating system	Android 6.0.1
Software rendering list version	11.17
Driver bug list version	9.15
ANGLE commit id	4d208abb1926
2D graphics backend	Skia/55 d1740f81c843c65acd58d1b571ce94b90fee99d0
Command Line Args	--top-controls-show-threshold=0.27 --top-controls-hide-threshold=0.17 --enable-pinch --enable-viewport --enable-overlay-scrollbar --validate-input-event-stream --enable-longpress-drag-selection --touch-selection-strategy=direction --disable-gpu-process-crash-limit --main-frame-resizes-are-orientation-changes --disable-composited-antialiasing --ui-prioritize-in-gpu-process --profiler-timing=0 --prerender-from-omnibox=enabled --enable-dom-distiller --flag-switches-begin --flag-switches-end --enable-instant-extended-api
Driver Information
Initialization time	435
In-process GPU	false
Sandboxed	false
GPU0	VENDOR = 0x0000 [Qualcomm], DEVICE= 0x0000 [Adreno (TM) 306]
Optimus	false
AMD switchable	false
Driver vendor	
Driver version	140.0
Driver date	
Pixel shader version	3.00
Vertex shader version	3.00
Max. MSAA samples	4
Machine model name	SM-T550
Machine model version	
GL_VENDOR	Qualcomm
GL_RENDERER	Adreno (TM) 306
GL_VERSION	OpenGL ES 3.0 V@140.0 AU@ (GIT@Ia10634f51b)
GL_EXTENSIONS	GL_AMD_compressed_ATC_texture GL_AMD_performance_monitor GL_AMD_program_binary_Z400 GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_robustness GL_EXT_texture_format_BGRA8888 GL_EXT_texture_type_2_10_10_10_REV GL_NV_fence GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth_texture GL_OES_depth24 GL_OES_EGL_image GL_OES_EGL_sync GL_OES_EGL_image_external GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_fragment_precision_high GL_OES_get_program_binary GL_OES_packed_depth_stencil GL_OES_depth_texture_cube_map GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_texture_3D GL_OES_texture_float GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_vertex_type_10_10_10_2 GL_OES_vertex_array_object GL_QCOM_alpha_test GL_QCOM_binning_control GL_QCOM_driver_control GL_QCOM_perfmon_global_mode GL_QCOM_extended_get GL_QCOM_extended_get2 GL_QCOM_tiled_rendering GL_QCOM_writeonly_rendering GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_texture_sRGB_decode GL_EXT_texture_filter_anisotropic GL_EXT_multisampled_render_to_texture GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_EXT_disjoint_timer_query
Disabled Extensions	GL_OES_depth_texture
Window system binding vendor	
Window system binding version	
Window system binding extensions	
Direct rendering	Yes
Reset notification strategy	0x8252
GPU process crash count	0
Compositor Information
Tile Update Mode	One-copy
Partial Raster	Enabled
GpuMemoryBuffers Status
ATC	Software only
ATCIA	Software only
DXT1	Software only
DXT5	Software only
ETC1	Software only
R_8	Software only
RG_88	Software only
BGR_565	Software only
RGBA_4444	Software only
RGBX_8888	Software only
RGBA_8888	Software only
BGRX_8888	Software only
BGRA_8888	Software only
YVU_420	Software only
YUV_420_BIPLANAR	Software only
UYVY_422	Software only
 
this problem takes effect on different devices and on different android os (android 5, android 6.0.1 and android 7.0)
Labels: Needs-triage-Mobile
Please provide the device details.
Cc: qin...@chromium.org
Labels: -Needs-triage-Mobile Needs-Bisect
Issue repros on Nexus5X/ N2G48E, on latest chrome stable: 60.0.3112.116. Last good build 56.0.2924.122, I will provide per CL bisect info asap.
Device details: Sony Xperia Tablet SGP621, Samsung Galaxy Tab A SM-T550, Samsung Galaxy Tab A (2016) and some others. It seems to be a general problem, not depending on divices. 
(devices.. not divices... sorry)
Cc: candr...@chromium.org msrchandra@chromium.org nyerramilli@chromium.org ligim...@chromium.org sandeepkumars@chromium.org
Labels: -Pri-2 -Needs-Bisect hasbisect-per-revision M-63 Pri-1
Owner: rtoy@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue on Samsung J710 (Android 6.0) using Chrome Stable# 61.0.3163.81. This is a regression issue in M57. Below is the bisect info --

Chrome Good Build -- 57.0.2952.0 (Revision: 438707)
Chrome Bad Build  -- 57.0.2953.0 (Revision: 438989)

Using per-revision bisect assigning to the concern owner --
You are looking for a change made after 438986(GOOD), but before 438987(BAD).
Suspecting Commit#
https://chromium.googlesource.com/chromium/src/+/f58de349230213827cd1e057d10b7a61411c328a

@rtoy -- Could you please look into the issue, kindly re-assign if this is not related to your changes.


Please find the logs and screen recording in the below URL --
go/chrome-androidlogs/763269

Thank You.

Labels: Triaged-Mobile

Comment 8 by rtoy@chromium.org, Sep 15 2017

Cc: rtoy@chromium.org
Owner: mlamouri@chromium.org
The suspected commit is irrelevant, only removing the webkit prefix.  This appears to be a user-gesture problem.  I see the following console messages:

player_compiled.js:2 Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture.
player_compiled.js:2 Uncaught (in promise) DOMException: play() can only be initiated by a user gesture.

Assigning to mlamouri@ for further triage on user gestures.
Cc: x...@chromium.org
Seeing change in HTMLMediaElement in the regression range, may this is the suspect. Not sure though.

https://chromium.googlesource.com/chromium/src/+/af29d4183dd123c234c142edbb818180ce0529ab

Comment 10 by x...@chromium.org, Sep 15 2017

The commit mentioned in Comment 9 should be irrelevant. It adds the check of whether video covers most of the viewport ONLY when tab mirroring starts. 
Cc: mlamouri@chromium.org
Owner: mustaq@chromium.org
This seems to be working as intended. The only possible change that could have created this regression is if the user gesture definition had changed in a way that would break this website. The best I can think of is if `setTimeout()` rules were strengthen as I can see a call to `setTimeout()` in the stack.
Cc: rbyers@chromium.org
I don't know of any changes in user gestures around setTimeout on M57.  Code search doesn't seem to suggest any significant changes either.  Adding Rick in case he has any clue.

Other possible cause could be Promise related changes too, but I can't comment without a through code search since I didn't work on user gestures back in M57.

Labels: Hotlist-Input-Dev
Mergedinto: 714156
Status: Duplicate (was: Assigned)
It seems the site is trying to play a media on touchstart, which is not considered to be a user gesture.  So mlamouri@'s observation is correct, this is WAI.

Sign in to add a comment