New issue
Advanced search Search tips

Issue 675371 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Dec 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Stereo audio not upmixed

Reported by martijns...@gmail.com, Dec 17 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36

Example URL:
https://storage.googleapis.com/dalecurtis-shared/buck2.webm

Steps to reproduce the problem:
Play stereo audio using HTML5 or Flash:

Stereo Flash: https://www.youtube.com/watch?v=PvnlpPWAcZc&t=33s&nohtml5=1
Stereo HTML5: https://www.youtube.com/watch?v=PvnlpPWAcZc&t=33s
Stereo HTML5: https://storage.googleapis.com/dalecurtis-shared/buck2.webm

5.1 source (works perfectly):
- https://www2.iis.fraunhofer.de/AAC/multichannel.html
- https://www2.iis.fraunhofer.de/AAC/ChID-BLITS-EBU.mp4

What is the expected behavior?
I can play 5.1 source audio without issue (all speakers), but stereo audio only plays on the left-right front speakers.

Stereo audio should be upmixed to 5.1 (playing on center/rear speakers and subwoofer).

What went wrong?
I worry that this may be a bad interaction between Chrome and my Windows / AMD audio drivers. However the fact that 5.1 source streams work perfectly led me to file this bug. Also, Microsoft Edge has no problem upmixing the same stereo content from YouTube.

My setup:
- Chrome on a Windows 10 PC
- HDMI output from an AMD Radeon HD 6530D
- Vizio SB3851-D0 speakers

I've tried the following command line options, but none caused stereo audio to play on all speakers:
--disable-audio-output-resampler
--try-supported-channel-layouts
--force-wave-audio

In all cases, chrome://media-internals/ reports the output stream as follows:

channel_layout: 5.1_BACK
channels: 6
component_id: 3
component_type: 2
device_id: {0.0.0.00000000}.{303871ca-d1d8-4601-b13a-775a72384b79}
device_type: pcm_low_latency
effects: NO_EFFECTS
frames_per_buffer: 480
owner_id: 0
sample_rate: 48000
status: started
volume: 1

The output controller varies by content. Here's a working 5.1 playback:

channel_layout: 5.1_BACK
channels: 6
component_id: 8
component_type: 1
device_id: default
device_type: pcm_low_latency
effects: NO_EFFECTS
frames_per_buffer: 960
owner_id: 8
sample_rate: 48000
status: started
render_process_id: 11
web_contents_title: https://www2.iis.fraunhofer.de/AAC/ChID-BLITS-EBU.mp4

Here are 2 broken (2-speaker) stereo playbacks (HTML5 and Flash):

channel_layout: STEREO
channels: 2
component_id: 4
component_type: 1
device_id: default
device_type: pcm_low_latency
effects: NO_EFFECTS
frames_per_buffer: 960
owner_id: 6
sample_rate: 48000
status: started
render_process_id: 10
web_contents_title: https://storage.googleapis.com/dalecurtis-shared/buck2.webm

channel_layout: STEREO
channels: 2
component_id: 2
component_type: 1
device_id: 
device_type: pcm_low_latency
effects: NO_EFFECTS
frames_per_buffer: 1024
owner_id: 80
sample_rate: 44100
status: started
render_process_id: 113
web_contents_title: Dolby Digital - HD Surround Sound Test - YouTube

Did this work before? No 

Is it a problem with Flash or HTML5? Both

Does this work in other browsers? Yes

