Open Bug 1652602 Opened 4 years ago Updated 4 months ago

Frequent brief buffering on Twitch.tv

Categories

(Core :: Audio/Video: Playback, defect)

79 Branch
Desktop
Windows 10
defect

Tracking

()

People

(Reporter: kael, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

For the last week or so - maybe more, but at least a few days - all twitch streams periodically stop to buffer for 1-2 seconds in Firefox. They play fine in Edge. I'm on gigabit fiber so I don't think it's network related, and when I leave the network panel open in devtools I don't see any failed/stalled requests in the log around the time period when it begins buffering. I don't see error messages in devtools either.

My guess is maybe something changed about how they're stitching segments together and it's incompatible with FF, or something related changed in FF. I haven't made any system configuration changes on my end lately.

fwiw, Low Latency mode is off in my twitch settings. I'll try turning it on and see what happens, but I would expect it to make this problem worse.

Attached image low latency.png —

If I enable Low Latency mode everything breaks almost completely - after a little while, instead of buffering briefly video playback just completely stops and Twitch's "Buffer Size" in its stats overlay increases indefinitely, with none of the other information updating.

Attached image normal-latency.png —

For comparison, this is the statistics I expect to see when in normal latency mode.

Both normal and low latency modes work fine in Edge. I'm certain Low Latency used to work in Firefox, but I don't know how long ago that was because I didn't realize I had turned it off...

Do you think this started with Fx 79 (or late in 78)?

https://hg.mozilla.org/mozilla-central/rev/f88cda3e216a + https://hg.mozilla.org/releases/mozilla-release/rev/86e9f849c672 were landed in 79 and late in 78 and could possibly influence our playback -- though the hope is it would improve cases where twitch did flaky muxing

Flags: needinfo?(kg)

I watch twitch streams pretty frequently and don't recall seeing this more than a week or so ago. Did 79 hit dev edition recently? I'm assuming it didn't because the about window says 79.0b7. If nothing related has changed in dev edition in the last couple weeks this is probably a change on Twitch's end unless it's caused by some other part of the platform (javascript, sockets, etc)

I kept the statistics open while reproducing this a few times and it doesn't look like the buffer size drops when it happens - it still appears to "have" buffered video. The statistics view also momentarily displays extra text and then returns to normal in a way that suggests to me that it's entirely re-initializing the stream or playback, but I'd need to run desktop recording or something to try and catch the transitional state and see what's there.

Flags: needinfo?(kg)

I think I've seen something similar. It sounds like this can be reproduced by using the low latency option? Could use the Firefox profiler and Nightly to capture a profile run of this with the media profile, share it, and add the link to this bug?

Assignee: nobody → bvandyk
Severity: -- → S2
Flags: needinfo?(kg)

I can do that. The profiler uses a ring buffer, right? When should I stop the capture and save it - immediately after it glitches out?

If you can leave the profiler running for ~3 seconds after it fails that would be useful so we can compare what is taking place before and after that would be helpful.

Unfortunately, after reproducing it when I clicked Capture it just hung the content process for that tab and then the entire firefox frontend process for about 2 minutes. When it recovered and started loading the profile it failed:

Couldn't retrieve the profile from the Firefox.

[Exception... "Out of Memory" nsresult: "0x8007000e (NS_ERROR_OUT_OF_MEMORY)" location: "JS frame :: https://profiler.firefox.com/d2b9e41cf6f4ec03bbf7.bundle.js :: pu/r< :: line 95" data: no]

The full stack has been written to the Web Console.

Argh. Did you have the profiler running for awhile? Not that it should oom in that scenario, but probably useful for profiler folks to track the issue. If so, I guess capturing smaller runs may be an (irksome) workaround for now.

Probably 5-10 minutes before it repro'd. I'll see if there's some buffer size setting for me to adjust.

The "media" profiler preset defaults the buffer size to 1GB. I lowered it to 256 and managed to capture this profile: https://share.firefox.dev/3j1zmVj

Flags: needinfo?(kg)

Thanks. This does look like an issue I've encountered before. The root cause isn't yet clear, but profiles runs give us some idea where the problem could be. In the above profile after the 110s mark on the MediaDecoderStateMachine thread we can see the markers for pushing and playing audio and video stop. I think something is going wrong in the decoding pipeline and causing the stall.

We've had problems with twitch's audio in the past. The container would indicate information inconsistent with the actual audio data (e.g. container says audio has duration of x, but the actual audio data is of duration x+-something). This was found to be particularly problematic for the Windows AAC decoder for two reasons: the decoder appears to have a frame of latency, so in low latency twitch streaming we can end up running the buffers low, and windows decoders produce output with timestamps that are unexpected given the input and not the same as other decoders we use.

At this stage, I'm just speculating that it could be something like the above, but it seems a worthwhile avenue to investigate.

Gathering logs by setting env vars MOZ_LOG=MediaSource:5,MediaSourceSamples:5,PlatformDecoderModule:5,MediaFormatReader:5,sync,timestamp and MOZ_LOG_FILE=%TEMP%/TwitchBug.log then zipping up the resulting logs and attaching them would be helpful. These logs will end up taking up significant space, so it's possible you'll run into bugzilla's attachment limit. If so and you don't have elsewhere to host them, let me know and we can figure out an approach.

Looking further at the profile around 110s:

  • Our PlayAudio/PlayVideo markers stop, indicating we are no longer pushing data to our sinks. The last audio and video we play have time stamps around 685,000,000 microseconds.
  • We push a small amount of video after the last played video. It looks like there are 2 more video samples that have been pushed but not played. There are a lot more audio samples that are pushed but not yet played.
  • At ~109.2s to ~109.3s there is a burst of activity on the MediaPDecoder #34 and #35 threads (on the GPU process). This is around the time we stall and the amount of activity there appears significantly higher than during the rest of playback. We're getting a lot more time spent in the Output function. Seems suspicious.
    • We're spending most of the time inside Windows libs, it's hard to know what exactly they're doing.

My working theory is there's something going wrong with the Windows decoder. :kael, could you please

  • Navigate to about:support and copy the information from there and attach it to this bug?
  • Test if this reproduces if you set the pref media.hardware-video-decoding.enabled to false?
Flags: needinfo?(kg)

Will do the requested tests the next time I watch some Twitch streams. relevant about:support bits below.


Application Basics

Name: Firefox
Version: 79.0b9
Build ID: 20200717001501
Distribution ID:
Update Channel: aurora
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0
OS: Windows_NT 10.0 19041
Launcher Process: Enabled
Multiprocess Windows: 3/3 Enabled by default
Remote Processes: 11
Enterprise Policies: Inactive
Google Location Service Key: Found
Google Safebrowsing Key: Found
Mozilla Location Service Key: Found
Safe Mode: false

Crash Reports for the Last 3 Days

Firefox Developer Edition Features

Name: DoH Roll-Out
Version: 1.3.0
ID: doh-rollout@mozilla.org

Name: Firefox Screenshots
Version: 39.0.0
ID: screenshots@mozilla.org

Name: Form Autofill
Version: 1.0
ID: formautofill@mozilla.org

Name: Web Compat
Version: 12.0.0
ID: webcompat@mozilla.org

Name: WebCompat Reporter
Version: 1.3.0
ID: webcompat-reporter@mozilla.org

Remote Processes

Type: Web Content
Count: 8 / 8

Type: Extension
Count: 1

Type: Privileged About
Count: 1

Type: GPU
Count: 1

Add-ons

Name: Amazon.com
Type: extension
Version: 1.1
Enabled: true
ID: amazondotcom@search.mozilla.org

Name: Bing
Type: extension
Version: 1.1
Enabled: true
ID: bing@search.mozilla.org

Name: DuckDuckGo
Type: extension
Version: 1.0
Enabled: true
ID: ddg@search.mozilla.org

Name: eBay
Type: extension
Version: 1.1
Enabled: true
ID: ebay@search.mozilla.org

Name: Firefox Color
Type: extension
Version: 2.1.5
Enabled: true
ID: FirefoxColor@mozilla.com

Name: Google
Type: extension
Version: 1.0
Enabled: true
ID: google@search.mozilla.org

Name: Image Search Options
Type: extension
Version: 3.0.12
Enabled: true
ID: {4a313247-8330-4a81-948e-b79936516f78}

Name: Owl - For comfortable reading
Type: extension
Version: 2.2.7
Enabled: true
ID: @owl-comfortable-reading-addon

Name: Tree Style Tab
Type: extension
Version: 3.5.13
Enabled: true
ID: treestyletab@piro.sakura.ne.jp

Name: uBlock Origin
Type: extension
Version: 1.28.2
Enabled: true
ID: uBlock0@raymondhill.net

Name: Wikipedia (en)
Type: extension
Version: 1.0
Enabled: true
ID: wikipedia@search.mozilla.org

Graphics

Features
Compositing: WebRender
Asynchronous Pan/Zoom: wheel input enabled; scrollbar drag enabled; keyboard enabled; autoscroll enabled
WebGL 1 Driver WSI Info: EGL_VENDOR: Google Inc. (adapter LUID: 0000000000009ccb) EGL_VERSION: 1.4 (ANGLE 2.1.0.6c72b64f910d) EGL_EXTENSIONS: EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_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 EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_ANGLE_create_context_extensions_enabled EGL_ANDROID_blob_cache EGL_ANDROID_recordable EGL_ANGLE_image_d3d11_texture EGL_ANGLE_create_context_backwards_compatible EGL_EXTENSIONS(nullptr): EGL_EXT_client_extensions EGL_EXT_platform_base EGL_EXT_platform_device EGL_ANGLE_platform_angle EGL_ANGLE_platform_angle_d3d EGL_ANGLE_device_creation EGL_ANGLE_device_creation_d3d11 EGL_ANGLE_experimental_present_path EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug EGL_ANGLE_explicit_context EGL_ANGLE_feature_control
WebGL 1 Driver Renderer: Google Inc. -- ANGLE (NVIDIA GeForce RTX 2080 Ti Direct3D11 vs_5_0 ps_5_0)
WebGL 1 Driver Version: OpenGL ES 2.0.0 (ANGLE 2.1.0.6c72b64f910d)
WebGL 1 Driver Extensions: GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_explicit_context GL_ANGLE_explicit_context_gles1 GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_memory_size GL_ANGLE_multi_draw GL_ANGLE_multiview_multisample GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_provoking_vertex GL_ANGLE_request_extension 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_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_lose_context GL_CHROMIUM_sync_query GL_EXT_blend_func_extended GL_EXT_blend_minmax 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_float_blend GL_EXT_frag_depth GL_EXT_instanced_arrays 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_bptc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_KHR_parallel_shader_compile GL_KHR_robust_buffer_access_behavior 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_depth24 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_surfaceless_context GL_OES_texture_3D GL_OES_texture_border_clamp 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 OES_compressed_EAC_R11_signed_texture OES_compressed_EAC_R11_unsigned_texture OES_compressed_EAC_RG11_signed_texture OES_compressed_EAC_RG11_unsigned_texture OES_compressed_ETC2_RGB8_texture OES_compressed_ETC2_RGBA8_texture OES_compressed_ETC2_punchthroughA_RGBA8_texture OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture OES_compressed_ETC2_sRGB8_alpha8_texture OES_compressed_ETC2_sRGB8_texture
WebGL 1 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_float_blend EXT_frag_depth EXT_shader_texture_lod EXT_sRGB EXT_texture_compression_bptc EXT_texture_filter_anisotropic MOZ_debug OES_element_index_uint OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context
WebGL 2 Driver WSI Info: EGL_VENDOR: Google Inc. (adapter LUID: 0000000000009ccb) EGL_VERSION: 1.4 (ANGLE 2.1.0.6c72b64f910d) EGL_EXTENSIONS: EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_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 EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_ANGLE_create_context_extensions_enabled EGL_ANDROID_blob_cache EGL_ANDROID_recordable EGL_ANGLE_image_d3d11_texture EGL_ANGLE_create_context_backwards_compatible EGL_EXTENSIONS(nullptr): EGL_EXT_client_extensions EGL_EXT_platform_base EGL_EXT_platform_device EGL_ANGLE_platform_angle EGL_ANGLE_platform_angle_d3d EGL_ANGLE_device_creation EGL_ANGLE_device_creation_d3d11 EGL_ANGLE_experimental_present_path EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug EGL_ANGLE_explicit_context EGL_ANGLE_feature_control
WebGL 2 Driver Renderer: Google Inc. -- ANGLE (NVIDIA GeForce RTX 2080 Ti Direct3D11 vs_5_0 ps_5_0)
WebGL 2 Driver Version: OpenGL ES 3.0.0 (ANGLE 2.1.0.6c72b64f910d)
WebGL 2 Driver Extensions: GL_ANGLE_client_arrays GL_ANGLE_copy_texture_3d GL_ANGLE_depth_texture GL_ANGLE_explicit_context GL_ANGLE_explicit_context_gles1 GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_memory_size GL_ANGLE_multi_draw GL_ANGLE_multiview_multisample GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_provoking_vertex GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_multisample GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_lose_context GL_CHROMIUM_sync_query GL_EXT_blend_func_extended 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_float_blend GL_EXT_frag_depth GL_EXT_instanced_arrays 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_bptc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc_srgb 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_KHR_parallel_shader_compile GL_KHR_robust_buffer_access_behavior 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_depth24 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_surfaceless_context GL_OES_texture_3D GL_OES_texture_border_clamp 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 GL_OVR_multiview GL_OVR_multiview2 OES_compressed_EAC_R11_signed_texture OES_compressed_EAC_R11_unsigned_texture OES_compressed_EAC_RG11_signed_texture OES_compressed_EAC_RG11_unsigned_texture OES_compressed_ETC2_RGB8_texture OES_compressed_ETC2_RGBA8_texture OES_compressed_ETC2_punchthroughA_RGBA8_texture OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture OES_compressed_ETC2_sRGB8_alpha8_texture OES_compressed_ETC2_sRGB8_texture
WebGL 2 Extensions: EXT_color_buffer_float EXT_float_blend EXT_texture_compression_bptc EXT_texture_filter_anisotropic MOZ_debug OES_texture_float_linear OVR_multiview2 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context
Direct2D: true
Uses Tiling (Content): true
Off Main Thread Painting Enabled: true
Off Main Thread Painting Worker Count: 4
Target Frame Rate: 60
DirectWrite: true (10.0.19041.388)
GPU #1
Active: Yes
Description: NVIDIA GeForce RTX 2080 Ti
Vendor ID: 0x10de
Device ID: 0x1e04
Driver Version: 27.21.14.5167
Driver Date: 7-5-2020
Drivers: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_e92a0ac2e05fb2ca\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_e92a0ac2e05fb2ca\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_e92a0ac2e05fb2ca\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_e92a0ac2e05fb2ca\nvldumdx.dll C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_e92a0ac2e05fb2ca\nvldumd.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_e92a0ac2e05fb2ca\nvldumd.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_e92a0ac2e05fb2ca\nvldumd.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_e92a0ac2e05fb2ca\nvldumd.dll
Subsys ID: 22813842
RAM: 11264
GPU #2
Active: No
RAM: 0
Diagnostics
AzureCanvasBackend: direct2d 1.1
AzureCanvasBackend (UI Process): skia
AzureContentBackend: skia
AzureContentBackend (UI Process): skia
AzureFallbackCanvasBackend (UI Process): none
CMSOutputProfile: Empty profile data
Display0: 3840x2160@60Hz
Display1: 3440x1440@60Hz
DisplayCount: 2
GPUProcessPid: 4496
GPUProcess: Terminate GPU Process
Device Reset: Trigger Device Reset
ClearType Parameters: \.\DISPLAY1 [ Gamma: 1.8 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 50 ] \.\DISPLAY2 [ Gamma: 1.8 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 50 ]
Decision Log
HW_COMPOSITING:
available by default
force_enabled by user: Force-enabled by pref
D3D11_COMPOSITING:
available by default
DIRECT2D:
available by default
D3D11_HW_ANGLE:
available by default
force_enabled by user: User force-enabled D3D11 ANGLE on disabled hardware
GPU_PROCESS:
available by default
WEBRENDER:
opt-in by default: WebRender is an opt-in feature
available by user: Force enabled by pref
WEBRENDER_QUALIFIED:
available by default
WEBRENDER_COMPOSITOR:
available by default
unavailable by runtime: No DirectComposition usage
WEBRENDER_PARTIAL:
available by default
WEBRENDER_ANGLE:
opt-in by default: WebRender ANGLE is an opt-in feature
available by user: Enabled
WEBRENDER_DCOMP_PRESENT:
opt-in by default: WebRender DirectComposition is an opt-in feature
OMTP:
available by default
ADVANCED_LAYERS:
available by default
blocked by env: Blocked from fallback candidate by WebRender usage
WEBGPU:
disabled by default: Disabled by default
blocked by runtime: WebGPU can only be enabled in nightly

Failure Log
(#0): GP+[GFX1-]: Present1 failed: 0x887a0001
(#371): GP+[GFX1-]: Present1 failed: 0x887a0001
(#372): GP+[GFX1-]: Present1 failed: 0x887a0001
(#373): GP+[GFX1-]: Present1 failed: 0x887a0001
(#374): GP+[GFX1-]: Present1 failed: 0x887a0001
(#375): GP+[GFX1-]: Present1 failed: 0x887a0001
(#376): GP+[GFX1-]: Present1 failed: 0x887a0001
(#377): GP+[GFX1-]: Present1 failed: 0x887a0001
(#378): GP+[GFX1-]: Present1 failed: 0x887a0001
(#379): GP+[GFX1-]: Present1 failed: 0x887a0001
(#380): GP+[GFX1-]: Present1 failed: 0x887a0001
(#381): GP+[GFX1-]: Present1 failed: 0x887a0001
(#382): GP+[GFX1-]: Present1 failed: 0x887a0001
(#383): GP+[GFX1-]: Present1 failed: 0x887a0001
(#384): GP+[GFX1-]: Present1 failed: 0x887a0001
(#385): GP+[GFX1-]: Present1 failed: 0x887a0001

Media

Audio Backend: wasapi
Max Channels: 2
Preferred Sample Rate: 48000
Roundtrip latency (standard deviation): ...
Output Devices
Name: Group
:
Foobar (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Out 47-48 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Out 45-46 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
BenQ PD2700U (NVIDIA High Definition Audio): HDAUDIO\FUNC_01&VEN_10DE&DEV_0091&SUBSYS_38422281&REV_1001\5&34fb20e7&1&0001
:
Internal AUX Jack (Steam Streaming Speakers): ROOT\SteamStreamingSpeakers\0000
Out 31-32 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Games (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
BenQ PD2700U (NVIDIA High Definition Audio):
:
BenQ PD2700U (High Definition Audio Device):
:
:
Out 17-18 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
:
Out 39-40 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
NVIDIA Output (NVIDIA High Definition Audio): HDAUDIO\FUNC_01&VEN_10DE&DEV_0091&SUBSYS_38422281&REV_1001\5&34fb20e7&1&0001
:
Out 41-42 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Digital Audio (HDMI) (High Definition Audio Device): HDAUDIO\FUNC_01&VEN_10DE&DEV_0091&SUBSYS_38422281&REV_1001\5&34fb20e7&1&0001
Internal AUX Jack (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
Out 21-22 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Speakers (Steam Streaming Microphone): ROOT\SteamStreamingMicrophone\0000
Out 33-34 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
:
Desktop (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
ROG PG348Q (NVIDIA High Definition Audio): HDAUDIO\FUNC_01&VEN_10DE&DEV_0091&SUBSYS_38422281&REV_1001\5&34fb20e7&1&0001
Out 23-24 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Out 35-36 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
ROG PG348Q (NVIDIA High Definition Audio): HDAUDIO\FUNC_01&VEN_10DE&DEV_0091&SUBSYS_38422281&REV_1001\5&34fb20e7&1&0001
:
:
Out 43-44 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Out 29-30 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
:
Voice (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
:
:
:
MPC-HC (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Digital Audio (HDMI) (High Definition Audio Device): HDAUDIO\FUNC_01&VEN_10DE&DEV_0091&SUBSYS_38422281&REV_1001\5&34fb20e7&1&0001
:
Out 1-24 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
:
:
:
Out 19-20 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Out 37-38 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
:
Speakers (Steam Streaming Speakers): ROOT\SteamStreamingSpeakers\0000
Out 27-28 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
:
Internet (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Out 15-16 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Out 1-24 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
VST Out (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
ROG PG27AQ (High Definition Audio Device):
ROG PG27AQ (NVIDIA High Definition Audio):
:
Out 25-26 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Input Devices
Name: Group
In 43-44 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
:
In 47-48 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
Voice Loopback (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
In 35-36 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
In 23-24 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
In 19-20 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
In 1-24 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
In 27-28 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
In 39-40 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
In 17-18 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
In 45-46 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
OBS Loopback (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Internal AUX Jack (Steam Streaming Speakers): ROOT\SteamStreamingSpeakers\0000
In 31-32 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
Internal AUX Jack (High Definition Audio Device): HDAUDIO\FUNC_01&VEN_10DE&DEV_0091&SUBSYS_38422281&REV_1001\5&34fb20e7&1&0001
In 13-14 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Internal AUX Jack (NVIDIA High Definition Audio): HDAUDIO\FUNC_01&VEN_10DE&DEV_0091&SUBSYS_38422281&REV_1001\5&34fb20e7&1&0001
:
:
:
Microphone (Steam Streaming Speakers): ROOT\SteamStreamingSpeakers\0000
In 21-22 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Internal AUX Jack (NVIDIA High Definition Audio): HDAUDIO\FUNC_01&VEN_10DE&DEV_0091&SUBSYS_38422281&REV_1001\5&34fb20e7&1&0001
In 25-26 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Internal AUX Jack (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Mix Loopback (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
In 41-42 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Internal AUX Jack (NVIDIA High Definition Audio): HDAUDIO\FUNC_01&VEN_10DE&DEV_0091&SUBSYS_38422281&REV_1001\5&34fb20e7&1&0001
In 1-2 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Optical In (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
VST Loopback (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
In 33-34 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
In 15-16 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
In 29-30 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
:
:
In 37-38 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
Microphone (Steam Streaming Microphone): ROOT\SteamStreamingMicrophone\0000
:
:
:
In 1-24 (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:
Internal AUX Jack (MOTU Pro Audio): USB\VID_07FD&PID_0005\0001f2fffe00b055
:

Enumerate database

Experimental Features

AVIF (image.avif.enabled): false
CSS Masonry Layout (layout.css.grid-template-masonry-value.enabled): false
WebGPU (dom.webgpu.enabled): false

Important Modified Preferences

accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.amount_written: 885781
browser.cache.disk.capacity: 1048576
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.hashstats_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.cache.disk.smart_size.use_old_max: false
browser.cache.disk.telemetry_report_ID: 568
browser.cache.frecency_experiment: 4
browser.contentblocking.category: standard
browser.download.folderList: 2
browser.places.smartBookmarksVersion: 8
browser.search.region: US
browser.sessionstore.upgradeBackup.latestBuildID: 20200717001501
browser.startup.homepage_override.buildID: 20200717001501
browser.startup.homepage_override.mstone: 79.0
browser.startup.page: 3
browser.tabs.crashReporting.includeURL: true
browser.tabs.remote.autostart.2: false
browser.tabs.warnOnClose: false
browser.tabs.warnOnOpen: false
browser.urlbar.matchBuckets: general:5,suggestion:Infinity
browser.urlbar.placeholderName: Google
browser.urlbar.placeholderName.private: Google
browser.urlbar.searchSuggestionsChoice: true
browser.urlbar.searchTips.onboard.shownCount: 4
browser.urlbar.searchTips.redirect.shownCount: 1
browser.urlbar.tipShownCount.searchTip_onboard: 4
browser.urlbar.userMadeSearchSuggestionsChoice: true
dom.apps.lastUpdate.buildID: 20160916101415
dom.apps.lastUpdate.mstone: 49.0
dom.apps.reset-permissions: true
dom.forms.autocomplete.formautofill: true
dom.max_script_run_time: 0
dom.mozApps.used: true
dom.push.userAgentID: cd692d1efcf44c95a328e69fd4638d7c
extensions.formautofill.creditCards.used: 3
extensions.formautofill.firstTimeUse: false
extensions.lastAppVersion: 79.0
font.internaluseonly.changed: false
font.name.monospace.x-western: Consolas
font.name.sans-serif.x-western: Calibri
font.name.serif.x-western: Cambria
font.size.fixed.x-western: 15
font.size.variable.x-western: 18
gfx.crash-guard.d3d11layers.appVersion: 76.0
gfx.crash-guard.d3d11layers.deviceID: 0x1e04
gfx.crash-guard.d3d11layers.driverVersion: 26.21.14.4575
gfx.crash-guard.d3d11layers.feature-d2d: true
gfx.crash-guard.d3d11layers.feature-d3d11: false
gfx.crash-guard.status.d3d11layers: 2
gfx.crash-guard.status.wmfvpxvideo: 2
gfx.crash-guard.wmfvpxvideo.appVersion: 79.0
gfx.crash-guard.wmfvpxvideo.deviceID: 0x1e04
gfx.crash-guard.wmfvpxvideo.driverVersion: 27.21.14.5167
gfx.direct2d.force-enabled: true
gfx.font_rendering.cleartype_params.cleartype_level: 35
gfx.font_rendering.cleartype_params.enhanced_contrast: 45
gfx.font_rendering.cleartype_params.force_gdi_classic_for_families:
gfx.font_rendering.cleartype_params.gamma: 1425
gfx.font_rendering.cleartype_params.rendering_mode: 5
gfx.font_rendering.directwrite.enabled: true
gfx.webrender.all: true
gfx.webrender.all.qualified: true
gfx.webrender.dcomp-win.enabled: false
gfx.webrender.enabled: true
idle.lastDailyNotification: 1595260881
layers.acceleration.force-enabled: true
layers.mlgpu.sanity-test-failed: true
media.benchmark.vp9.fps: 300
media.benchmark.vp9.versioncheck: 5
media.gmp-eme-adobe.abi: x86_64-msvc-x64
media.gmp-eme-adobe.lastUpdate: 1456263116
media.gmp-eme-adobe.version: 17
media.gmp-gmpopenh264.abi: x86_64-msvc-x64
media.gmp-gmpopenh264.lastUpdate: 1571352774
media.gmp-gmpopenh264.version: 1.8.1.1
media.gmp-manager.buildID: 20200717001501
media.gmp-manager.lastCheck: 1595260723
media.gmp-widevinecdm.abi: x86_64-msvc-x64
media.gmp-widevinecdm.lastUpdate: 1578455446
media.gmp-widevinecdm.version: 4.10.1582.2
media.gmp.storage.version.observed: 1
media.hardware-video-decoding.failed: false
network.cookie.prefsMigrated: true
network.dns.disablePrefetch: true
network.http.speculative-parallel-limit: 0
network.predictor.cleaned-up: true
network.predictor.enabled: false
network.prefetch-next: false
places.database.lastMaintenance: 1594804000
places.history.expiration.transient_current_max_pages: 153301
plugin.disable_full_page_plugin_for_types: application/pdf
plugin.importedState: true
plugin.state.npctrl: 2
plugin.state.npgoogleupdate: 0
plugin.state.npnv3dv: 0
plugin.state.npnv3dvstreaming: 0
plugin.state.npunity3d: 1
privacy.cpd.cookies: false
privacy.cpd.downloads: false
privacy.cpd.formdata: false
privacy.cpd.history: false
privacy.cpd.sessions: false
privacy.donottrackheader.enabled: true
privacy.purge_trackers.date_in_cookie_database: 0
privacy.purge_trackers.last_purge: 1594626661143
privacy.sanitize.migrateClearSavedPwdsOnExit: true
privacy.sanitize.migrateFx3Prefs: true
privacy.sanitize.pending: [{"id":"newtab-container","itemsToClear":[],"options":{}}]
privacy.sanitize.timeSpan: 0
privacy.socialtracking.notification.counter: 2
privacy.socialtracking.notification.lastShown: 1567125695426
privacy.trackingprotection.introCount: 20
privacy.userContext.enabled: true
privacy.userContext.extension: treestyletab@piro.sakura.ne.jp
privacy.userContext.ui.enabled: true
security.disable_button.openCertManager: false
security.remote_settings.crlite_filters.checked: 1595270464
security.remote_settings.intermediates.checked: 1595270464
security.sandbox.content.tempDirSuffix: {798b84da-142a-4a56-bf4a-aecef54f996a}
security.sandbox.plugin.tempDirSuffix: {f53dd3be-7b47-44d8-bee8-0c8e05221e1b}
security.ssl.errorReporting.automatic: true
security.tls.version.enable-deprecated: true
services.sync.declinedEngines: prefs
services.sync.engine.addresses: true
services.sync.engine.addresses.available: true
services.sync.engine.bookmarks.validation.lastTime: 1594584822
services.sync.engine.greasemonkey: true
services.sync.engine.passwords.validation.lastTime: 1594584822
services.sync.engine.prefs: false
services.sync.engine.prefs.modified: false
services.sync.engine.userStyles: true
services.sync.lastPing: 1595289496
services.sync.lastSync: Mon Jul 20 2020 21:23:10 GMT-0700 (Pacific Daylight Time)
services.sync.numClients: 3
signon.importedFromSqlite: true
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1593022859
ui.osk.debug.keyboardDisplayReason: IKPOS: Touch screen not found.
webgl.angle.force-d3d11: true
webgl.force-enabled: true

Important Locked Preferences

dom.ipc.processCount.webIsolated: 1
fission.autostart: false

Two monitors is interesting, as my anecdotal evidence is I see this myself sometimes when driving 2 monitors. I've wondered if it's load related as well. I can't reliably repro though, so it's hard to be sure.

Got a repro with the logging turned on. The log is a gigabyte but looking at the end of it (i recorded a few seconds after low latency streaming broke), it looks like it's getting video frames and processing them, which explains why Twitch's stats report the buffer size increasing. I don't see any audio in the log so it seems like the audio is stuck.

https://www.dropbox.com/s/zu0yufho3mtbadr/TwitchBug.log.child-3.moz_log.7z?dl=0

Flags: needinfo?(kg)

I can confirm that Low Latency mode is still broken the same way with hardware video decoding disabled.

Do you still reproduce this? I used to be able to on some of my devices though it wasn't reliable, but no longer can (I'm not clear why).

Flags: needinfo?(kg)

I haven't used Twitch much lately, but right now if I have Low Latency enabled I get constant little buffering pauses (to the point that Twitch now pops up a warning telling me to turn off Low Latency). Normal playback seems fine.

Flags: needinfo?(kg)

Thanks for confirming the problem remains.

Unassigning bugs assigned to Bryce because he no longer works at Mozilla.

Assignee: brycebugemail → nobody
Blocks: twitch
Severity: S2 → S4
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: