New issue
Advanced search Search tips

Issue 750423 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

No sound when playing most videos after changing dmix sample rate

Reported by nsa...@gmail.com, Jul 29 2017

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36

Example URL:
http://commondatastorage.googleapis.com/dalecurtis-shared/buck2.webm

Steps to reproduce the problem:
1. start chromium
2. try playing audio

What is the expected behavior?
Sound plays

What went wrong?
Silence

Did this work before? N/A 

Is it a problem with Flash or HTML5? HTML5

Does this work in other browsers? N/A

Chrome version: 60.0.3112.78  Channel: stable
OS Version: 4.12.3
Flash Version: 

Contents of chrome://gpu: 
Graphics Feature Status
Canvas: Hardware accelerated
CheckerImaging: Disabled
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 disabled
Video Decode: Software only, hardware acceleration unavailable
Video Encode: Software only, hardware acceleration unavailable
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
adjust_src_dst_region_for_blitframebuffer
clear_uniforms_before_first_program_use
count_all_in_varyings_packing
decode_encode_srgb_for_generatemipmap
disable_chromium_framebuffer_multisample
disable_framebuffer_cmaa
disable_post_sub_buffers_for_onscreen_surfaces
msaa_is_slow
scalarize_vec_and_mat_constructor_args
Problems Detected
Accelerated video decode is unavailable on Linux: 137247
Disabled Features: accelerated_video_decode
Accelerated video encode is unavailable on Linux
Disabled Features: accelerated_video_encode
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Mesa drivers in Linux handle varyings without static use incorrectly: 333885
Applied Workarounds: count_all_in_varyings_packing
Multisampling is buggy in Intel IvyBridge: 116370
Applied Workarounds: disable_chromium_framebuffer_multisample
Disable partial swaps on Mesa drivers (detected with GL_RENDERER): 339493
Applied Workarounds: disable_post_sub_buffers_for_onscreen_surfaces
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565
Applied Workarounds: msaa_is_slow
Timer queries crash on Intel GPUs on Linux: 540543, 576991
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
Disable partial swaps on Mesa drivers (detected with GL_VERSION): 339493
Applied Workarounds: disable_post_sub_buffers_for_onscreen_surfaces
Decode and encode before generateMipmap for srgb format textures on os except macosx: 634519
Applied Workarounds: decode_encode_srgb_for_generatemipmap
adjust src/dst region if blitting pixels outside read framebuffer on Linux Intel: 664740
Applied Workarounds: adjust_src_dst_region_for_blitframebuffer
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Accelerated rasterization has been disabled, either via blacklist, about:flags or the command line.
Disabled Features: rasterization
Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
Disabled Features: native_gpu_memory_buffers
Checker-imaging has been disabled via finch trial or the command line.
Disabled Features: checker_imaging
Version Information
Data exported	7/29/2017, 10:20:00 AM
Chrome version	Chrome/60.0.3112.78
Operating system	Linux 4.12.3-1-ARCH
Software rendering list version	13.8
Driver bug list version	10.93
ANGLE commit id	unknown hash
2D graphics backend	Skia/60 a20ae70af542208b06c21413f13c4c86269c0b84-
Command Line	/usr/lib/chromium/chromium --incognito --flag-switches-begin --no-pings --reduced-referrer-granularity --flag-switches-end
Driver Information
Initialization time	21
In-process GPU	false
Passthrough Command Decoder	false
Supports overlays	false
Sandboxed	true
GPU0	VENDOR = 0x8086, DEVICE= 0x0166
Optimus	false
Optimus	false
AMD switchable	false
Driver vendor	Mesa
Driver version	17.1.5
Driver date	
Pixel shader version	4.20
Vertex shader version	4.20
Max. MSAA samples	8
Machine model name	
Machine model version	
GL_VENDOR	Intel Open Source Technology Center
GL_RENDERER	Mesa DRI Intel(R) Ivybridge Mobile
GL_VERSION	4.2 (Core Profile) Mesa 17.1.5
GL_EXTENSIONS	GL_3DFX_texture_compression_FXT1 GL_AMD_conservative_depth GL_AMD_draw_buffers_blend GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_trinary_minmax GL_AMD_vertex_shader_layer GL_AMD_vertex_shader_viewport_index GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_APPLE_object_purgeable GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_compressed_texture_pixel_storage GL_ARB_compute_shader GL_ARB_conditional_render_inverted GL_ARB_conservative_depth GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_indirect GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_occlusion_query2 GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_sprite GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_draw_parameters GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_420pack GL_ARB_shading_language_packing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map_array GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ATI_blend_equation_separate GL_ATI_texture_float GL_EXT_abgr GL_EXT_blend_equation_separate GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_sRGB GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_pixel_buffer_object GL_EXT_polygon_offset_clamp GL_EXT_provoking_vertex GL_EXT_shader_integer_mix GL_EXT_shader_samples_identical GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_swizzle GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_IBM_multimode_draw_arrays GL_INTEL_performance_query GL_KHR_context_flush_control GL_KHR_debug GL_KHR_robustness GL_MESA_pack_invert GL_MESA_shader_integer_functions GL_MESA_texture_signed_rgba GL_NV_conditional_render GL_NV_depth_clamp GL_NV_packed_depth_stencil GL_NV_texture_barrier GL_OES_EGL_image GL_S3_s3tc
Disabled Extensions	GL_ARB_timer_query GL_EXT_timer_query GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Window system binding vendor	SGI
Window system binding version	1.4
Window system binding extensions	GLX_ARB_create_context GLX_ARB_create_context_profile GLX_ARB_create_context_robustness GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_multisample GLX_EXT_create_context_es_profile GLX_EXT_create_context_es2_profile GLX_EXT_fbconfig_packed_float GLX_EXT_framebuffer_sRGB GLX_EXT_import_context GLX_EXT_libglvnd GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_MESA_copy_sub_buffer GLX_OML_swap_method GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_INTEL_swap_event
Window manager	Unknown
Compositing manager	No
Direct rendering	Yes
Reset notification strategy	0x8252
GPU process crash count	0
System visual ID	32
RGBA visual ID	111
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
RGBA_F16	Software only
YVU_420	Software only
YUV_420_BIPLANAR	Software only
UYVY_422	Software only