Chrome version: 55.0.2883.87  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 24.0 r0

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: Enabled
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Software only, hardware acceleration unavailable
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_discard_framebuffer
disable_dxgi_zero_copy_video
disable_framebuffer_cmaa
disable_nv12_dxgi_video
exit_on_context_lost
force_cube_complete
scalarize_vec_and_mat_constructor_args
texsubimage_faster_than_teximage
Problems Detected
GPU rasterization should only be enabled on NVIDIA Pascal and Maxwell, Intel Broadwell+, and AMD RX-R5 GPUs for now.: 643850
Disabled Features: gpu_rasterization
AMD cards have rendering issues with GPU rasterization on Windows: 660897
Disabled Features: gpu_rasterization
Some drivers are unable to reset the D3D device in the GPU process sandbox
Applied Workarounds: exit_on_context_lost
TexSubImage is faster for full uploads on ANGLE
Applied Workarounds: texsubimage_faster_than_teximage
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
ANGLE crash on glReadPixels from incomplete cube map texture: 518889
Applied Workarounds: force_cube_complete
Framebuffer discarding can hurt performance on non-tilers: 570897
Applied Workarounds: disable_discard_framebuffer
NV12 DXGI video hangs or displays incorrect colors on AMD drivers: 623029, 644293
Applied Workarounds: disable_dxgi_zero_copy_video, disable_nv12_dxgi_video
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
Disabled Features: native_gpu_memory_buffers
Version Information
Data exported	12/17/2016, 12:25:41 PM
Chrome version	Chrome/55.0.2883.87
Operating system	Windows NT 10.0.14393
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	Files (x86)\Google\Chrome\Application\chrome.exe" --flag-switches-begin --flag-switches-end
Driver Information
Initialization time	45
In-process GPU	false
Sandboxed	false
GPU0	VENDOR = 0x1002, DEVICE= 0x964a
Optimus	false
AMD switchable	false
Desktop compositing	Aero Glass
Driver vendor	Advanced Micro Devices, Inc.
Driver version	15.201.1151.0
Driver date	8-21-2015
Pixel shader version	5.0
Vertex shader version	5.0
Max. MSAA samples	8
Machine model name	
Machine model version	
GL_VENDOR	Google Inc.
GL_RENDERER	ANGLE (AMD Radeon HD 6530D Direct3D11 vs_5_0 ps_5_0)
GL_VERSION	OpenGL ES 3.0 (ANGLE 2.1.0.4d208abb1926)
GL_EXTENSIONS	GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_pack_reverse_row_order GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_norm16 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object
Disabled Extensions	
Window system binding vendor	Google Inc. (adapter LUID: 000000000000703b)
Window system binding version	1.4 (ANGLE 2.1.0.4d208abb1926)
Window system binding extensions	EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_ANGLE_keyed_mutex EGL_ANGLE_surface_orientation EGL_ANGLE_direct_composition EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_flexible_surface_compatibility EGL_ANGLE_stream_producer_d3d_texture_nv12 EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource
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
Diagnostics
0
b3DAccelerationEnabled	true
b3DAccelerationExists	true
bAGPEnabled	true
bAGPExistenceValid	true
bAGPExists	false
bCanRenderWindow	true
bDDAccelerationEnabled	true
bDriverBeta	false
bDriverDebug	false
bDriverSigned	false
bDriverSignedValid	false
bNoHardware	true
dwBpp	32
dwDDIVersion	11
dwHeight	1080
dwRefreshRate	32
dwWHQLLevel	0
dwWidth	1920
iAdapter	0
lDriverSize	1479808
lMiniVddSize	0
szAGPStatusEnglish	Not Available
szAGPStatusLocalized	Not Available
szChipType	AMD Radeon Graphics Processor (0x964A)
szD3DStatusEnglish	Enabled
szD3DStatusLocalized	Enabled
szDACType	Internal DAC(400MHz)
szDDIVersionEnglish	11.1
szDDIVersionLocalized	11.1
szDDStatusEnglish	Not Available
szDDStatusLocalized	Not Available
szDXVAHDEnglish	Not Supported
szDXVAModes	Unknown
szDescription	AMD Radeon HD 6530D
szDeviceId	0x964A
szDeviceIdentifier	{D7B71EE2-D50A-11CF-E976-1726BEC2C535}
szDeviceName	\\.\DISPLAY1
szDisplayMemoryEnglish	1907 MB
szDisplayMemoryLocalized	1907 MB
szDisplayModeEnglish	1920 x 1080 (32 bit) (32Hz)
szDisplayModeLocalized	1920 x 1080 (32 bit) (32Hz)
szDriverAssemblyVersion	15.201.1151.0
szDriverAttributes	Final Retail
szDriverDateEnglish	8/20/2015 7:00:00 PM
szDriverDateLocalized	8/20/2015 19:00:00
szDriverLanguageEnglish	English
szDriverLanguageLocalized	English
szDriverModelEnglish	WDDM 1.2
szDriverModelLocalized	WDDM 1.2
szDriverName	aticfx64.dll,aticfx64.dll,aticfx64.dll
szDriverNodeStrongName	oem1.inf:cb0ae414ba9022c5:ati2mtag_Sumo_Desktop:15.201.1151.0:pci\ven_1002&dev_964a
szDriverSignDate	Unknown
szDriverVersion	8.17.0010.1404
szKeyDeviceID	Enum\PCI\VEN_1002&DEV_964A&SUBSYS_061D1025&REV_00
szKeyDeviceKey	\Registry\Machine\System\CurrentControlSet\Control\Video\{40CC37AB-C96A-4240-A91F-01454C195772}\0000
szManufacturer	Advanced Micro Devices, Inc.
szMiniVdd	unknown
szMiniVddDateEnglish	Unknown
szMiniVddDateLocalized	unknown
szMonitorMaxRes	Unknown
szMonitorName	Unknown
szNotesEnglish	No problems found.
szNotesLocalized	No problems found.
szOverlayEnglish	Not Supported
szRankOfInstalledDriver	00DA2001
szRegHelpText	Unknown
szRevision	Unknown
szRevisionId	0x0000
szSubSysId	0x061D1025
szTestResultD3D7English	Not run
szTestResultD3D7Localized	Not run
szTestResultD3D8English	Not run
szTestResultD3D8Localized	Not run
szTestResultD3D9English	Not run
szTestResultD3D9Localized	Not run
szTestResultDDEnglish	Not run
szTestResultDDLocalized	Not run
szVdd	unknown
szVendorId	0x1002
Log Messages
[4904:9536:1217/122133:ERROR:mf_helpers.cc(12)] : Error in dxva_video_decode_accelerator_win.cc on line 560
[4904:9536:1217/122133:ERROR:gpu_video_decode_accelerator.cc(365)] : HW video decode not available for profile 1
GpuProcessHostUIShim: The GPU process exited normally. Everything is okay.
 
I should add this: every so often something breaks in my setup. In the broken state, I don't get any true 5.1 content, however stereo content is (correctly) played on all speakers!

I just discovered that I can trigger the "broken" state (no 5.1) by running my sound bar's speaker test. I can revert to the "working" state (no upmix) by turning the sound bar off and on again.

I really don't know what to make of this. It does seem like it's Chrome specific (Edge works in all circumstances), but also related to my hardware and/or Windows/AMD audio driver.

Comment 2 by ajha@chromium.org, Dec 19 2016

Labels: M-55 prestable-55.0.2883.87
Labels: TE-Hardware-Dependency
Status: WontFix (was: Unconfirmed)
Flip chrome://flags "try supported channel layouts" to fix this. It crashes some users so we can't enable everywhere unfortunately.
See initial report. Tried this flag as well as wave audio and disable audio resampler. Didn't help. Output stream is already 6 channels. True 5.1 audio plays correctly.
Is this WontFix as in "not important" or "presumed fixed"? The former I understand, but the latter isn't true -- the "try supported channel layouts" option doesn't fix this.

Sign in to add a comment