Open Bug 1770328 Opened 2 years ago Updated 2 months ago

Audio and video desynchronization on Twitch using Firefox

Categories

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

Firefox 100
defect

Tracking

()

REOPENED

People

(Reporter: james.hildebrand1, Unassigned, NeedInfo)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0

Steps to reproduce:

Go to Twitch.tv, turn on any stream at 720p or higher. Watch as the stream blip, clicks, and hiccups repeatedly while watching, as if it were trying to buffer or something, but it gets worse. Must leave stream running for approximately 10 minutes, gets worse the longer the stream has been running. After an hour the video is noticeable that the audio is not the same speed as the video.

Actual results:

Begins after about 10 minutes, gets progressively worse by the 30 minute mark, of having the the stream playing, audio and video become up to 6 seconds apart from each other. The audio playing first, and the video eventually getting to the audio's point. This issue will be consistent until the web page is refreshed, and then the issue will begin once again. This has been ongoing since the first day of this recent firefox update, and has not occured in the previous builds. Voices are heard long before mouths start moving.

Expected results:

The stream audio and video should be in sync, I have tested the same streams on an Nvidia shield, this issue does not occur, it is a firefox specific issue, and will occur on every single stream, it is not the streamer issue, it is the browser issue.

You must have the stream open, and be on the same tab as the stream in order for the glitch to occur. If you turn on the stream, and switch to a different tab, the video will not seperate from the audio. Need to have the video playing on the stream, while viewing the twitch.tv tab in order for this bug to occur.

I just tested the issue once again. You have to leave the stream on, while leaving the tab with the stream video playing open. The video starts hiccuping, and giving annoying micro stutters after about 10 minutes. As soon as the micro stutters begin occuring, the audio and the video begin to start disjointing, getting progressively worse over time. this bug is reproducible 100% of the time.

When testing this bug please wait for the micro stutters to occur. On average it will take 10 minutes for the micro stutters to occur. If you leave the stream on and just come back to it after 30 minutes the bug will be there with the extremely large delay. I was able to get the issue to re-occur well within the 30 minutes since I posted this bug. (This comment is only 30 minutes newer than the bug report), I hope this helps. After posting the initial report, I went back to Twitch, selected a stream, and waited, so this report is occuring in real-time.

The Bugbug bot thinks this bug should belong to the 'Core::Audio/Video: Playback' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core

May 27, 2022. This is still happening all the time on every single stream, audio is progressively moving ahead of video, where the live stream video is lagging behind increasingly further behind the longer the livestream feed is being played.

Blocks: twitch

Are you on Windows 11? Would you mind to provide your about:support?

This has been ongoing since the first day of this recent firefox update, and has not occured in the previous builds.

The symptom sounds like the old issue (bug 1731430), but it got fixed long time ago. Would you mind to use mozregression to find out the culprit?

Also, it would be helpful if you can capture profiling data (use media preset from the drop down menu) while the issue is happening.

Thank you.

Severity: -- → S2
Flags: needinfo?(james.hildebrand1)
Priority: -- → P2
Summary: Audio and video problems on Twitch using Firefox → Audio and video desynchronization on Twitch using Firefox