After changing the default dmix (Alsa software mixer) sample rate from 48000 to 192000 sHz (and that 1-line change in /usr/share/alsa/alsa.conf is the *only* Alsa configuration change on this system), Chromium stopped giving any sound when playing most media. Otherwise audio playing works on the system and this seems to be a bug in the Chromium Alsa driveror something like that.

This is vanilla Archlinux (official packages, etc.). Possibly relevant package versions:
linux 4.12.3-1
alsa-lib 1.1.4.1-1
chromium 60.0.3112.78-1

There is no sound server on this system (unless you count Alsa, I guess).

When playing a certain local video, the only piece of digital media I found whose sound Chromium played, this message from Alsa gets in Chromium's stdio:
ALSA lib pcm.c:8406:(snd_pcm_set_params) Channels count (6) not available for PLAYBACK: Invalid argument
ALSA lib conf.c:4884:(parse_args) Unknown parameter surround51:CARD
ALSA lib conf.c:5017:(snd_config_expand) Parse arguments error: No such file or directory
ALSA lib pcm.c:2501:(snd_pcm_open_noupdate) Unknown PCM plug:surround51:CARD=PCH,DEV=0

Chromium plays no sound with other videos I tried, and this gets in stdio:
ALSA lib pcm.c:8490:(snd_pcm_set_params) Unable to get period size for PLAYBACK: Invalid argument
ALSA lib pcm.c:8490:(snd_pcm_set_params) Unable to get period size for PLAYBACK: Invalid argument

Information about 2 local videos from chrome://media-internals/ is in attached works.txt and fails.txt. The first video is the one that works in Chrome, the other one does not.

This video also doesn't play with sound:
http://commondatastorage.googleapis.com/dalecurtis-shared/buck2.webm

Neither do any of the audio here:
http://www11.plala.or.jp/sothicblue/html5audio/
Also, when opening this page the following appears in stdio in addiotion to the "Unable to get period size for PLAYBACK" message:
[60:72:0729/102603.513948:ERROR:render_media_log.cc(30)] MediaEvent: MEDIA_ERROR_LOG_ENTRY {"error":"FFmpegDemuxer: open context failed"}
[60:60:0729/102603.514737:ERROR:render_media_log.cc(30)] MediaEvent: PIPELINE_ERROR DEMUXER_ERROR_COULD_NOT_OPEN

Also, I tried a couple videos on vimeo.com, and none gave any sound.

Possible duplicates of the bug:
https://bugs.chromium.org/p/chromium/issues/detail?id=40326   2010-2013
http://forums.debian.net/viewtopic.php?f=6&t=70007   2011
https://bugs.chromium.org/p/chromium/issues/detail?id=377935   2014-2016
 
works.txt
1.6 KB View Download
fails.txt
1.5 KB View Download

Comment 1 Deleted

Comment 2 by nsa...@gmail.com, Aug 1 2017

As you can see in works.txt and fails.txt, the video file whose sound is correctly played has 6-channel audio, and the other one 2-channels. Based on that I found that Chromium also correctly plays the 6-channel audio here:
https://www.brucewiggins.co.uk/?tag=5-1

Note that the system has 2-channel audio output, so the 6 channels get mixed into 2 anyways...

EDIT:
Some clarification: the system has 2-channel audio output and, regardless of dmix sample rate, chromium does not mix in the other 4 channels when playing 5.1 audio and puts this message from Alsa in stdio:

ALSA lib pcm.c:8406:(snd_pcm_set_params) Channels count (6) not available for PLAYBACK: Invalid argument
ALSA lib conf.c:4884:(parse_args) Unknown parameter surround51:CARD
ALSA lib conf.c:5017:(snd_config_expand) Parse arguments error: No such file or directory
ALSA lib pcm.c:2501:(snd_pcm_open_noupdate) Unknown PCM plug:surround51:CARD=PCH,DEV=0

Note that this seems to have been broken in release 55 [1].

This could be an unrelated bug, but here it's relevant that when the dmix sample rate is changed (like so: "defaults.pcm.dmix.rate 192000") from 48000 Hz to 192000 Hz, Chromium seems to be unable to play any audio *but* 5.1.
And in that case (of non-5.1 audio) this message is put in stdio:

ALSA lib pcm.c:8490:(snd_pcm_set_params) Unable to get period size for PLAYBACK: Invalid argument
ALSA lib pcm.c:8490:(snd_pcm_set_params) Unable to get period size for PLAYBACK: Invalid argument


[1] https://bbs.archlinux.org/viewtopic.php?id=221393
Labels: Needs-Triage-M60

Comment 4 by nsa...@gmail.com, Aug 3 2017

Correction:

s_unable to play any audio *but* 5.1._unable to play the usual stereo audio, but plays all 5.1 files I found._
Components: -Internals>Media Internals>Media>Audio
Owner: dalecur...@chromium.org
Status: Assigned (was: Unconfirmed)
I couldn't repro this bug on Chrome 60.0.3112.78. Give to dale to try on Chromium.

Comment 6 by nsa...@gmail.com, Aug 4 2017

+yini...
You tried without Pulseaudio and with dmix sample rate at 192000 sHz, right?

Comment 7 by nsa...@gmail.com, Aug 20 2017

Confirming everything's the same with Linux 4.12.8-2 and Chromium 60.0.3112.101-1, for what it's worth.
Cc: guidou@chromium.org
Owner: ----
Status: Available (was: Assigned)
+guidou who's been working on some Pulse stuff lately. I think this will require us to implement support for device changes for pulse audio.

Sign in to add a comment