(In reply to Alastor Wu [:alwu] from comment #6)

Are you on Windows 11? Would you mind to provide your about:support?

This has been ongoing since the first day of this recent firefox update, and has not occured in the previous builds.

The symptom sounds like the old issue (bug 1731430), but it got fixed long time ago. Would you mind to use mozregression to find out the culprit?

Also, it would be helpful if you can capture profiling data (use media preset from the drop down menu) while the issue is happening.

Thank you.

Windows 10 is the O.S.
The fancy and added telemetry would be great yes. If somebody else can replicate the bug, and then report, that way it can be seen as a subdtantial issue.
I look forward to seeing confirmation of this bug from another source.

Flags: needinfo?(james.hildebrand1)

James, in addition to getting us a profile (detailed video + text instructions: https://blog.paul.cx/post/profiling-firefox-media-workloads/#the-media-preset), could you please attach the raw data from about:support (type this in the address bar) here, so we can check if anything looks off ?

If you go to about:support, there is a button to temporarily restart Firefox in troubleshooting mode, does that help?

Flags: needinfo?(james.hildebrand1)

{
"securitySoftware": {
"registeredAntiVirus": "Microsoft Defender Antivirus",
"registeredAntiSpyware": "",
"registeredFirewall": "Windows Firewall"
},
"processes": {
"remoteTypes": {
"privilegedabout": 1,
"extension": 1,
"webIsolated": 7,
"prealloc": 3,
"gpu": 1,
"socket": 1
},
"maxWebContentProcesses": 8
},
"environmentVariables": {
"MOZ_CRASHREPORTER_DATA_DIRECTORY": "C:\Users\James\AppData\Roaming\Mozilla\Firefox\Crash Reports",
"MOZ_CRASHREPORTER_EVENTS_DIRECTORY": "C:\Users\James\AppData\Roaming\Mozilla\Firefox\Crash Reports\events",
"MOZ_CRASHREPORTER_PING_DIRECTORY": "C:\Users\James\AppData\Roaming\Mozilla\Firefox\Pending Pings",
"MOZ_CRASHREPORTER_RESTART_ARG_0": "C:\Program Files\Mozilla Firefox\firefox.exe",
"MOZ_CRASHREPORTER_STRINGS_OVERRIDE": "C:\Program Files\Mozilla Firefox\browser\crashreporter-override.ini"
},
"modifiedPreferences": {
"accessibility.typeaheadfind.flashBar": 0,
"browser.contentblocking.category": "standard",
"browser.display.background_color": "#474747",
"browser.display.document_color_use": 2,
"browser.display.foreground_color": "#ff7a17",
"browser.display.use_system_colors": false,
"browser.search.region": "CA",
"browser.sessionstore.upgradeBackup.latestBuildID": "20220526203855",
"browser.startup.homepage_override.mstone": "101.0",
"browser.startup.homepage_override.buildID": "20220526203855",
"browser.urlbar.placeholderName": "Google",
"browser.urlbar.placeholderName.private": "Google",
"browser.urlbar.quicksuggest.scenario": "history",
"browser.urlbar.quicksuggest.migrationVersion": 2,
"browser.urlbar.shortcuts.bookmarks": false,
"browser.urlbar.shortcuts.tabs": false,
"browser.urlbar.tipShownCount.searchTip_onboard": 4,
"doh-rollout.uri": "https://private.canadianshield.cira.ca/dns-query",
"doh-rollout.home-region": "CA",
"doh-rollout.balrog-migration-done": true,
"doh-rollout.doneFirstRun": true,
"doh-rollout.mode": 2,
"doh-rollout.self-enabled": true,
"dom.forms.autocomplete.formautofill": true,
"extensions.formautofill.creditCards.used": 2,
"extensions.lastAppVersion": "101.0",
"font.size.monospace.x-western": 14,
"gfx.crash-guard.wmfvpxvideo.deviceID": "0x2208",
"gfx.crash-guard.wmfvpxvideo.appVersion": "99.0.1",
"gfx.crash-guard.wmfvpxvideo.driverVersion": "30.0.15.1215",
"gfx.crash-guard.status.wmfvpxvideo": 2,
"idle.lastDailyNotification": 1654795723,
"media.gmp-widevinecdm.abi": "x86_64-msvc-x64",
"media.gmp-gmpopenh264.version": "1.8.1.1",
"media.gmp-manager.lastCheck": 1654746000,
"media.gmp-widevinecdm.version": "4.10.2449.0",
"media.gmp-manager.buildID": "20220526203855",
"media.gmp-gmpopenh264.abi": "x86_64-msvc-x64",
"media.gmp-gmpopenh264.lastUpdate": 1650260427,
"media.gmp-widevinecdm.lastUpdate": 1652829716,
"media.gmp.storage.version.observed": 1,
"media.hardware-video-decoding.failed": false,
"media.hardwaremediakeys.enabled": false,
"media.videocontrols.picture-in-picture.video-toggle.has-used": true,
"places.database.lastMaintenance": 1654708032,
"privacy.purge_trackers.last_purge": "1654795723183",
"privacy.purge_trackers.date_in_cookie_database": "0",
"privacy.sanitize.pending": "[{"id":"newtab-container","itemsToClear":[],"options":{}}]",
"security.remote_settings.crlite_filters.checked": 1654826720,
"security.remote_settings.intermediates.checked": 1654826720,
"security.sandbox.content.tempDirSuffix": "{2c71a0aa-af81-4390-90e3-34fb6e473f3f}",
"security.sandbox.content.win32k-experiment.startupEnrollmentStatus": 2,
"services.sync.declinedEngines": "",
"services.sync.engine.addresses.available": true,
"storage.vacuum.last.index": 1,
"storage.vacuum.last.places.sqlite": 1652929327,
"ui.osk.enabled": false,
"ui.osk.debug.keyboardDisplayReason": "IKPOS: Touch screen not found."
},
"lockedPreferences": {
"fission.autostart.session": true
},
"printingPreferences": {
"print.more-settings.open": true,
"print.printer_Canon_MG3500_series_Printer_WS.print_in_color": false,
"print_printer": "Mozilla Save to PDF"
},
"media": {
"currentAudioBackend": "wasapi",
"currentMaxAudioChannels": 2,
"currentPreferredSampleRate": 192000,
"audioOutputDevices": [
{
"name": "Acer X34 (NVIDIA High Definition Audio)",
"groupId": "HDAUDIO\FUNC_01&VEN_10DE&DEV_009A&SUBSYS_14623897&REV_1001\5&378f4adb&0&0001",
"vendor": "",
"type": 2,
"state": 2,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 48000,
"maxRate": 48000,
"minRate": 48000,
"maxLatency": 480,
"minLatency": 144
},
{
"name": "Headphones (Realtek USB Audio)",
"groupId": "USB\VID_0DB0&PID_419C&MI_00\9&873b02e&0&0000",
"vendor": "",
"type": 2,
"state": 1,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 48000,
"maxRate": 48000,
"minRate": 48000,
"maxLatency": 0,
"minLatency": 0
},
{
"name": "Speakers (Realtek USB Audio)",
"groupId": "USB\VID_0DB0&PID_419C&MI_00\9&873b02e&0&0000",
"vendor": "",
"type": 2,
"state": 1,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 48000,
"maxRate": 48000,
"minRate": 48000,
"maxLatency": 0,
"minLatency": 0
},
{
"name": "RCA (NVIDIA High Definition Audio)",
"groupId": "HDAUDIO\FUNC_01&VEN_10DE&DEV_009A&SUBSYS_14623897&REV_1001\5&378f4adb&0&0001",
"vendor": "",
"type": 2,
"state": 2,
"preferred": 5,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 192000,
"maxRate": 192000,
"minRate": 192000,
"maxLatency": 1920,
"minLatency": 576
},
{
"name": "Speakers (Sound BlasterX AE-5 Plus)",
"groupId": "HDAUDIO\FUNC_01&VEN_1102&DEV_0011&SUBSYS_11020191&REV_1009\7&3256598d&0&0101",
"vendor": "",
"type": 2,
"state": 2,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 6,
"defaultRate": 96000,
"maxRate": 96000,
"minRate": 96000,
"maxLatency": 960,
"minLatency": 288
},
{
"name": "SPDIF-Out (Sound BlasterX AE-5 Plus)",
"groupId": "HDAUDIO\FUNC_01&VEN_1102&DEV_0011&SUBSYS_11020191&REV_1009\7&3256598d&0&0101",
"vendor": "",
"type": 2,
"state": 2,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 48000,
"maxRate": 48000,
"minRate": 48000,
"maxLatency": 480,
"minLatency": 144
},
{
"name": "Realtek Digital Output (Realtek USB Audio)",
"groupId": "USB\VID_0DB0&PID_419C&MI_00\9&873b02e&0&0000",
"vendor": "",
"type": 2,
"state": 2,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 48000,
"maxRate": 48000,
"minRate": 48000,
"maxLatency": 480,
"minLatency": 144
}
],
"audioInputDevices": [
{
"name": "Stereo Mix (Realtek USB Audio)",
"groupId": "USB\VID_0DB0&PID_419C&MI_00\9&873b02e&0&0000",
"vendor": "",
"type": 1,
"state": 0,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 48000,
"maxRate": 48000,
"minRate": 48000,
"maxLatency": 0,
"minLatency": 0
},
{
"name": "What U Hear (Sound BlasterX AE-5 Plus)",
"groupId": "HDAUDIO\FUNC_01&VEN_1102&DEV_0011&SUBSYS_11020191&REV_1009\7&3256598d&0&0101",
"vendor": "",
"type": 1,
"state": 0,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 48000,
"maxRate": 48000,
"minRate": 48000,
"maxLatency": 0,
"minLatency": 0
},
{
"name": "Microphone (Sound BlasterX AE-5 Plus)",
"groupId": "HDAUDIO\FUNC_01&VEN_1102&DEV_0011&SUBSYS_11020191&REV_1009\7&3256598d&0&0101",
"vendor": "",
"type": 1,
"state": 1,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 48000,
"maxRate": 48000,
"minRate": 48000,
"maxLatency": 0,
"minLatency": 0
}
]
},
"accessibility": {
"isActive": false,
"forceDisabled": 0,
"handlerUsed": true,
"instantiator": ""
},
"startupCache": {
"DiskCachePath": "C:\Users\James\AppData\Local\Mozilla\Firefox\Profiles\4fwluctn.default-release\startupCache\startupCache.8.little",
"IgnoreDiskCache": false,
"FoundDiskCacheOnInit": true,
"WroteToDiskCache": false
},
"libraryVersions": {
"NSPR": {
"minVersion": "4.33",
"version": "4.33"
},
"NSS": {
"minVersion": "3.78.1",
"version": "3.78.1"
},
"NSSUTIL": {
"minVersion": "3.78.1",
"version": "3.78.1"
},
"NSSSSL": {
"minVersion": "3.78.1",
"version": "3.78.1"
},
"NSSSMIME": {
"minVersion": "3.78.1",
"version": "3.78.1"
}
},
"userJS": {
"exists": false
},
"intl": {
"localeService": {
"requested": [
"en-CA"
],
"available": [
"en-CA",
"en-US"
],
"supported": [
"en-CA",
"en-US"
],
"regionalPrefs": [
"en-CA"
],
"defaultLocale": "en-CA"
},
"osPrefs": {
"systemLocales": [
"en-CA",
"en-US"
],
"regionalPrefsLocales": [
"en-CA"
]
}
},
"crashes": {
"submitted": [],
"pending": 0
},
"sandbox": {
"contentSandboxLevel": 6,
"effectiveContentSandboxLevel": 6,
"contentWin32kLockdownState": "Win32k Lockdown enabled -- user in Treatment Group"
},
"remoteAgent": {
"running": false,
"url": ""
},
"graphics": {
"numTotalWindows": 2,
"numAcceleratedWindows": 2,
"windowLayerManagerType": "WebRender",
"windowLayerManagerRemote": true,
"adapterDescription": "NVIDIA GeForce RTX 3080 Ti",
"adapterVendorID": "0x10de",
"adapterDeviceID": "0x2208",
"adapterSubsysID": "38971462",
"adapterRAM": 12288,
"adapterDrivers": "C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_4d7400884d0d52e3\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_4d7400884d0d52e3\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_4d7400884d0d52e3\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_4d7400884d0d52e3\nvldumdx.dll C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_4d7400884d0d52e3\nvldumd.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_4d7400884d0d52e3\nvldumd.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_4d7400884d0d52e3\nvldumd.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_4d7400884d0d52e3\nvldumd.dll",
"driverVendor": "",
"driverVersion": "30.0.15.1259",
"driverDate": "4-20-2022",
"adapterDescription2": "",
"adapterVendorID2": "",
"adapterDeviceID2": "",
"adapterSubsysID2": "",
"adapterRAM2": 0,
"adapterDrivers2": "",
"driverVendor2": "",
"driverVersion2": "",
"driverDate2": "",
"isGPU2Active": false,
"direct2DEnabled": true,
"directWriteEnabled": true,
"directWriteVersion": "10.0.19041.1566",
"clearTypeParameters": "\\.\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 ] ",
"targetFrameRate": 100,
"webgl1Renderer": "Google Inc. (NVIDIA) -- ANGLE (NVIDIA, NVIDIA GeForce RTX 3080 Ti Direct3D11 vs_5_0 ps_5_0, D3D11-30.0.15.1259)",
"webgl1Version": "OpenGL ES 2.0.0 (ANGLE 2.1.15727 git hash: 23851a53779d)",
"webgl1DriverExtensions": "GL_ANGLE_base_vertex_base_instance 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_get_serialized_context_string GL_ANGLE_get_tex_level_parameter 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_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_EGL_image_external_wrap_modes GL_EXT_blend_func_extended GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_draw_elements_base_vertex GL_EXT_float_blend GL_EXT_frag_depth GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_multisampled_render_to_texture 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_rgtc 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_no_error 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_compressed_EAC_R11_signed_texture GL_OES_compressed_EAC_R11_unsigned_texture GL_OES_compressed_EAC_RG11_signed_texture GL_OES_compressed_EAC_RG11_unsigned_texture GL_OES_compressed_ETC2_RGB8_texture GL_OES_compressed_ETC2_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture GL_OES_compressed_ETC2_sRGB8_alpha8_texture GL_OES_compressed_ETC2_sRGB8_texture GL_OES_depth24 GL_OES_depth32 GL_OES_draw_elements_base_vertex GL_OES_element_index_uint GL_OES_fbo_render_mipmap 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_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_texture_stencil8 GL_OES_vertex_array_object GL_WEBGL_video_texture ",
"webgl1Extensions": "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_compression_rgtc EXT_texture_filter_anisotropic MOZ_debug OES_element_index_uint OES_fbo_render_mipmap 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",
"webgl1WSIInfo": "EGL_VENDOR: Google Inc. (NVIDIA)\nEGL_VERSION: 1.5 (ANGLE 2.1.15727 git hash: 23851a53779d)\nEGL_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_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_display_semaphore_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_KHR_create_context_no_error EGL_KHR_reusable_sync \nEGL_EXTENSIONS(nullptr): EGL_EXT_client_extensions EGL_EXT_device_query EGL_EXT_platform_base EGL_EXT_platform_device EGL_ANGLE_platform_angle EGL_ANGLE_platform_angle_d3d EGL_ANGLE_platform_angle_d3d11on12 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 \nIsWebglOutOfProcessEnabled: 1",
"webgl2Renderer": "Google Inc. (NVIDIA) -- ANGLE (NVIDIA, NVIDIA GeForce RTX 3080 Ti Direct3D11 vs_5_0 ps_5_0, D3D11-30.0.15.1259)",
"webgl2Version": "OpenGL ES 3.0.0 (ANGLE 2.1.15727 git hash: 23851a53779d)",
"webgl2DriverExtensions": "GL_ANGLE_base_vertex_base_instance 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_get_serialized_context_string GL_ANGLE_get_tex_level_parameter 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_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_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_lose_context GL_CHROMIUM_sync_query GL_EXT_EGL_image_external_wrap_modes GL_EXT_blend_func_extended GL_EXT_blend_minmax GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_float_blend GL_EXT_frag_depth GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_multisampled_render_to_texture 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_rgtc 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_no_error 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_compressed_EAC_R11_signed_texture GL_OES_compressed_EAC_R11_unsigned_texture GL_OES_compressed_EAC_RG11_signed_texture GL_OES_compressed_EAC_RG11_unsigned_texture GL_OES_compressed_ETC2_RGB8_texture GL_OES_compressed_ETC2_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture GL_OES_compressed_ETC2_sRGB8_alpha8_texture GL_OES_compressed_ETC2_sRGB8_texture GL_OES_depth24 GL_OES_depth32 GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex GL_OES_element_index_uint GL_OES_fbo_render_mipmap 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_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_texture_stencil8 GL_OES_vertex_array_object GL_OVR_multiview GL_OVR_multiview2 GL_WEBGL_video_texture ",
"webgl2Extensions": "EXT_color_buffer_float EXT_float_blend EXT_texture_compression_bptc EXT_texture_compression_rgtc 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",
"webgl2WSIInfo": "EGL_VENDOR: Google Inc. (NVIDIA)\nEGL_VERSION: 1.5 (ANGLE 2.1.15727 git hash: 23851a53779d)\nEGL_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_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_display_semaphore_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_KHR_create_context_no_error EGL_KHR_reusable_sync \nEGL_EXTENSIONS(nullptr): EGL_EXT_client_extensions EGL_EXT_device_query EGL_EXT_platform_base EGL_EXT_platform_device EGL_ANGLE_platform_angle EGL_ANGLE_platform_angle_d3d EGL_ANGLE_platform_angle_d3d11on12 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 \nIsWebglOutOfProcessEnabled: 1",
"info": {
"AzureCanvasBackend (UI Process)": "skia",
"AzureFallbackCanvasBackend (UI Process)": "skia",
"AzureContentBackend (UI Process)": "skia",
"AzureCanvasBackend": "direct2d 1.1",
"AzureContentBackend": "skia",
"ApzWheelInput": 1,
"ApzDragInput": 1,
"ApzKeyboardInput": 1,
"ApzAutoscrollInput": 1,
"ApzZoomingInput": 1,
"CMSOutputProfile": "AAAbUE1TRlQCEAAAbW50clJHQiBYWVogB98ACAAVAAoAOgAgYWNzcE1TRlQAAAAAQUNSAAAAAAAAAAAAj0IZAQAAAAAAAPbVAAEAAAAA0ypBQ1IgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOY3BydAAAASwAAAA4ZGVzYwAAAWQAAABmd3RwdAAAAcwAAAAUYmtwdAAAAeAAAAAUclhZWgAAAfQAAAAUZ1hZWgAAAggAAAAUYlhZWgAAAhwAAAAUZG1uZAAAAjAAAABzZG1kZAAAAqQAAABmbHVtaQAAAwwAAAAUdGVjaAAAAyAAAAAMclRSQwAAAywAAAgMZ1RSQwAACzgAAAgMYlRSQwAAE0QAAAgMdGV4dOAAAABDb3B5cmlnaHQgMjAxNSBBY2VyIEludGVybmF0aW9uYWwgRWxlY3Ryb25pYyBBRwBkZXNj4AAAAAAAAAlBY2VyIFgzNAAAAAAAAAAAAAAAAAAAAADURksAL1NNALQYBQFkZXNj4AAAAKj0EgC8GAUBzAAFAecABQEMAAAAtN4DAbz0EgCHAz0AkBs9ACzzEgAUAAAARNAAAFhZWiDgAAAAAADz3gABAAAAARYEWFlaIOAAAAAAAAAAAAAAAAAAAABYWVog4AAAAAAAfBwAAEANAAAF3VhZWiDgAAAAAABZXwAAsr0AAB36WFlaIOAAAAAAACFiAAANPAAAr1xkZXNj4AAAAAAAABlBQ0VSIGh0dHA6Ly93d3cuYWNlci5jb20AAAAAAAAAAAAAAAAA1EZLAC9TTQC0GAUBZGVzY+AAAACo9BIAvBgFAUhnBQFwZwUBGQAAALTeAwG89BIAhwM9AJAbPQAs8xIAFAAAAETQAGRlc2PgAAAAAAAACUFjZXIgWDM0AAAAAAAAAAAAAAAAAAAAANRGSwAvU00AtBgFAWRlc2PgAAAAqPQSALwYBQG4ZwUB02cFAQwAAAC03gMBvPQSAIcDPQCQGz0ALPMSABQAAABE0AAAWFlaIOAAAAAAqxcKALQAAADEBR5zaWcg4AAAAEFNRCBjdXJ24AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIABAAGAAkACwAOACEAIwAnACkALQAxADMANwA7AD8AQwBHAEsATwBTAFoAXwBjAGcAbgBzAHcAfgCEAIcAjwCWAJwAnwCnAK8AtgC9AMQAxwDPANcA3wDnAO8A9wD/AQgBDwEZAR8BKgEvATsBPwFNAU8BXwFpAW8BfAF/AY8BmgGfAa8BuQG/Ac8B2QHfAe8B+wH/AhICHQIfAjUCPwI/AlkCXwJyAn4CfwKYAp8CsgK/Ar8C2gLfAvUC/wMRAx8DHwM8Az8DWQNfA3YDfwOUA58DswO/A9ID3wPyA/8EAgQiBDIEPwRDBGQEdQR/BIcEqAS5BL8EzATuBP8FAgUkBTYFPwVLBW4FfwWDBaYFuQW/BeAF8wX/BgsGLwY/BkcGawZ/BoQGqAa9BsIG5wb8BwEHJwc8B0IHZwd9B4MHqQe/B8YH7Af/CAoIIQhICF8Idgh/CJUIrAjUCOwI/wkMCSQJTQllCX4JhwmfCcgJ4Qn7CgQKHgpHCmEKewqFCp8KyQrjCv4LCQsjC04LaQt/C5ALqwvWC/IL/wwaDEYMYgx+DIoMpwzTDPAM/w0aDUcNZA1/DY8NrQ3bDfgOBg4lDlMOcQ6ADp4OzQ7sDv8PGg9JD2kPfw+YD8gP5w//EBgQOBBYEIkQqRDKEOsQ/xEdET4RYBGREbMR1RH2EggSKxJNEm8SohLEEucS/xMdE0ATYxOXE7oT3hP/FBYUOhReFJIUthTbFP8VFBU5FV4VkxW5Fd4V/xYZFj8WZRabFsEW5xb/FyQXSxeBF6gXzxf2GA4YNRhdGJQYvBjkGP8ZJBlMGYUZrRnWGf8aGBpBGmoaoxrMGvYbEBs5G2MbnRvHG/IcDBw3HGEcnBzHHPIdDR04HWQdnx3LHfceEx4/Hmsepx7THv8fHR9JH4Yfsx/gH/8gKyBZIIYgtCDiISAhTiF8Iash2SH/IiciViKFIrQi4yMiI1IjgiOxI+EkASQyJGIkkiTDJQMlNCVlJZYlxyX5JhomTCZ9Jq8m4ScjJ1Unhye6J+woDyhCKHUoqCjbKR4pUimFKbkp7SoQKkQqeSqtKuErJitbK48rxCv5LB4sVCyJLL8tBC06LXAtpi3cLgMuOS5wLqYu3S8kL1svki/JL/8wKDBgMJgw0DEYMVAxiDHBMfkyIjJbMpQyzTMWM08ziTPCM/w0JjRgNJo01DUeNVk1kzXONf82MzZvNqo25TcwN2w3qDfjOA84SziIOMQ5EDlNOYo5xjn/OjA6bjqrOug7Njt0O7E77zwdPFw8mjzYPSc9Zj2kPeM+Ej5RPpE+0D8gP18/nz/fQA9AT0CQQNBBEUFRQZJB00IkQmVCp0LoQypDa0OtQ+9EIURkRKZE6EUrRW5FsEYDRkZGikbNRxBHVEeYR9tID0hTSJhI3EkgSWVJqknuSkNKiErOSxNLWEueS+RMGkxfTKZM7E0yTXlNv04WTl1OpE7rTzJPeU/BT/9QQFCIUNBRGFFgUahSAVJJUpJS21MkU21TtlP/VDlUglTMVRZVYFWqVgRWT1aZVuRXLld5V8RX/1hKWJZY4VktWXhZxFogWmxauVsFW1FbnlvrXCdcdFzCXQ9dXF2qXgdeVV6jXvFfP1+NX9tgGmBoYLdhBmFVYaRiA2JTYqJi8mNBY5Fj4WQhZHFkwmUSZWNltGYUZmVmtmcIZ1lnqmf8aD5okGjiaTRphmnYajtqjWrgazNrhmvZbBxscGzDbRdtam2+biJudm7Kbx9vc2/IcA1wYnC2cQxxYXG2chxycXLHcx1zc3PJdA90ZXS8dRN1aXXAdid2fnbVdy13hHfceCR4fHjUeSx5hHncekV6nXr2e097qHv/fEp8pHz9fVd9sH4afnR+zn8pf4N/3YAogIOA3oE5gZSB74JKgqaDAYNdg7mEJYSBhN2FOoWWhfOGUIathwqHZ4fEiBGIb4jMiSqJiInmikSKoosBi1+LvowtjIuM6o1KjamOCI5ojsePJ4+Hj+eQN5CXkPiRWJG5khqSepLbkz2TnpQPlHGU0pU0lZaV+JZalryXH5eBl+SYN5iZmPyZYJnDmiaaiprtm1GbtZwpnI2c8Z1WnbqeH56EnumfTp+zoAigbaDToTihnqIEomqi0KM3o52kE6R6pOGlSKWvphamfablp0yntKgLqHOo26lDqayqFKp9quWrTqu3rDCsma0CrWyt1a4/rqmvE699r+ewQbCrsRaxgbHrslaywbMss5i0E7R/tOq1VrXCti62mrcGt3O337g8uKm5FrmDufC6XbrKuzi7prwjvJG8/71tvdy+Sr65vye/lr//wGTA08FCwbLCIcKRwwHDccPhxGHE0cVCxbLGI8aUxwTHdcfnyEjIuckryZ3KDsqAyvLLZMvXzFnMzM0+zbHOJM6XzwrPfc/x0FTQyNE80bDSJNKY0wzTgdQF1HrU79Vk1dnWTtbD1zjXrtgU2InY/9l12ezaYtrY20/bxtxM3MPdOt2x3ineoN8Y34/f/+Bv4OfhX+HY4lDiyeNB47rkQ+S85TXlruYo5qHnG+eV5//oeejz6W3p6Opi6t3rWOvT7F7s2e1U7dDuS+7H70Pvv/Ar8KfxI/Gg8hzymfMW85P0IPSd9Rr1mPYV9pP3EfeP9//4e/j5+Xf59vp1+vT7cvwC/IH9AP1//f/+f/7//37//2N1cnbgAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAEAAYACQALAA4AIQAjACcAKQAtADEAMwA3ADsAPwBDAEcASwBPAFMAWgBfAGMAZwBuAHMAdwB+AIQAhwCPAJYAnACfAKcArwC2AL0AxADHAM8A1wDfAOcA7wD3AP8BCAEPARkBHwEqAS8BOwE/AU0BTwFfAWkBbwF8AX8BjwGaAZ8BrwG5Ab8BzwHZAd8B7wH7Af8CEgIdAh8CNQI/Aj8CWQJfAnICfgJ/ApgCnwKyAr8CvwLaAt8C9QL/AxEDHwMfAzwDPwNZA18DdgN/A5QDnwOzA78D0gPfA/ID/wQCBCIEMgQ/BEMEZAR1BH8EhwSoBLkEvwTMBO4E/wUCBSQFNgU/BUsFbgV/BYMFpgW5Bb8F4AXzBf8GCwYvBj8GRwZrBn8GhAaoBr0GwgbnBvwHAQcnBzwHQgdnB30HgwepB78HxgfsB/8ICgghCEgIXwh2CH8IlQisCNQI7Aj/CQwJJAlNCWUJfgmHCZ8JyAnhCfsKBAoeCkcKYQp7CoUKnwrJCuMK/gsJCyMLTgtpC38LkAurC9YL8gv/DBoMRgxiDH4MigynDNMM8Az/DRoNRw1kDX8Njw2tDdsN+A4GDiUOUw5xDoAOng7NDuwO/w8aD0kPaQ9/D5gPyA/nD/8QGBA4EFgQiRCpEMoQ6xD/ER0RPhFgEZERsxHVEfYSCBIrEk0SbxKiEsQS5xL/Ex0TQBNjE5cTuhPeE/8UFhQ6FF4UkhS2FNsU/xUUFTkVXhWTFbkV3hX/FhkWPxZlFpsWwRbnFv8XJBdLF4EXqBfPF/YYDhg1GF0YlBi8GOQY/xkkGUwZhRmtGdYZ/xoYGkEaahqjGswa9hsQGzkbYxudG8cb8hwMHDccYRycHMcc8h0NHTgdZB2fHcsd9x4THj8eax6nHtMe/x8dH0kfhh+zH+Af/yArIFkghiC0IOIhICFOIXwhqyHZIf8iJyJWIoUitCLjIyIjUiOCI7Ej4SQBJDIkYiSSJMMlAyU0JWUlliXHJfkmGiZMJn0mrybhJyMnVSeHJ7on7CgPKEIodSioKNspHilSKYUpuSntKhAqRCp5Kq0q4SsmK1srjyvEK/ksHixULIksvy0ELTotcC2mLdwuAy45LnAupi7dLyQvWy+SL8kv/zAoMGAwmDDQMRgxUDGIMcEx+TIiMlsylDLNMxYzTzOJM8Iz/DQmNGA0mjTUNR41WTWTNc41/zYzNm82qjblNzA3bDeoN+M4DzhLOIg4xDkQOU05ijnGOf86MDpuOqs66Ds2O3Q7sTvvPB08XDyaPNg9Jz1mPaQ94z4SPlE+kT7QPyA/Xz+fP99AD0BPQJBA0EERQVFBkkHTQiRCZUKnQuhDKkNrQ61D70QhRGREpkToRStFbkWwRgNGRkaKRs1HEEdUR5hH20gPSFNImEjcSSBJZUmqSe5KQ0qISs5LE0tYS55L5EwaTF9MpkzsTTJNeU2/ThZOXU6kTutPMk95T8FP/1BAUIhQ0FEYUWBRqFIBUklSklLbUyRTbVO2U/9UOVSCVMxVFlVgVapWBFZPVplW5FcuV3lXxFf/WEpYlljhWS1ZeFnEWiBabFq5WwVbUVueW+tcJ1x0XMJdD11cXapeB15VXqNe8V8/X41f22AaYGhgt2EGYVVhpGIDYlNiomLyY0FjkWPhZCFkcWTCZRJlY2W0ZhRmZWa2ZwhnWWeqZ/xoPmiQaOJpNGmGadhqO2qNauBrM2uGa9lsHGxwbMNtF21qbb5uIm52bspvH29zb8hwDXBicLZxDHFhcbZyHHJxcsdzHXNzc8l0D3RldLx1E3VpdcB2J3Z+dtV3LXeEd9x4JHh8eNR5LHmEedx6RXqdevZ7T3uoe/98SnykfP19V32wfhp+dH7Ofyl/g3/dgCiAg4DegTmBlIHvgkqCpoMBg12DuYQlhIGE3YU6hZaF84ZQhq2HCodnh8SIEYhviMyJKomIieaKRIqiiwGLX4u+jC2Mi4zqjUqNqY4IjmiOx48nj4eP55A3kJeQ+JFYkbmSGpJ6ktuTPZOelA+UcZTSlTSVlpX4llqWvJcfl4GX5Jg3mJmY/JlgmcOaJpqKmu2bUZu1nCmcjZzxnVadup4fnoSe6Z9On7OgCKBtoNOhOKGeogSiaqLQozejnaQTpHqk4aVIpa+mFqZ9puWnTKe0qAuoc6jbqUOprKoUqn2q5atOq7esMKyZrQKtbK3Vrj+uqa8Tr32v57BBsKuxFrGBseuyVrLBsyyzmLQTtH+06rVWtcK2Lraatwa3c7ffuDy4qbkWuYO58Lpdusq7OLumvCO8kbz/vW293L5Kvrm/J7+Wv//AZMDTwULBssIhwpHDAcNxw+HEYcTRxULFssYjxpTHBMd1x+fISMi5ySvJncoOyoDK8stky9fMWczMzT7Nsc4kzpfPCs99z/HQVNDI0TzRsNIk0pjTDNOB1AXUetTv1WTV2dZO1sPXONeu2BTYidj/2XXZ7Npi2tjbT9vG3Ezcw9063bHeKd6g3xjfj9//4G/g5+Ff4djiUOLJ40HjuuRD5LzlNeWu5ijmoecb55Xn/+h56PPpbeno6mLq3etY69PsXuzZ7VTt0O5L7sfvQ++/8Cvwp/Ej8aDyHPKZ8xbzk/Qg9J31GvWY9hX2k/cR94/3//h7+Pn5d/n2+nX69Pty/AL8gf0A/X/9//5//v//fv//Y3VyduAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQABgAJAAsADgAhACMAJwApAC0AMQAzADcAOwA/AEMARwBLAE8AUwBaAF8AYwBnAG4AcwB3AH4AhACHAI8AlgCcAJ8ApwCvALYAvQDEAMcAzwDXAN8A5wDvAPcA/wEIAQ8BGQEfASoBLwE7AT8BTQFPAV8BaQFvAXwBfwGPAZoBnwGvAbkBvwHPAdkB3wHvAfsB/wISAh0CHwI1Aj8CPwJZAl8CcgJ+An8CmAKfArICvwK/AtoC3wL1Av8DEQMfAx8DPAM/A1kDXwN2A38DlAOfA7MDvwPSA98D8gP/BAIEIgQyBD8EQwRkBHUEfwSHBKgEuQS/BMwE7gT/BQIFJAU2BT8FSwVuBX8FgwWmBbkFvwXgBfMF/wYLBi8GPwZHBmsGfwaEBqgGvQbCBucG/AcBBycHPAdCB2cHfQeDB6kHvwfGB+wH/wgKCCEISAhfCHYIfwiVCKwI1AjsCP8JDAkkCU0JZQl+CYcJnwnICeEJ+woECh4KRwphCnsKhQqfCskK4wr+CwkLIwtOC2kLfwuQC6sL1gvyC/8MGgxGDGIMfgyKDKcM0wzwDP8NGg1HDWQNfw2PDa0N2w34DgYOJQ5TDnEOgA6eDs0O7A7/DxoPSQ9pD38PmA/ID+cP/xAYEDgQWBCJEKkQyhDrEP8RHRE+EWARkRGzEdUR9hIIEisSTRJvEqISxBLnEv8THRNAE2MTlxO6E94T/xQWFDoUXhSSFLYU2xT/FRQVORVeFZMVuRXeFf8WGRY/FmUWmxbBFucW/xckF0sXgReoF88X9hgOGDUYXRiUGLwY5Bj/GSQZTBmFGa0Z1hn/GhgaQRpqGqMazBr2GxAbORtjG50bxxvyHAwcNxxhHJwcxxzyHQ0dOB1kHZ8dyx33HhMePx5rHqce0x7/Hx0fSR+GH7Mf4B//ICsgWSCGILQg4iEgIU4hfCGrIdkh/yInIlYihSK0IuMjIiNSI4IjsSPhJAEkMiRiJJIkwyUDJTQlZSWWJccl+SYaJkwmfSavJuEnIydVJ4cnuifsKA8oQih1KKgo2ykeKVIphSm5Ke0qECpEKnkqrSrhKyYrWyuPK8Qr+SweLFQsiSy/LQQtOi1wLaYt3C4DLjkucC6mLt0vJC9bL5IvyS//MCgwYDCYMNAxGDFQMYgxwTH5MiIyWzKUMs0zFjNPM4kzwjP8NCY0YDSaNNQ1HjVZNZM1zjX/NjM2bzaqNuU3MDdsN6g34zgPOEs4iDjEORA5TTmKOcY5/zowOm46qzroOzY7dDuxO+88HTxcPJo82D0nPWY9pD3jPhI+UT6RPtA/ID9fP58/30APQE9AkEDQQRFBUUGSQdNCJEJlQqdC6EMqQ2tDrUPvRCFEZESmROhFK0VuRbBGA0ZGRopGzUcQR1RHmEfbSA9IU0iYSNxJIEllSapJ7kpDSohKzksTS1hLnkvkTBpMX0ymTOxNMk15Tb9OFk5dTqRO608yT3lPwU//UEBQiFDQURhRYFGoUgFSSVKSUttTJFNtU7ZT/1Q5VIJUzFUWVWBVqlYEVk9WmVbkVy5XeVfEV/9YSliWWOFZLVl4WcRaIFpsWrlbBVtRW55b61wnXHRcwl0PXVxdql4HXlVeo17xXz9fjV/bYBpgaGC3YQZhVWGkYgNiU2KiYvJjQWORY+FkIWRxZMJlEmVjZbRmFGZlZrZnCGdZZ6pn/Gg+aJBo4mk0aYZp2Go7ao1q4Gsza4Zr2WwcbHBsw20XbWptvm4ibnZuym8fb3NvyHANcGJwtnEMcWFxtnIccnFyx3Mdc3NzyXQPdGV0vHUTdWl1wHYndn521Xctd4R33HgkeHx41HkseYR53HpFep169ntPe6h7/3xKfKR8/X1XfbB+Gn50fs5/KX+Df92AKICDgN6BOYGUge+CSoKmgwGDXYO5hCWEgYTdhTqFloXzhlCGrYcKh2eHxIgRiG+IzIkqiYiJ5opEiqKLAYtfi76MLYyLjOqNSo2pjgiOaI7HjyePh4/nkDeQl5D4kViRuZIaknqS25M9k56UD5RxlNKVNJWWlfiWWpa8lx+XgZfkmDeYmZj8mWCZw5ommoqa7ZtRm7WcKZyNnPGdVp26nh+ehJ7pn06fs6AIoG2g06E4oZ6iBKJqotCjN6OdpBOkeqThpUilr6YWpn2m5adMp7SoC6hzqNupQ6msqhSqfarlq06rt6wwrJmtAq1srdWuP66prxOvfa/nsEGwq7EWsYGx67JWssGzLLOYtBO0f7TqtVa1wrYutpq3Brdzt9+4PLipuRa5g7nwul26yrs4u6a8I7yRvP+9bb3cvkq+ub8nv5a//8BkwNPBQsGywiHCkcMBw3HD4cRhxNHFQsWyxiPGlMcEx3XH58hIyLnJK8mdyg7KgMryy2TL18xZzMzNPs2xziTOl88Kz33P8dBU0MjRPNGw0iTSmNMM04HUBdR61O/VZNXZ1k7Ww9c4167YFNiJ2P/Zddns2mLa2NtP28bcTNzD3Trdsd4p3qDfGN+P3//gb+Dn4V/h2OJQ4snjQeO65EPkvOU15a7mKOah5xvnlef/6Hno8+lt6ejqYurd61jr0+xe7NntVO3Q7kvux+9D77/wK/Cn8SPxoPIc8pnzFvOT9CD0nfUa9Zj2FfaT9xH3j/f/+Hv4+fl3+fb6dfr0+3L8AvyB/QD9f/3//n/+//9+//8=",
"DisplayCount": 2,
"Display0": "3440x1440@100Hz : NVIDIA GeForce RTX 3080 Ti",
"Display1": "3840x2160@60Hz : NVIDIA GeForce RTX 3080 Ti",
"HardwareStretching": "both=1 window-only=0 full-screen-only=1 none=0 error=0"
},
"featureLog": {
"features": [
{
"name": "HW_COMPOSITING",
"description": "Compositing",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "D3D11_COMPOSITING",
"description": "Direct3D11 Compositing",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "DIRECT2D",
"description": "Direct2D",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "D3D11_HW_ANGLE",
"description": "Direct3D11 hardware ANGLE",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "GPU_PROCESS",
"description": "GPU Process",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER",
"description": "WebRender",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_QUALIFIED",
"description": "WebRender qualified",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_COMPOSITOR",
"description": "WebRender native compositor",
"status": "unavailable",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "runtime",
"status": "unavailable",
"message": "No DirectComposition usage"
}
]
},
{
"name": "WEBRENDER_PARTIAL",
"description": "WebRender partial present",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_SHADER_CACHE",
"description": "WebRender shader disk cache",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_OPTIMIZED_SHADERS",
"description": "WebRender optimized shaders",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_ANGLE",
"description": "WebRender ANGLE",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_DCOMP_PRESENT",
"description": "WebRender DirectComposition",
"status": "blocked",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "env",
"status": "blocked",
"message": "Monitor refresh rate too high/mixed"
}
]
},
{
"name": "WEBRENDER_SOFTWARE",
"description": "WebRender software fallback",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBGPU",
"description": "WebGPU",
"status": "blocked",
"log": [
{
"type": "default",
"status": "disabled",
"message": "Disabled by default"
},
{
"type": "runtime",
"status": "blocked",
"message": "WebGPU cannot be enabled in release or beta"
}
]
},
{
"name": "WINDOW_OCCLUSION",
"description": "WINDOW_OCCLUSION",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "HW_DECODED_VIDEO_NO_COPY",
"description": "Hardware decoded video no copy",
"status": "blocked",
"log": [
{
"type": "default",
"status": "blocked",
"message": "Blocklisted by gfxInfo"
}
]
},
{
"name": "VP8_HW_DECODE",
"description": "VP8 hardware decoding",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "VP9_HW_DECODE",
"description": "VP9 hardware decoding",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
}
],
"fallbacks": []
},
"crashGuards": []
},
"experimentalFeatures": [
[
"experimental-features-abouthome-startup-cache",
"browser.startup.homepage.abouthome_cache.enabled",
false
],
[
"experimental-features-cookie-samesite-lax-by-default2",
"network.cookie.sameSite.laxByDefault",
false
],
[
"experimental-features-cookie-samesite-none-requires-secure2",
"network.cookie.sameSite.noneRequiresSecure",
false
],
[
"experimental-features-cookie-samesite-schemeful",
"network.cookie.sameSite.schemeful",
false
],
[
"experimental-features-css-constructable-stylesheets",
"layout.css.constructable-stylesheets.enabled",
true
],
[
"experimental-features-css-masonry2",
"layout.css.grid-template-masonry-value.enabled",
false
],
[
"experimental-features-devtools-compatibility-panel",
"devtools.inspector.compatibility.enabled",
true
],
[
"experimental-features-devtools-serviceworker-debugger-support",
"devtools.debugger.features.windowless-service-workers",
false
],
[
"experimental-features-media-jxl",
"image.jxl.enabled",
false
],
[
"experimental-features-ime-search",
"browser.urlbar.keepPanelOpenDuringImeComposition",
false
],
[
"experimental-features-web-gpu2",
"dom.webgpu.enabled",
false
],
[
"experimental-features-webrtc-global-mute-toggles",
"privacy.webrtc.globalMuteToggles",
false
]
],
"addons": [
{
"name": "Ad Blocker for Facebook™",
"type": "extension",
"version": "1.9.10",
"isActive": true,
"id": "{d403ee9c-3bd2-41d3-b1e9-27698babf097}"
},
{
"name": "AdBlocker Ultimate",
"type": "extension",
"version": "3.7.18",
"isActive": true,
"id": "adblockultimate@adblockultimate.net"
},
{
"name": "Add-ons Search Detection",
"type": "extension",
"version": "2.0.0",
"isActive": true,
"id": "addons-search-detection@mozilla.com"
},
{
"name": "Amazon.co.uk",
"type": "extension",
"version": "1.9",
"isActive": true,
"id": "amazon@search.mozilla.org"
},
{
"name": "BetterTTV",
"type": "extension",
"version": "7.4.29",
"isActive": true,
"id": "firefox@betterttv.net"
},
{
"name": "Bing",
"type": "extension",
"version": "1.3",
"isActive": true,
"id": "bing@search.mozilla.org"
},
{
"name": "DuckDuckGo",
"type": "extension",
"version": "1.1",
"isActive": true,
"id": "ddg@search.mozilla.org"
},
{
"name": "eBay",
"type": "extension",
"version": "1.3",
"isActive": true,
"id": "ebay@search.mozilla.org"
},
{
"name": "Google",
"type": "extension",
"version": "1.2",
"isActive": true,
"id": "google@search.mozilla.org"
},
{
"name": "Purple Ads Blocker",
"type": "extension",
"version": "1.5.0.3",
"isActive": true,
"id": "{a7399979-5203-4489-9861-b168187b52e1}"
},
{
"name": "Return YouTube Dislike",
"type": "extension",
"version": "3.0.0.1",
"isActive": true,
"id": "{762f9885-5a13-4abd-9c77-433dcd38b8fd}"
},
{
"name": "Unhook - Remove YouTube Recommended Videos",
"type": "extension",
"version": "1.6.1",
"isActive": true,
"id": "myallychou@gmail.com"
},
{
"name": "Wikipedia (en)",
"type": "extension",
"version": "1.1",
"isActive": true,
"id": "wikipedia@search.mozilla.org"
}
],
"features": [
{
"name": "DoH Roll-Out",
"version": "2.0.0",
"id": "doh-rollout@mozilla.org"
},
{
"name": "Firefox Screenshots",
"version": "39.0.1",
"id": "screenshots@mozilla.org"
},
{
"name": "Form Autofill",
"version": "1.0.1",
"id": "formautofill@mozilla.org"
},
{
"name": "Picture-In-Picture",
"version": "1.0.0",
"id": "pictureinpicture@mozilla.org"
},
{
"name": "Web Compatibility Interventions",
"version": "101.7.0",
"id": "webcompat@mozilla.org"
},
{
"name": "WebCompat Reporter",
"version": "1.4.2",
"id": "webcompat-reporter@mozilla.org"
}
],
"application": {
"name": "Firefox",
"osVersion": "Windows_NT 10.0 19043",
"version": "101.0",
"buildID": "20220526203855",
"distributionID": "",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0",
"safeMode": false,
"memorySizeBytes": 34281078784,
"diskAvailableBytes": 648209408000,
"updateChannel": "release",
"supportURL": "https://support.mozilla.org/1/firefox/101.0/WINNT/en-CA/",
"osTheme": "",
"numTotalWindows": 2,
"numFissionWindows": 2,
"numRemoteWindows": 2,
"launcherProcessState": 0,
"fissionAutoStart": true,
"fissionDecisionStatus": "enabledByDefault",
"remoteAutoStart": true,
"policiesStatus": 0,
"keyLocationServiceGoogleFound": true,
"keySafebrowsingGoogleFound": true,
"keyMozillaFound": true
},
"normandy": {
"addonStudies": [],
"prefRollouts": [
{
"slug": "bug-1766468-rollout-win32k-rollout-release-100-101",
"state": "active",
"preferences": [
{
"preferenceName": "security.sandbox.content.win32k-experiment.enrollmentStatus",
"value": 2,
"previousValue": 0
}
],
"enrollmentId": "36aea6b2-913e-497f-871f-61f7852ec5a6"
},
{
"slug": "bug-1766618-rollout-disable-websocket-over-http2-release-91-100",
"state": "active",
"preferences": [
{
"preferenceName": "network.http.http2.websockets",
"value": false,
"previousValue": false
},
{
"preferenceName": "network.http.spdy.websockets",
"value": false,
"previousValue": null
}
],
"enrollmentId": "3838fe82-4829-44da-8027-0f341e417f79"
}
],
"prefStudies": [],
"nimbusExperiments": [],
"nimbusRollouts": []
}
}(In reply to Paul Adenot (:padenot) from comment #8)

James, in addition to getting us a profile (detailed video + text instructions: https://blog.paul.cx/post/profiling-firefox-media-workloads/#the-media-preset), could you please attach the raw data from about:support (type this in the address bar) here, so we can check if anything looks off ?

If you go to about:support, there is a button to temporarily restart Firefox in troubleshooting mode, does that help?

Flags: needinfo?(james.hildebrand1)

(In reply to Paul Adenot (:padenot) from comment #8)

James, in addition to getting us a profile (detailed video + text instructions: https://blog.paul.cx/post/profiling-firefox-media-workloads/#the-media-preset), could you please attach the raw data from about:support (type this in the address bar) here, so we can check if anything looks off ?

If you go to about:support, there is a button to temporarily restart Firefox in troubleshooting mode, does that help?

https://share.firefox.dev/3NGy4xE

The video capture shows the audio about 7 seconds ahead of the video which was being played live, I hope my about:config and performance profile capture help you in fixing this Twitch related audio/video issue.

Thank you

(In reply to Paul Adenot (:padenot) from comment #8)

James, in addition to getting us a profile (detailed video + text instructions: https://blog.paul.cx/post/profiling-firefox-media-workloads/#the-media-preset), could you please attach the raw data from about:support (type this in the address bar) here, so we can check if anything looks off ?

If you go to about:support, there is a button to temporarily restart Firefox in troubleshooting mode, does that help?

Watching livestream in troubleshooting mode appears to have fixed the issue. I also cleared the start up cache prior to launching the troubleshooting mode. I am now testing it in normal firefox mode, and will report back in a day with the results. So far in it appears the audio/video issue has not reappeared.

I will report back in a day with confirmation with more conclusive result.

So it is looking like going into about:support, and re-launching in troubleshooter mode ( while also clearing the cache,) then restarting firefox back normally seems to have fixed it, based on my observations over the past couple days.
I am going to try and leave a single stream on for an extended period of time, and I will conclude this bug as solved if no more issues show up.

(In reply to Paul Adenot (:padenot) from comment #8)

James, in addition to getting us a profile (detailed video + text instructions: https://blog.paul.cx/post/profiling-firefox-media-workloads/#the-media-preset), could you please attach the raw data from about:support (type this in the address bar) here, so we can check if anything looks off ?

If you go to about:support, there is a button to temporarily restart Firefox in troubleshooting mode, does that help?

Hello. The issue is still occurring after multiple days of testing, the video/audio desync is still occurring. Please ignore all my above efforts. Conclusively I can say the issue is still occurring. Here is a profile of my most recent video/audio desync, about 4 seconds off between video/audio. Please inspect and determine for yourself.

https://share.firefox.dev/3mRlWyh

This issue is still ongoing.

James, can you please record a profile with the Media preset? We don't have the information necessary to diagnose this with a non-Media profile. Thanks!

Flags: needinfo?(james.hildebrand1)

Hi there,

I'm definitely having a very similar issue to this on Twitch. The vid will just stall for about a second as if buffering (but no loading thobber, just the video still) and then continues and the vid/audio is out of sync. This happens after about 7/8 mins on any stream in my case and continues every 7/8 mins or so.

From my side of things it's been doing this since at least v102 as this is the first version I remember it happening on. At the time I thought it was maybe something to do with my ISP or VPN as it was a little while after installing 102 that I went back to Twitch but now I'm beginning to doubt that as I've since tried it in Chrome and it's all fine. I'm also on Win 10 (21H1 19043.1826) for note.

I've tried about 5 or 6 times now to capture the issue using the profiler indicated in previous comments but unfortunately one of two things happen on the current build (v103.00) of it either crashing and taking Firefox down with it on capture or the profile page loads then tells me it can't load this particular profile. This was working back in April as I was able to capture a profile for another Twitch issue I was experiencing so no idea what's happening there either.

I've attached my own about:support file for whatever use it is and I did attempt to use mozregression to load a Release for v101, but not really having a clue if I was using the tool or not I'm not sure whether my word on this is good or not. It did seem to run properly without issue for the 30mins I gave it.

Cheers,
Alastair

Hi,

I've been able to get some Profiler outputs based on a couple of suggetions from the pofiler guys about how to get around the crashing/data issues. These are from 105.0a1 Nightly and have a couple of cases which show very similar behaviour to what I've been seeing on the Release v103. Unfortunately attempts to capture longer time frams lead to similar issues as above so hopefully these are still of some use.

https://share.firefox.dev/3oStu4R
https://share.firefox.dev/3zMjNdp
https://share.firefox.dev/3QjVY3f

Thanks,
Alastair

And finally got a capture from the Release 103.0.1. The blip happens right at the end of this profile. https://share.firefox.dev/3BSDTFx

Hi, Im having the same issue on Windows Mac and Linux. Using version 103.1 on ubuntu right now, here are my performance profile and about:support.

https://profiler.firefox.com/public/akezaq5axpcq366fxpt5casbfwvk10nzwk5bdz8/calltree/?globalTrackOrder=0wxe&hiddenGlobalTracks=1wxaxd&hiddenLocalTracksByPid=3034-0w58wxk~208854-0w2~208983-0w2~41627-0~206444-0w3~153887-0w2~178864-0w2~209749-0w2~27067-0w4~205682-0w2~179577-0w2~38650-0w2~159834-0w2~38712-0w2~206480-0w2~161235-0w2~170828-0w2~179357-0w2~165983-0w2~209269-0w2~205615-0w2~176209-0w2~3188-0w2~205256-0w2~3133-0w2~153588-0w2~178710-0w2~178624-0w2~203702-0w2~181414-0w2~176144-0w2~173296-0w2~160616-0w2~179778-0w2~3242-0w2~203130-0w2~200560-0w2~41385-0w5~175146-0w5~142601-0w5~38317-0w3~4778-0w8~8163-0w7~171260-01~4756-1w4~151026-0w8~205078-014689d&thread=C6&v=7

{
"application": {
"name": "Firefox",
"osVersion": "Linux 5.15.0-46-generic #49~20.04.1-Ubuntu SMP Thu Aug 4 19:15:44 UTC 2022",
"version": "103.0",
"buildID": "20220718155818",
"distributionID": "canonical",
"userAgent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:103.0) Gecko/20100101 Firefox/103.0",
"safeMode": false,
"memorySizeBytes": 12460384256,
"diskAvailableBytes": 3107942400,
"supportURL": "https://support.mozilla.org/1/firefox/103.0/Linux/en-US/",
"osTheme": "Yaru / Yaru",
"numTotalWindows": 1,
"numFissionWindows": 1,
"numRemoteWindows": 1,
"fissionAutoStart": true,
"fissionDecisionStatus": "enabledByDefault",
"remoteAutoStart": true,
"policiesStatus": 0,
"keyLocationServiceGoogleFound": true,
"keySafebrowsingGoogleFound": true,
"keyMozillaFound": false
},
"securitySoftware": {
"registeredAntiVirus": "",
"registeredAntiSpyware": "",
"registeredFirewall": ""
},
"processes": {
"remoteTypes": {
"privilegedabout": 1,
"extension": 1,
"webIsolated": 34,
"webServiceWorker": 1,
"prealloc": 3,
"socket": 1
},
"maxWebContentProcesses": 8
},
"environmentVariables": {
"DISPLAY": ":0",
"MOZ_APP_LAUNCHER": "/usr/bin/firefox",
"MOZ_ASSUME_USER_NS": "1",
"MOZ_CRASHREPORTER_EVENTS_DIRECTORY": "/home/owner/.mozilla/firefox/ift0c3gz.default-release/crashes/events",
"MOZ_CRASHREPORTER_RESTART_ARG_0": "/usr/bin/firefox",
"MOZ_CRASHREPORTER_RESTART_ARG_1": "-new-window",
"MOZ_CRASHREPORTER_RESTART_ARG_2": "",
"MOZ_CRASHREPORTER_DATA_DIRECTORY": "/home/owner/.mozilla/firefox/Crash Reports",
"MOZ_CRASHREPORTER_PING_DIRECTORY": "/home/owner/.mozilla/firefox/Pending Pings",
"MOZ_CRASHREPORTER_STRINGS_OVERRIDE": "/usr/lib/firefox/browser/crashreporter-override.ini",
"MOZ_LAUNCHED_CHILD": "",
"MOZ_APP_SILENT_START": "",
"XRE_PROFILE_PATH": "",
"XRE_PROFILE_LOCAL_PATH": "",
"XRE_START_OFFLINE": "",
"XRE_BINARY_PATH": "",
"XRE_RESTARTED_BY_PROFILE_MANAGER": ""
},
"modifiedPreferences": {
"accessibility.typeaheadfind.flashBar": 0,
"browser.contentblocking.category": "standard",
"browser.search.region": "BR",
"browser.sessionstore.upgradeBackup.latestBuildID": "20220718155818",
"browser.startup.homepage_override.mstone": "103.0",
"browser.startup.homepage_override.buildID": "20220718155818",
"browser.startup.page": 3,
"browser.urlbar.quicksuggest.migrationVersion": 2,
"browser.urlbar.tipShownCount.searchTip_onboard": 4,
"browser.urlbar.placeholderName": "Google",
"browser.urlbar.quicksuggest.scenario": "history",
"browser.urlbar.placeholderName.private": "Google",
"doh-rollout.uri": "https://mozilla.cloudflare-dns.com/dns-query",
"doh-rollout.home-region": "US",
"doh-rollout.balrog-migration-done": true,
"doh-rollout.doneFirstRun": true,
"doh-rollout.mode": 2,
"doh-rollout.self-enabled": true,
"extensions.lastAppVersion": "103.0",
"idle.lastDailyNotification": 1661121804,
"media.gmp-gmpopenh264.lastUpdate": 1657736010,
"media.gmp-manager.lastEmptyCheck": 1661119922,
"media.gmp-gmpopenh264.version": "1.8.1.2",
"media.gmp-manager.lastCheck": 1661119922,
"media.gmp-widevinecdm.version": "4.10.2449.0",
"media.gmp-gmpopenh264.abi": "x86_64-gcc3",
"media.gmp-manager.buildID": "20220718155818",
"media.gmp-widevinecdm.abi": "x86_64-gcc3",
"media.eme.enabled": true,
"media.gmp-widevinecdm.lastUpdate": 1657742408,
"media.gmp.storage.version.observed": 1,
"network.dns.disablePrefetch": true,
"network.http.speculative-parallel-limit": 0,
"network.predictor.enabled": false,
"network.prefetch-next": false,
"places.database.lastMaintenance": 1661035380,
"privacy.purge_trackers.last_purge": "1661121804865",
"privacy.purge_trackers.date_in_cookie_database": "0",
"privacy.sanitize.pending": "[{"id":"newtab-container","itemsToClear":[],"options":{}}]",
"security.sandbox.content.tempDirSuffix": "729a7e0c-54fa-4f33-9e9c-15b8a69c8bb6",
"security.remote_settings.crlite_filters.checked": 1657757008,
"security.remote_settings.intermediates.checked": 1657757008,
"services.sync.declinedEngines": "",
"storage.vacuum.last.places.sqlite": 1660395201,
"storage.vacuum.last.index": 1
},
"lockedPreferences": {
"fission.autostart.session": true
},
"printingPreferences": {},
"media": {
"currentAudioBackend": "pulse-rust",
"currentMaxAudioChannels": 2,
"currentPreferredSampleRate": 44100,
"audioOutputDevices": [
{
"name": "Built-in Audio Analog Stereo",
"groupId": "/devices/pci0000:00/0000:00:1f.3/sound/card0",
"vendor": "Intel Corporation",
"type": 2,
"state": 2,
"preferred": 15,
"supportedFormat": 12336,
"defaultFormat": 16,
"maxChannels": 2,
"defaultRate": 44100,
"maxRate": 384000,
"minRate": 1,
"maxLatency": 0,
"minLatency": 0
}
],
"audioInputDevices": [
{
"name": "Monitor of Built-in Audio Analog Stereo",
"groupId": "/devices/pci0000:00/0000:00:1f.3/sound/card0",
"vendor": "Intel Corporation",
"type": 1,
"state": 2,
"preferred": 0,
"supportedFormat": 12336,
"defaultFormat": 16,
"maxChannels": 2,
"defaultRate": 44100,
"maxRate": 384000,
"minRate": 1,
"maxLatency": 0,
"minLatency": 0
},
{
"name": "Built-in Audio Analog Stereo",
"groupId": "/devices/pci0000:00/0000:00:1f.3/sound/card0",
"vendor": "Intel Corporation",
"type": 1,
"state": 2,
"preferred": 15,
"supportedFormat": 12336,
"defaultFormat": 16,
"maxChannels": 2,
"defaultRate": 44100,
"maxRate": 384000,
"minRate": 1,
"maxLatency": 0,
"minLatency": 0
}
]
},
"accessibility": {
"isActive": false,
"forceDisabled": 0,
"handlerUsed": false,
"instantiator": ""
},
"startupCache": {
"DiskCachePath": "/home/owner/.cache/mozilla/firefox/ift0c3gz.default-release/startupCache/startupCache.8.little",
"IgnoreDiskCache": false,
"FoundDiskCacheOnInit": true,
"WroteToDiskCache": false
},
"libraryVersions": {
"NSPR": {
"minVersion": "4.34",
"version": "4.34"
},
"NSS": {
"minVersion": "3.80",
"version": "3.80"
},
"NSSUTIL": {
"minVersion": "3.80",
"version": "3.80"
},
"NSSSSL": {
"minVersion": "3.80",
"version": "3.80"
},
"NSSSMIME": {
"minVersion": "3.80",
"version": "3.80"
}
},
"userJS": {
"exists": false
},
"intl": {
"localeService": {
"requested": [
"en-US"
],
"available": [
"en-US",
"en-CA",
"en-GB"
],
"supported": [
"en-US",
"en-CA",
"en-GB"
],
"regionalPrefs": [
"en-US"
],
"defaultLocale": "en-US"
},
"osPrefs": {
"systemLocales": [
"en-US"
],
"regionalPrefsLocales": [
"en-US"
]
}
},
"crashes": {
"submitted": [],
"pending": 0
},
"sandbox": {
"hasSeccompBPF": true,
"hasSeccompTSync": true,
"hasPrivilegedUserNamespaces": true,
"hasUserNamespaces": true,
"canSandboxContent": true,
"canSandboxMedia": true,
"syscallLog": [],
"contentSandboxLevel": 4,
"effectiveContentSandboxLevel": 4,
"contentWin32kLockdownState": "Win32k Lockdown disabled -- Operating system not supported"
},
"remoteAgent": {
"running": false,
"url": ""
},
"graphics": {
"numTotalWindows": 1,
"numAcceleratedWindows": 1,
"windowLayerManagerType": "WebRender",
"windowLayerManagerRemote": true,
"adapterDescription": "Mesa Intel(R) UHD Graphics 620 (KBL GT2)",
"adapterVendorID": "0x8086",
"adapterDeviceID": "0x5917",
"adapterRAM": 0,
"adapterDrivers": "",
"driverVendor": "mesa/iris",
"driverVersion": "21.2.6.0",
"driverDate": "",
"adapterVendorID2": "0x10de",
"adapterDeviceID2": "0x174e",
"isGPU2Active": false,
"targetFrameRate": 60,
"windowProtocol": "x11",
"desktopEnvironment": "gnome",
"webgl1Renderer": "Intel -- Mesa Intel(R) UHD Graphics 620 (KBL GT2)",
"webgl1Version": "4.6 (Compatibility Profile) Mesa 21.2.6",
"webgl1DriverExtensions": "GL_ARB_multisample GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_copy_texture GL_EXT_subtexture GL_EXT_texture_object GL_EXT_vertex_array GL_EXT_compiled_vertex_array GL_EXT_texture GL_EXT_texture3D GL_IBM_rasterpos_clip GL_ARB_point_parameters GL_EXT_draw_range_elements GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_separate_specular_color GL_EXT_texture_edge_clamp GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_ARB_framebuffer_sRGB GL_ARB_multitexture GL_EXT_framebuffer_sRGB GL_IBM_multimode_draw_arrays GL_IBM_texture_mirrored_repeat GL_3DFX_texture_compression_FXT1 GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_transpose_matrix GL_EXT_blend_func_separate GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_secondary_color GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_INGR_blend_func_separate GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texgen_reflection GL_NV_texture_env_combine4 GL_S3_s3tc GL_SUN_multi_draw_arrays GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_EXT_framebuffer_object GL_EXT_texture_compression_s3tc GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_MESA_window_pos GL_NV_packed_depth_stencil GL_NV_texture_rectangle GL_ARB_depth_texture GL_ARB_occlusion_query GL_ARB_shadow GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_window_pos GL_ATI_fragment_shader GL_EXT_stencil_two_side GL_EXT_texture_cube_map GL_NV_copy_depth_to_color GL_NV_depth_clamp GL_NV_fog_distance GL_NV_half_float GL_APPLE_packed_pixels GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_fragment_shader GL_ARB_shader_objects GL_ARB_vertex_program GL_ARB_vertex_shader GL_ATI_draw_buffers GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_MESA_pack_invert GL_NV_primitive_restart GL_ARB_depth_clamp GL_ARB_fragment_program_shadow GL_ARB_half_float_pixel GL_ARB_occlusion_query2 GL_ARB_point_sprite GL_ARB_shading_language_100 GL_ARB_sync GL_ARB_texture_non_power_of_two GL_ARB_vertex_buffer_object GL_ATI_blend_equation_separate GL_EXT_blend_equation_separate GL_OES_read_format GL_ARB_color_buffer_float GL_ARB_pixel_buffer_object GL_ARB_texture_compression_rgtc GL_ARB_texture_float GL_ARB_texture_rectangle GL_EXT_packed_float GL_EXT_pixel_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_texture_shared_exponent GL_ARB_framebuffer_object GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_packed_depth_stencil GL_ARB_vertex_array_object GL_ATI_separate_stencil GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_texture_array GL_EXT_texture_integer GL_EXT_texture_sRGB_decode GL_EXT_timer_query GL_OES_EGL_image GL_AMD_performance_monitor GL_EXT_texture_buffer_object GL_AMD_texture_texture4 GL_ARB_copy_buffer GL_ARB_depth_buffer_float GL_ARB_draw_instanced GL_ARB_half_float_vertex GL_ARB_instanced_arrays GL_ARB_map_buffer_range GL_ARB_texture_buffer_object GL_ARB_texture_rg GL_ARB_texture_swizzle GL_ARB_vertex_array_bgra GL_EXT_texture_swizzle GL_EXT_vertex_array_bgra GL_NV_conditional_render GL_AMD_conservative_depth GL_AMD_depth_clamp_separate GL_AMD_draw_buffers_blend GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_ARB_ES2_compatibility GL_ARB_blend_func_extended GL_ARB_compatibility GL_ARB_debug_output GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_explicit_attrib_location GL_ARB_fragment_coord_conventions GL_ARB_provoking_vertex GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_shader_stencil_export GL_ARB_shader_texture_lod GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_multisample GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_uniform_buffer_object GL_ARB_vertex_type_2_10_10_10_rev GL_EXT_provoking_vertex GL_EXT_texture_snorm GL_MESA_texture_signed_rgba GL_NV_copy_image GL_NV_texture_barrier GL_ARB_draw_indirect GL_ARB_get_program_binary GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_robustness GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_precision GL_ARB_shader_subroutine GL_ARB_texture_compression_bptc GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_viewport_array GL_EXT_direct_state_access GL_EXT_vertex_attrib_64bit GL_AMD_multi_draw_indirect GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ARB_base_instance GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_internalformat_query GL_ARB_map_buffer_alignment GL_ARB_shader_atomic_counters GL_ARB_shader_image_load_store GL_ARB_shading_language_420pack GL_ARB_shading_language_packing GL_ARB_texture_storage GL_ARB_transform_feedback_instanced GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_transform_feedback GL_AMD_query_buffer_object GL_AMD_shader_trinary_minmax GL_AMD_vertex_shader_layer GL_AMD_vertex_shader_viewport_index GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_clear_buffer_object GL_ARB_compute_shader GL_ARB_copy_image GL_ARB_explicit_uniform_location GL_ARB_fragment_layer_viewport GL_ARB_framebuffer_no_attachments GL_ARB_invalidate_subdata GL_ARB_multi_draw_indirect GL_ARB_program_interface_query GL_ARB_robust_buffer_access_behavior GL_ARB_shader_image_size GL_ARB_shader_storage_buffer_object GL_ARB_stencil_texturing GL_ARB_texture_buffer_range GL_ARB_texture_query_levels GL_ARB_texture_storage_multisample GL_ARB_texture_view GL_ARB_vertex_attrib_binding GL_KHR_debug GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_AMD_pinned_memory GL_ARB_buffer_storage GL_ARB_clear_texture GL_ARB_compute_variable_group_size GL_ARB_enhanced_layouts GL_ARB_indirect_parameters GL_ARB_internalformat_query2 GL_ARB_multi_bind GL_ARB_query_buffer_object GL_ARB_seamless_cubemap_per_texture GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shading_language_include GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_stencil8 GL_ARB_vertex_type_10f_11f_11f_rev GL_EXT_shader_framebuffer_fetch GL_EXT_shader_integer_mix GL_INTEL_performance_query GL_ARB_ES3_1_compatibility GL_ARB_clip_control GL_ARB_conditional_render_inverted GL_ARB_cull_distance GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_get_texture_sub_image GL_ARB_pipeline_statistics_query GL_ARB_shader_texture_image_samples GL_ARB_texture_barrier GL_ARB_transform_feedback_overflow_query GL_EXT_polygon_offset_clamp GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_KHR_context_flush_control GL_KHR_robust_buffer_access_behavior GL_ARB_fragment_shader_interlock GL_ARB_gpu_shader_int64 GL_ARB_parallel_shader_compile GL_ARB_post_depth_coverage GL_ARB_shader_atomic_counter_ops GL_ARB_shader_ballot GL_ARB_shader_clock GL_ARB_shader_viewport_layer_array GL_EXT_shader_samples_identical GL_EXT_texture_sRGB_R8 GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_NV_fragment_shader_interlock GL_ARB_gl_spirv GL_ARB_spirv_extensions GL_MESA_shader_integer_functions GL_ARB_polygon_offset_clamp GL_ARB_texture_filter_anisotropic GL_EXT_memory_object GL_EXT_memory_object_fd GL_EXT_semaphore GL_EXT_semaphore_fd GL_KHR_parallel_shader_compile GL_EXT_EGL_image_storage GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_texture_shadow_lod GL_INTEL_blackhole_render GL_INTEL_shader_atomic_float_minmax GL_INTEL_shader_integer_functions2 GL_MESA_framebuffer_flip_y GL_NV_compute_shader_derivatives GL_EXT_EGL_sync GL_EXT_demote_to_helper_invocation ",
"webgl1Extensions": "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_compression_rgtc EXT_texture_filter_anisotropic MOZ_debug OES_element_index_uint OES_fbo_render_mipmap 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_astc WEBGL_compressed_texture_etc 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",
"webgl1WSIInfo": "EGL_VENDOR: Mesa Project\nEGL_VERSION: 1.5\nEGL_EXTENSIONS: EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_CHROMIUM_sync_control EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_swap_buffers_with_damage EGL_IMG_context_priority EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_NOK_texture_from_pixmap EGL_WL_bind_wayland_display \nEGL_EXTENSIONS(nullptr): EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_device EGL_EXT_platform_wayland EGL_KHR_platform_wayland EGL_EXT_platform_x11 EGL_KHR_platform_x11 EGL_MESA_platform_xcb EGL_MESA_platform_gbm EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless\nIsWebglOutOfProcessEnabled: 1",
"webgl2Renderer": "Intel -- Mesa Intel(R) UHD Graphics 620 (KBL GT2)",
"webgl2Version": "4.6 (Core Profile) Mesa 21.2.6",
"webgl2DriverExtensions": "GL_3DFX_texture_compression_FXT1 GL_AMD_conservative_depth GL_AMD_depth_clamp_separate GL_AMD_draw_buffers_blend GL_AMD_gpu_shader_int64 GL_AMD_multi_draw_indirect GL_AMD_performance_monitor GL_AMD_pinned_memory GL_AMD_query_buffer_object GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_AMD_shader_trinary_minmax GL_AMD_texture_texture4 GL_AMD_vertex_shader_layer GL_AMD_vertex_shader_viewport_index GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ARB_ES2_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_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_compute_variable_group_size 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_fragment_shader_interlock 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_gl_spirv GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader_int64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_indirect_parameters 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_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_post_depth_coverage GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior 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_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_stencil_export 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_include GL_ARB_shading_language_packing GL_ARB_spirv_extensions GL_ARB_stencil_texturing 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_filter_anisotropic 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_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query 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_buffer_object 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_EGL_image_storage GL_EXT_EGL_sync GL_EXT_abgr GL_EXT_blend_equation_separate GL_EXT_demote_to_helper_invocation 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_object GL_EXT_framebuffer_sRGB GL_EXT_memory_object GL_EXT_memory_object_fd 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_semaphore GL_EXT_semaphore_fd GL_EXT_shader_framebuffer_fetch GL_EXT_shader_framebuffer_fetch_non_coherent 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_R8 GL_EXT_texture_sRGB_decode GL_EXT_texture_shadow_lod GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_IBM_multimode_draw_arrays GL_INTEL_blackhole_render GL_INTEL_conservative_rasterization GL_INTEL_performance_query GL_INTEL_shader_atomic_float_minmax GL_INTEL_shader_integer_functions2 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_KHR_context_flush_control GL_KHR_debug GL_KHR_no_error GL_KHR_parallel_shader_compile GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_sliced_3d GL_MESA_framebuffer_flip_y GL_MESA_pack_invert GL_MESA_shader_integer_functions GL_MESA_texture_signed_rgba GL_NV_compute_shader_derivatives GL_NV_conditional_render GL_NV_copy_image GL_NV_depth_clamp GL_NV_fragment_shader_interlock GL_NV_packed_depth_stencil GL_NV_texture_barrier GL_OES_EGL_image GL_S3_s3tc",
"webgl2Extensions": "EXT_color_buffer_float EXT_float_blend EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic MOZ_debug OES_texture_float_linear WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context",
"webgl2WSIInfo": "EGL_VENDOR: Mesa Project\nEGL_VERSION: 1.5\nEGL_EXTENSIONS: EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_CHROMIUM_sync_control EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_swap_buffers_with_damage EGL_IMG_context_priority EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_NOK_texture_from_pixmap EGL_WL_bind_wayland_display \nEGL_EXTENSIONS(nullptr): EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_device EGL_EXT_platform_wayland EGL_KHR_platform_wayland EGL_EXT_platform_x11 EGL_KHR_platform_x11 EGL_MESA_platform_xcb EGL_MESA_platform_gbm EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless\nIsWebglOutOfProcessEnabled: 1",
"info": {
"AzureFallbackCanvasBackend": "skia",
"AzureCanvasBackend": "skia",
"AzureContentBackend": "skia",
"ApzWheelInput": 1,
"ApzDragInput": 1,
"ApzKeyboardInput": 1,
"ApzAutoscrollInput": 1,
"ApzZoomingInput": 1,
"CMSOutputProfile": "AAAFWGxjbXMEMAAAbW50clJHQiBYWVogB+YABwANABIABwAnYWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1sY21zNJI5sbqTuuSUSqU2n6P5XwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOZGVzYwAAASwAAABEY3BydAAAAXAAAACGd3RwdAAAAfgAAAAUY2hhZAAAAgwAAAAsclhZWgAAAjgAAAAUYlhZWgAAAkwAAAAUZ1hZWgAAAmAAAAAUclRSQwAAAnQAAAAQZ1RSQwAAAnQAAAAQYlRSQwAAAnQAAAAQY2hybQAAAoQAAAAkbWV0YQAAAqgAAAI4ZG1uZAAABOAAAAA0ZG1kZAAABRQAAABEbWx1YwAAAAAAAAABAAAADGVuVVMAAAAoAAAAHAAzADQAMABYAEEAQQAvADMANQAwAFgAQQBBAC8ANQA1ADAAWABBAEFtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAGoAAAAcAFQAaABpAHMAIABwAHIAbwBmAGkAbABlACAAaQBzACAAZgByAGUAZQAgAG8AZgAgAGsAbgBvAHcAbgAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAcgBlAHMAdAByAGkAYwB0AGkAbwBuAHMALgAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABC7cAAAWW///zVgAABykAAP3X///7tv///aUAAAPaAADA9lhZWiAAAAAAAABl+AAAPBcAAAonWFlaIAAAAAAAACrAAAAldgAAsi5YWVogAAAAAAAAZh4AAJ5zAAAW13BhcmEAAAAAAAAAAAACMzNjaHJtAAAAAAADAAAAAJNAAABYQAAAVwAAAI9AAAAoAAAAH4BkaWN0AAAAAAAAAAgAAAAQAAAAkAAAABYAAACmAAAAKgAAANAAAAAWAAAA5gAAAAgAAADuAAAAIgAAARAAAAAYAAABKAAAABAAAAE4AAAAQAAAAXgAAAAUAAABjAAAACoAAAG2AAAAEgAAAcgAAAAGAAABzgAAABYAAAHkAAAADAAAAfAAAAAiAAACEgAAACYAQwBNAEYAXwBwAHIAbwBkAHUAYwB0AGcAbgBvAG0AZQAtAHMAZQB0AHQAaQBuAGcAcwAtAGQAYQBlAG0AbwBuAEQAQQBUAEEAXwBzAG8AdQByAGMAZQBlAGQAaQBkAEUARABJAEQAXwBtAGEAbgB1AGYAYQBjAHQAdQByAGUAcgBBAFUAIABPAHAAdAByAG8AbgBpAGMAcwBFAEQASQBEAF8AbQBkADUAYwA1ADAAMQA4ADcAZgA1ADIAZgAzADQAZQA3ADQAYgBkADQAOQA5ADUAOABiADAAMABkADIAYQA5AGEAMQA5AEMATQBGAF8AYgBpAG4AYQByAHkAZwBuAG8AbQBlAC0AcwBlAHQAdABpAG4AZwBzAC0AZABhAGUAbQBvAG4ARQBEAEkARABfAG0AbgBmAHQAQQBVAE8AQwBNAEYAXwB2AGUAcgBzAGkAbwBuADMALgAzADYALgAxAE0AQQBQAFAASQBOAEcAXwBkAGUAdgBpAGMAZQBfAGkAZAB4AHIAYQBuAGQAcgAtAEEAVQAgAE8AcAB0AHIAbwBuAGkAYwBzbWx1YwAAAAAAAAABAAAADGVuVVMAAAAYAAAAHABBAFUAIABPAHAAdAByAG8AbgBpAGMAc21sdWMAAAAAAAAAAQAAAAxlblVTAAAAKAAAABwAMwA0ADAAWABBAEEALwAzADUAMABYAEEAQQAvADUANQAwAFgAQQBB",
"DisplayCount": 1,
"Display0": "1920x1080@60Hz scales:1.000000|1.000000"
},
"failures": [
"CP+[GFX1-]: Managed to allocate after flush."
],
"indices": [
0
],
"featureLog": {
"features": [
{
"name": "HW_COMPOSITING",
"description": "Compositing",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "OPENGL_COMPOSITING",
"description": "OpenGL Compositing",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER",
"description": "WebRender",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_QUALIFIED",
"description": "WebRender qualified",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_COMPOSITOR",
"description": "WebRender native compositor",
"status": "blocked",
"log": [
{
"type": "default",
"status": "disabled",
"message": "Disabled by default"
},
{
"type": "env",
"status": "blocklisted",
"message": "Blocklisted by gfxInfo"
},
{
"type": "runtime",
"status": "blocked",
"message": "Cannot be enabled in release or beta"
}
]
},
{
"name": "WEBRENDER_PARTIAL",
"description": "WebRender partial present",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_SHADER_CACHE",
"description": "WebRender shader disk cache",
"status": "disabled",
"log": [
{
"type": "default",
"status": "disabled",
"message": "Disabled by default"
}
]
},
{
"name": "WEBRENDER_OPTIMIZED_SHADERS",
"description": "WebRender optimized shaders",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER_ANGLE",
"description": "WebRender ANGLE",
"status": "unavailable",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "env",
"status": "unavailable",
"message": "OS not supported"
}
]
},
{
"name": "WEBRENDER_DCOMP_PRESENT",
"description": "WebRender DirectComposition",
"status": "unavailable",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "user",
"status": "disabled",
"message": "User disabled via pref"
},
{
"type": "env",
"status": "unavailable",
"message": "Requires Windows 10 or later"
},
{
"type": "runtime",
"status": "unavailable",
"message": "Requires ANGLE"
}
]
},
{
"name": "WEBRENDER_SOFTWARE",
"description": "WebRender software fallback",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBGPU",
"description": "WebGPU",
"status": "blocked",
"log": [
{
"type": "default",
"status": "disabled",
"message": "Disabled by default"
},
{
"type": "runtime",
"status": "blocked",
"message": "WebGPU cannot be enabled in release or beta"
}
]
},
{
"name": "X11_EGL",
"description": "X11 EGL",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "DMABUF",
"description": "DMABUF",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "VAAPI",
"description": "VA-API video decoding",
"status": "disabled",
"log": [
{
"type": "default",
"status": "disabled",
"message": "VAAPI is disabled by default"
}
]
},
{
"name": "VP8_HW_DECODE",
"description": "VP8 hardware decoding",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "VP9_HW_DECODE",
"description": "VP9 hardware decoding",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "DMABUF_SURFACE_EXPORT",
"description": "WebGL DMABuf surface export",
"status": "blocked",
"log": [
{
"type": "default",
"status": "blocked",
"message": "Blocklisted by gfxInfo"
}
]
}
],
"fallbacks": []
},
"crashGuards": []
},
"experimentalFeatures": [
[
"experimental-features-abouthome-startup-cache",
"browser.startup.homepage.abouthome_cache.enabled",
false
],
[
"experimental-features-cookie-samesite-lax-by-default2",
"network.cookie.sameSite.laxByDefault",
false
],
[
"experimental-features-cookie-samesite-none-requires-secure2",
"network.cookie.sameSite.noneRequiresSecure",
false
],
[
"experimental-features-cookie-samesite-schemeful",
"network.cookie.sameSite.schemeful",
false
],
[
"experimental-features-css-masonry2",
"layout.css.grid-template-masonry-value.enabled",
false
],
[
"experimental-features-devtools-compatibility-panel",
"devtools.inspector.compatibility.enabled",
true
],
[
"experimental-features-devtools-serviceworker-debugger-support",
"devtools.debugger.features.windowless-service-workers",
false
],
[
"experimental-features-media-jxl",
"image.jxl.enabled",
false
],
[
"experimental-features-text-recognition",
"dom.text-recognition.enabled",
false
],
[
"experimental-features-ime-search",
"browser.urlbar.keepPanelOpenDuringImeComposition",
false
],
[
"experimental-features-web-gpu2",
"dom.webgpu.enabled",
false
],
[
"experimental-features-webrtc-global-mute-toggles",
"privacy.webrtc.globalMuteToggles",
false
]
],
"addons": [
{
"name": "Add-ons Search Detection",
"type": "extension",
"version": "2.0.0",
"isActive": true,
"id": "addons-search-detection@mozilla.com"
},
{
"name": "Amazon.com",
"type": "extension",
"version": "1.3",
"isActive": true,
"id": "amazondotcom@search.mozilla.org"
},
{
"name": "Bing",
"type": "extension",
"version": "1.3",
"isActive": true,
"id": "bing@search.mozilla.org"
},
{
"name": "DuckDuckGo",
"type": "extension",
"version": "1.1",
"isActive": true,
"id": "ddg@search.mozilla.org"
},
{
"name": "Google",
"type": "extension",
"version": "1.2",
"isActive": true,
"id": "google@search.mozilla.org"
},
{
"name": "MetaMask",
"type": "extension",
"version": "10.18.3",
"isActive": true,
"id": "webextension@metamask.io"
},
{
"name": "uBlock Origin",
"type": "extension",
"version": "1.44.0",
"isActive": true,
"id": "uBlock0@raymondhill.net"
},
{
"name": "Wikipedia (en)",
"type": "extension",
"version": "1.1",
"isActive": true,
"id": "wikipedia@search.mozilla.org"
},
{
"name": "English (CA) Language Pack",
"type": "locale",
"version": "103.0buildid20220718.155818",
"isActive": true,
"id": "langpack-en-CA@firefox.mozilla.org"
},
{
"name": "English (GB) Language Pack",
"type": "locale",
"version": "103.0buildid20220718.155818",
"isActive": true,
"id": "langpack-en-GB@firefox.mozilla.org"
}
],
"features": [
{
"name": "DoH Roll-Out",
"version": "2.0.0",
"id": "doh-rollout@mozilla.org"
},
{
"name": "Firefox Screenshots",
"version": "39.0.1",
"id": "screenshots@mozilla.org"
},
{
"name": "Form Autofill",
"version": "1.0.1",
"id": "formautofill@mozilla.org"
},
{
"name": "Picture-In-Picture",
"version": "1.0.0",
"id": "pictureinpicture@mozilla.org"
},
{
"name": "Web Compatibility Interventions",
"version": "103.0.0",
"id": "webcompat@mozilla.org"
},
{
"name": "WebCompat Reporter",
"version": "1.5.0",
"id": "webcompat-reporter@mozilla.org"
}
],
"normandy": {
"addonStudies": [],
"prefRollouts": [
{
"slug": "bug-1766618-rollout-disable-websocket-over-http2-release-91-100",
"state": "active",
"preferences": [
{
"preferenceName": "network.http.http2.websockets",
"value": false,
"previousValue": false
},
{
"preferenceName": "network.http.spdy.websockets",
"value": false,
"previousValue": null
}
],
"enrollmentId": "1635ae25-5103-4d5b-b781-18b6096ee57e"
}
],
"prefStudies": [],
"nimbusExperiments": [
{
"slug": "task-continuity-sync-after-tab-change-rollout-40",
"branch": {
"slug": "sync-after-tab",
"ratio": 1,
"feature": {
"value": {},
"enabled": false,
"featureId": "this-is-included-for-desktop-pre-95-support"
},
"features": [
{
"value": {
"syncDelayAfterTabChange": 5000
},
"enabled": true,
"featureId": "syncAfterTabChange"
}
]
},
"active": true,
"enrollmentId": "f3c66952-b5a3-475b-9f1b-dd9215f90d79",
"experimentType": "nimbus",
"source": "rs-loader",
"userFacingName": "Task Continuity - Sync after tab change Rollout 40%",
"userFacingDescription": "Increase frequency of syncing after tab changes",
"lastSeen": "2022-07-14T14:37:07.890Z",
"featureIds": [
"syncAfterTabChange"
],
"isRollout": false
},
{
"slug": "tcp-rollout-phase-iii-tcp-on-by-default-for-50-existing-release-profiles",
"branch": {
"slug": "control",
"ratio": 1,
"feature": {
"value": {},
"enabled": false,
"featureId": "this-is-included-for-desktop-pre-95-support"
},
"features": [
{
"value": {
"enabled": true
},
"enabled": true,
"featureId": "tcpByDefault"
}
]
},
"active": true,
"enrollmentId": "1713941c-5472-42e8-b211-583d208b450b",
"experimentType": "nimbus",
"source": "rs-loader",
"userFacingName": "TCP rollout, Phase III (TCP on by default for 50% EXISTING Release profiles)",
"userFacingDescription": ""By default" rollout: Gradually turning on Total Cookie Protection in standard browsing by default for EXISTING user profiles",
"lastSeen": "2022-07-14T14:37:07.917Z",
"featureIds": [
"tcpByDefault"
]
}
],
"nimbusRollouts": []
}
}

Flags: needinfo?(james.hildebrand1) → needinfo?(padenot)

Alastor, this looks like an audio-only under-run: there is no compressed audio left, we run out first in the media queue then in the audiosink ring buffer.

In the profiles above, the media time for audio and video are a few seconds apart, how could we explain this? See this region for example: https://share.firefox.dev/3VZiB0c

There are suspiciously long networks requests as well, probably the cause of the problem, but we should recover properly.

I think I'll add MediaSource to the media profiler preset to have info on buffered ranges, see if the website fails to append to the MediaSource (because of a lack of data or a bug).

Flags: needinfo?(padenot) → needinfo?(alwu)

I assume that the profiled result you linked above is from the one in the comment 17?

Before reaching that empty part where we stops decoding audio (~10s to ~13s), the last audio we received is [471615999, 471637332] and the video frame we were playing at that moment is [469266000, 469283000]. First what I would guess is that MDSM thinks decoded audio is enough, so we stopped decoding audio. However, if this is the case, audio decoding should be resumed later when we started consuming audio data, but it didn't.

Then I looked at the marker InsertFrame to see if we have raw data or not. I see website appended audio [471615999, 471637333] in 8.849s, but they stopped appending more new data, the next time they appended data is in 13.106s for audio [471637333 , 471658666], which well explains why we have the gap due to lacking of audio data.

So the problem here is "Why Twitch stopped appending more audio data?" Is there any thing wrong on media element's status, or MSE status, or any incorrect event dispatched resulting in that? Or simply just a Twitch internal issue?

Flags: needinfo?(alwu)

I've reported this to Twitch to see if they can help us clarify the questions.

Hello, could any of y'all help me check if this issue still happens on the latest Nightly?

If so, would you mind to provide following information?

  • The "Play Session Id" (This can be found in player the settings menu -> Advanced -> Video stats)
  • The channels where this issue happens
  • The quality of video
  • Whether or not the user has a Twitch adblocker

The last point is something Twitch folk told me especially, they said there are many adblockers which would override their JS player code and cause bad behavior.

Thank you so much.

Flags: needinfo?(matheus.bg960)
Flags: needinfo?(james.hildebrand1)
Flags: needinfo?(alastair-h)

I will see what I can do over the next week or so. However the issue has admittedly stopped being as common over the last few releases but it still does happen (particularly when switching tabs after being off the video play tab for a while) on occasion on longer streams.

To answer the last question at least, yes I run uBlock Origin on my main FF install (now 106.0.3) but the Nightly 105 captures were just the basic installs and a clean profile. The other thing is that even with the ad blocker, I am and still are subscribed to the channels I was having this problem on so I'd hope anything ad related wouldn't be affecting it, but who knows.

I was beginning to think this wasn't going to happen again but the pause/restart stuff happened on a stream I'm watching just now:

Play Session Id: f6da184ab59c96cd67f3fce06f65a204
Channel: twitch.tv/ashens (approx 2hr 40min into it)
Video: 1280x720/60fps (source)
Yes to the ad block.

Flags: needinfo?(alastair-h)

This session I've just started watching is a bit of a mess. Even after a refresh the video was stuttering and reloading ending up with the whole thing just showing the spinning loading animation causing a pause/stop/start.

I managed to capture two Profiler sessions as well surprisingly.

Channel: twitch.tv/northenlion
Video: 1920x1080 (source)

Play session Id 1: be62b85e8eeb0592be7e46c59329e2ed
Profile Capture 1: https://share.firefox.dev/3hHvAUC

Play session id 2: 48cc9674b92a72da41843b6ae4845e29
Profile Capture 2: https://share.firefox.dev/3OcPPpx

The profile 1 actually looks good, only a few frames dropped in the end. But the weird thing is that, the audio stream was paused around 34.5s and then got resumed around 37.3s. So in this period of time, the playback was stopped. Did you pause the playback by yourself? or that is because the video was spinning and loading?

Also, for the profile 1, by checking the compositor thread in GPU process, I can see we rendered frames smoothly without dropping any frame. The decoding speed was also pretty fast.


Paul, I wonder if you have any thought about these profiles? Thanks!

Flags: needinfo?(padenot)
Flags: needinfo?(alastair-h)

Also NI sotaro to see if he knows anything from gfx side which could cause video stuttering.

Flags: needinfo?(sotaro.ikeda.g)

(In reply to Alastor Wu [:alwu] from comment #26)

The profile 1 actually looks good, only a few frames dropped in the end. But the weird thing is that, the audio stream was paused around 34.5s and then got resumed around 37.3s. So in this period of time, the playback was stopped. Did you pause the playback by yourself? or that is because the video was spinning and loading?

Also, for the profile 1, by checking the compositor thread in GPU process, I can see we rendered frames smoothly without dropping any frame. The decoding speed was also pretty fast.


Paul, I wonder if you have any thought about these profiles? Thanks!

It was because the video was loading. I joined the stream about 5 mins or so into it starting and the video was stuttering a little to begin with but these days in those rare cases that's normally resolved by pausing/playing again. This time it continued even after that and after short periods the whole video would stop and just sit there trying to load. The Profile 1 capture is after I think it was the 3rd attempt to start/stop the video and get it to load, I figured that I'd try and capture a profile output for it, thankfully it worked.

The second profile was after a complete F5 page reload for the stream rather than just a pause/play.

Happened in NLs stream again,

The tab had been running in the background (i.e not the active tab) without issue while I was doing other things for about an hour. Then when I switched back to watching that tab it started stuttering and reloading. The final part of the profile is where I ended up pausing/playing again as it looked the stream had crashed and it's been fine so far after that.

Channel: twitch.tv/northenlion
Video: 1920x1080 (source)

https://share.firefox.dev/3OjzSOw

Flags: needinfo?(alastair-h)

Play session ID: 174a253f420a3e28a182ce7677425a47

Another case where the video/audio was cutting out. Similar issue to the above where it was playing fine until I clicked on the window again and then everything stopped.

Channel: twitch.tv/ashens
Video: 1280x720(source)
Play Session: e33a0ac4add0e71cc7e60080f153c172
Profile: https://share.firefox.dev/3ULbfMl

It's not just twitch, the same thing happens with youtube videos.

Redirect a needinfo that is pending on an inactive user to the triage owner.
:jimm, since the bug has high severity and recent activity, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(james.hildebrand1) → needinfo?(jmathies)
Severity: S2 → S3
Flags: needinfo?(jmathies)

Clear a needinfo that is pending on an inactive user.

Inactive users most likely will not respond; if the missing information is essential and cannot be collected another way, the bug maybe should be closed as INCOMPLETE.

For more information, please visit BugBot documentation.

Flags: needinfo?(matheus.bg960)
Status: UNCONFIRMED → RESOLVED
Closed: 5 months ago
Flags: needinfo?(sotaro.ikeda.g)
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Ever confirmed: true
Resolution: INCOMPLETE → ---
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: