Issue metadata
Sign in to add a comment
|
When playback video in background for a while and switch back, videos lags and even freezes (Optimize background video playback disabled)
Reported by
human.p...@gmail.com,
Aug 5 2017
|
||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.31 Safari/537.36 Example URL: https://www.twitch.tv/dota2ti Steps to reproduce the problem: I can reliably reproduce it on *my computer* with a new profile, at least. 1. Disable "Optimize background video playback" in chrome://flags 2. Open any channel on Twitter, preferably 1080p60 ones (e.g. https://www.twitch.tv/dota2ti) 3. Watch video any check everything is fine. Put the video tab in the background, and then put Chrome application on the background too. 4. Switch to other programs and wait for a few minutes. The audio of the stream is totally working during the whole time. 5. Switch back to Chrome and the video-playing tab. What is the expected behavior? The video should be instantly playing without any delay, since "Optimize background video playback" is disabled. What went wrong? Video lags, stutters, and sometimes totally freezes (together with the audio). You have to refresh the webpage to make it work again. Did this work before? Yes Can't remember Is it a problem with Flash or HTML5? HTML5 Does this work in other browsers? Yes Chrome version: 61.0.3163.31 Channel: beta OS Version: 6.1 (Windows 7, Windows Server 2008 R2) Flash Version: Shockwave Flash 26.0 r0 Contents of chrome://gpu: Note: To properly save this page, select the "Webpage, Complete" option in the Save File dialog. Graphics Feature Status Canvas: Hardware accelerated CheckerImaging: Disabled Flash: Hardware accelerated Flash Stage3D: Hardware accelerated Flash Stage3D Baseline profile: Hardware accelerated Compositing: Hardware accelerated Multiple Raster Threads: Enabled Native GpuMemoryBuffers: Software only. Hardware acceleration disabled Rasterization: Hardware accelerated Video Decode: Hardware accelerated Video Encode: Hardware accelerated WebGL: Hardware accelerated WebGL2: Hardware accelerated Driver Bug Workarounds clear_uniforms_before_first_program_use decode_encode_srgb_for_generatemipmap disable_accelerated_vpx_decode disable_delayed_copy_nv12 disable_direct_composition disable_discard_framebuffer disable_dxgi_zero_copy_video disable_framebuffer_cmaa exit_on_context_lost force_cube_complete scalarize_vec_and_mat_constructor_args texsubimage_faster_than_teximage Problems Detected Some drivers are unable to reset the D3D device in the GPU process sandbox Applied Workarounds: exit_on_context_lost TexSubImage is faster for full uploads on ANGLE Applied Workarounds: texsubimage_faster_than_teximage Clear uniforms before first program use on all platforms: 124764, 349137 Applied Workarounds: clear_uniforms_before_first_program_use Always rewrite vec/mat constructors to be consistent: 398694 Applied Workarounds: scalarize_vec_and_mat_constructor_args ANGLE crash on glReadPixels from incomplete cube map texture: 518889 Applied Workarounds: force_cube_complete Framebuffer discarding can hurt performance on non-tilers: 570897 Applied Workarounds: disable_discard_framebuffer Direct composition flashes black initially on Win <10: 588588 Applied Workarounds: disable_direct_composition Zero copy DXGI video hangs on shutdown on Win < 8.1: 621190 Applied Workarounds: disable_dxgi_zero_copy_video Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198 Applied Workarounds: disable_framebuffer_cmaa Zero-copy NV12 video displays incorrect colors on NVIDIA drivers.: 635319 Applied Workarounds: disable_dxgi_zero_copy_video Disable KHR_blend_equation_advanced until cc shaders are updated: 661715 Decode and Encode before generateMipmap for srgb format textures on Windows: 634519 Applied Workarounds: decode_encode_srgb_for_generatemipmap VPx decoding isn't supported well before Windows 10 creators update.: 616318, 667532 Applied Workarounds: disable_accelerated_vpx_decode Delayed copy NV12 displays incorrect colors on NVIDIA drivers.: 728670 Applied Workarounds: disable_delayed_copy_nv12 Native GpuMemoryBuffers have been disabled, either via about:flags or command line. Disabled Features: native_gpu_memory_buffers Checker-imaging has been disabled via finch trial or the command line. Disabled Features: checker_imaging Version Information Data exported 8/4/2017, 11:24:01 PM Chrome version Chrome/61.0.3163.31 Operating system Windows NT 6.1.7601 SP1 Software rendering list version 13.10 Driver bug list version 10.21 ANGLE commit id 0d2ecb4ea992 2D graphics backend Skia/61 218b516e7b2248bae53132b97822702dac4c8abc- Command Line "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --flag-switches-begin --disable-smooth-scrolling --disable-features=BackgroundVideoTrackOptimization --flag-switches-end Driver Information Initialization time 26 In-process GPU false Passthrough Command Decoder false Supports overlays false Sandboxed false GPU0 VENDOR = 0x10de, DEVICE= 0x11c0 *ACTIVE* GPU1 VENDOR = 0x8086, DEVICE= 0x0412 Optimus false Optimus false AMD switchable false Desktop compositing Aero Glass Diagonal Monitor Size of \\.\DISPLAY1 23.0" Driver vendor NVIDIA Driver version 22.21.13.8253 Driver date 6-7-2017 Pixel shader version 5.0 Vertex shader version 5.0 Max. MSAA samples 8 Machine model name Machine model version GL_VENDOR Google Inc. GL_RENDERER ANGLE (NVIDIA GeForce GTX 660 Direct3D11 vs_5_0 ps_5_0) GL_VERSION OpenGL ES 3.0 (ANGLE 2.1.0.0d2ecb4ea992) GL_EXTENSIONS GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_robust_resource_initialization 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_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_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_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent Window system binding vendor Google Inc. (adapter LUID: 000000000000aeb4) Window system binding version 1.4 (ANGLE 2.1.0.0d2ecb4ea992) Window system binding 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_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_flexible_surface_compatibility EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control Direct rendering Yes Reset notification strategy 0x8252 GPU process crash count 0 Compositor Information Tile Update Mode One-copy Partial Raster Enabled GpuMemoryBuffers Status ATC Software only ATCIA Software only DXT1 Software only DXT5 Software only ETC1 Software only R_8 Software only R_16 Software only RG_88 Software only BGR_565 Software only RGBA_4444 Software only RGBX_8888 Software only RGBA_8888 Software only BGRX_8888 Software only BGRA_8888 Software only RGBA_F16 Software only YVU_420 Software only YUV_420_BIPLANAR Software only UYVY_422 Software only Diagnostics ... loading ... Log Messages [4512:6960:0804/182624.538:WARNING:angle_platform_impl.cc(41)] : rx::HLSLCompiler::compileToBinary(224): C:\fakepath(69,10-34): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them C:\fakepath(91,10-34): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them [4512:10324:0804/194404.162:ERROR:gles2_cmd_decoder.cc(17777)] : [.DisplayCompositor-00000000118AA170]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name [4512:10324:0804/194404.162:ERROR:gles2_cmd_decoder.cc(17777)] : [.DisplayCompositor-00000000118AA170]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name [4512:10324:0804/194404.162:ERROR:gles2_cmd_decoder.cc(9787)] : [.DisplayCompositor-00000000118AA170]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [4512:10324:0804/194404.163:ERROR:gles2_cmd_decoder.cc(9787)] : [.DisplayCompositor-00000000118AA170]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [4512:10324:0804/211642.417:ERROR:gles2_cmd_decoder.cc(9781)] : [.Offscreen-For-WebGL-000000000554BCC0]RENDER WARNING: there is no texture bound to the unit 0 [4512:10324:0804/211642.417:ERROR:gles2_cmd_decoder.cc(9781)] : [.Offscreen-For-WebGL-000000000554BCC0]RENDER WARNING: there is no texture bound to the unit 0 [4512:9760:0804/211714.119:WARNING:angle_platform_impl.cc(41)] : rx::HLSLCompiler::compileToBinary(224): C:\fakepath(97,32-88): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them [4512:9616:0804/211714.129:WARNING:angle_platform_impl.cc(41)] : rx::HLSLCompiler::compileToBinary(224): C:\fakepath(208,32-88): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them C:\fakepath(209,32-88): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them [4512:12332:0804/211715.614:WARNING:angle_platform_impl.cc(41)] : rx::HLSLCompiler::compileToBinary(224): C:\fakepath(98,32-88): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them [4512:9616:0804/211715.628:WARNING:angle_platform_impl.cc(41)] : rx::HLSLCompiler::compileToBinary(224): C:\fakepath(256,32-88): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them C:\fakepath(257,32-88): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them [4512:12332:0804/211716.923:WARNING:angle_platform_impl.cc(41)] : rx::HLSLCompiler::compileToBinary(224): C:\fakepath(129,2-41): warning X4121: gradient-based operations must be moved out of flow control to prevent divergence. Performance may improve by using a non-gradient operation C:\fakepath(120,2-41): warning X4121: gradient-based operations must be moved out of flow control to prevent divergence. Performance may improve by using a non-gradient operation [4512:10324:0804/221716.815:ERROR:gles2_cmd_decoder.cc(17777)] : [.DisplayCompositor-000000001AA37220]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name [4512:10324:0804/221716.815:ERROR:gles2_cmd_decoder.cc(9787)] : [.DisplayCompositor-000000001AA37220]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. GpuProcessHostUIShim: The GPU process exited normally. Everything is okay. It happens to at least YouTube and Twitch, but on Twitch is worse. I often get lags on YouTube, bug on Twitch it constantly freezes. To make it more clear, I made a video to showcase the problem (with captions): https://www.youtube.com/watch?v=k3jv-2wjC1k
,
Aug 7 2017
Setting appropriate labels so we either disable or fix this before release.
,
Aug 7 2017
Seems to be working fine on Linux, so maybe something specific with Windows hardware decoder. human.peng@ can you try disabling accelerated video decode in chrome://flags and see if that helps you? I'll work on reproducing on Windows now.
,
Aug 7 2017
Hmm, doesn't repro for me on Windows either. +gpu folk in case the error messages in the log are responsible for these errors.
,
Aug 7 2017
Did you at least see some delay, lagging, or fast-forwarding effect when switching back? While i can constantly reproduce it on my Win 7 Desktop, it's much better on my Win 10 laptop: still have weird video fast-forwarding or pause problem when switching back, but totally freezing is rare.
,
Aug 7 2017
The about:gpu messages seem unrelated - they'll happen occasionally even without video at all.
,
Aug 7 2017
There's some fast-forwarding, but for me it only lasts a ~hundred milliseconds or so which about what we expect. How long would you estimate you see it lagging / fast forwarding for?
,
Aug 7 2017
I sometimes can have fast-forwarding or pause effect lasting for 2 sec+ on my laptop (tested just now). Regardless, I will test my desktop (which will freeze) with the flag mentioned before disabled later today and focus on that, since that is the core problem I have. Also, per comment #1 does it mean there is no way to disable "Optimize background video playback" for MSE video/stream any more? Because even if it's just a few hundred ms, it is still quite annoying if you're switching back and forth frequently, not to mention the fast-forwarding effect is unpleasant (compared to just pause).
,
Aug 7 2017
2 sec is much higher than expected. Did you test with that twitch stream in your original link on 1080p60? What are the specs on your laptop? Yes, we turned off the ability to disable this for MSE since test results since experiment showed little to no difference in time to return to a valid frame; 2 seconds is way beyond the expected time to return though. Fast-forwarding is an artifact of how twitch is serving their stream, but we can definitely do better. I'll put a fix so that it just freezes on the last frame until ready instead of fast-forwarding.
,
Aug 8 2017
Just did a few more tests. Disabling "Hardware-accelerated video decode" seems to fix it on my desktop. Actually, with this flag disabled, there is virtually no delay of video *at all* when I switch back. My laptop is with Intel Core i7-7500U Processor + 12GB RAM + 256 SSD (it has a GeForce 940MX too, but it doesn't get used by browsers).
,
Aug 8 2017
OK after more testing, I'm confident to say "Optimize background video playback" still plays a role despite what you said (it can't be disabled for MSE) at least for Twitch. Here is some brief results: "Optimize background video playback" disabled + "Hardware-accelerated video decode" disabled: As I mentioned in last comment, it makes that there is no delay or whatnot AT ALL no matter I'm switching from another tab, or from another program. "Optimize background video playback" disabled + "Hardware-accelerated video decode" enabled: My original problem. There is no video delay when I switch back from other *tabs*, but if I put the whole Chrome on background for too long time, the video freezes or have long (>2s) pause when I switch back. "Optimize background video playback" enabled + "Hardware-accelerated video decode" disabled: It will have delay ANYTIME I switched back from other *tabs*, even when I just switched there for 1 sec. But, the delay is short (a few hundred ms as you said), and never freezes. And, switching from other program doesn't have any effect (i.e. no delay if the video is in the foreground tab). "Optimize background video playback" enabled + "Hardware-accelerated video decode" enabled: Basically same to the previous one, just slightly worse. Sometimes there is some weird "shaking" problem when recovering the video. Doesn't seem to freeze, either. Again, switching from other program doesn't seem to have effect.
,
Aug 8 2017
When you were reproducing, did you actually disable "Optimize background video playback"? Because it does make difference (see above) here. >Did you test with that twitch stream in your original link on 1080p60 Yes.
,
Aug 8 2017
Thanks for the tests, the optimize flag will only affect non-twitch/YT playbacks right now; it's disconnected from MSE playbacks like Twitch/YT use. You might try checking if there are video driver updates for your graphics cards; it seems like there are some issues with the hardware decoding pipeline if the software one is working better.
,
Aug 8 2017
>Thanks for the tests, the optimize flag will only affect non-twitch/YT playbacks right now; it's disconnected from MSE playbacks like Twitch/YT use. As I mentioned in comment 12, my test shows otherwise: when the flag is default/enabled (has "optimization"), every time I switch to another tab and switch back, there is a small delay or fast-forwarding to recover the video. When the flag is disabled (no "optimization"), there is no such delay at all when switching from another tab. Also, the resource usage (CPU) supports my observation: When "Optimize background video playback" is disabled, switching to another tab will NOT reduce CPU usage (stay at ~20%); When "Optimize background video playback" is enabled, switching to another tab WILL reduce CPU usage (to ~10%). So, this flag is NOT disconnected from MSE playbacks like Twitch/YT: it still has effect to it. I also tested with newest canary: 62.0.3178.0 (Official Build) canary (64-bit) (cohort: Clang-64) All the testing is with that channel: https://www.twitch.tv/dota2ti (1080p60), software decoding (hardware video decoding flag disabled). If you don't believe me, I can record another video. Before we go any further, we need to reach consensus about this flag. You tell me it won't affect Twitch at all, but it does here.
,
Aug 8 2017
Video to support my observation: https://www.youtube.com/watch?v=pQBV9o0Je08
,
Aug 8 2017
Ah, you're right it looks like it was only disconnected from setting the value, but still controls if the feature is enabled or not: https://cs.chromium.org/chromium/src/media/blink/webmediaplayer_impl.cc?l=131 Sorry for my confusion.
,
Aug 9 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a75a7894ee30bee8676c4f2db0fc171c7d5b5948 commit a75a7894ee30bee8676c4f2db0fc171c7d5b5948 Author: Dale Curtis <dalecurtis@chromium.org> Date: Wed Aug 09 20:21:51 2017 Only optimize background video after a timeout. After some further testing, I concur that it's super annoying for background tab optimizations to kick in and out if you happen to be moving between tabs relatively frequently. Say for watching a live stream, it may take a second or so to resume even though you just left that tab. As such, impose a 10s delay before background "disable track" optimizations. Pause optimizations are left in place since pause w/o suspend is expected to be very low cost for resume. Additionally if we add this deferred timeout we eliminate part of the reason we didn't ship this feature for src=. It's not possible to trigger track changes fast enough that we will lose av sync. Unfortunately src= track changes still work by returning the next keyframe, which may be up to 5s ahead which is too far, so we still can't enable until http://crbug.com/709302 is fixed. BUG=678663,752726 TEST=manually verify that bg opts don't occur until after 10s. Change-Id: I8cc4b81bbc91bd9a1f0777dd137d9c2940325e86 Reviewed-on: https://chromium-review.googlesource.com/607154 Commit-Queue: Dale Curtis <dalecurtis@chromium.org> Reviewed-by: Dan Sanders <sandersd@chromium.org> Cr-Commit-Position: refs/heads/master@{#493122} [modify] https://crrev.com/a75a7894ee30bee8676c4f2db0fc171c7d5b5948/media/blink/webmediaplayer_impl.cc [modify] https://crrev.com/a75a7894ee30bee8676c4f2db0fc171c7d5b5948/media/blink/webmediaplayer_impl.h
,
Aug 9 2017
[Bulk Edit] URGENT - PTAL. Your bug is labelled as M61 Stable ReleaseBlock, pls make sure to land the fix and get it merged into the release branch ASAP. Know that this issue shouldn't block the release? Remove the ReleaseBlock-Stable label. Thank you.
,
Aug 14 2017
dalecurtis@ can you please merge request of CL from comment#19 to M61(branch: 3163),so that we can pick the change to M61 beta refresh this week.
,
Aug 14 2017
human.peng@ can you try Chrome Canary and see what you think of the new behavior? You'll need to wait 10s for disable track to kick in now.
,
Aug 15 2017
[Bulk Edit] URGENT - PTAL. Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and get it merged into the release branch ASAP. Thank you! Know that this issue shouldn't block the release? Remove the ReleaseBlock-Stable label or move to M62.
,
Aug 18 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dcbb81a3ed5ff9bff681d3227bbb30e403239eea commit dcbb81a3ed5ff9bff681d3227bbb30e403239eea Author: Dale Curtis <dalecurtis@chromium.org> Date: Fri Aug 18 01:06:12 2017 Ensure delayed background optimize calls are actually cancelled. When delayed background optimization was added, the shown call did not properly cancel the outstanding disable call since it didn't call the full background state update function. BUG=752726 TEST=new unittest Change-Id: Ic1b7f4a49ebaf3192c6de0fcd67f35414ed70ed8 Reviewed-on: https://chromium-review.googlesource.com/619615 Reviewed-by: Dan Sanders <sandersd@chromium.org> Commit-Queue: Dale Curtis <dalecurtis@chromium.org> Cr-Commit-Position: refs/heads/master@{#495410} [modify] https://crrev.com/dcbb81a3ed5ff9bff681d3227bbb30e403239eea/media/blink/webmediaplayer_impl.cc [modify] https://crrev.com/dcbb81a3ed5ff9bff681d3227bbb30e403239eea/media/blink/webmediaplayer_impl_unittest.cc
,
Aug 21 2017
[Bulk Edit] URGENT - PTAL. M61 Stable promotion is coming soon and your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and get it merged into the release branch ASAP. Know that this issue shouldn't block the release? Remove the ReleaseBlock-Stable label or move to M62. Thank you! Note: We will only have 2 beta releases before Stable promotion. Plan is to cut M61 Stable RC on 08/31/17.
,
Aug 21 2017
There are a few too many issues here, so let's go ahead and revert df848adb8eb6bf9be13ed82e1b2156b8ae93615a from the M61 branch and try again for M62. Merge-Request-61 to disable this feature for M61.
,
Aug 21 2017
This bug requires manual review: M61 has already been promoted to the beta branch, so this requires manual review Please contact the milestone owner if you have questions. Owners: amineer@(Android), cmasso@(iOS), ketakid@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Aug 21 2017
Thank you dalecurtis@. Will this be a (df848adb8eb6bf9be13ed82e1b2156b8ae93615a) safe revert from the M61 branch?
,
Aug 21 2017
Yes, it just disable the feature again.
,
Aug 21 2017
Approving merge to M61 branch 3163 based on comment #29. Please merge ASAP. Thank you.
,
Aug 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/98a3688d7f731de09493cd37d57b51612dae8f22 commit 98a3688d7f731de09493cd37d57b51612dae8f22 Author: Dale Curtis <dalecurtis@chromium.org> Date: Mon Aug 21 20:49:18 2017 Revert "Enable background video track optimization for MSE content." This reverts commit df848adb8eb6bf9be13ed82e1b2156b8ae93615a for the M61 branch due to bugs. BUG=752726 TEST=none TBR=tguilbert Change-Id: I200d16cdbbe982b2723f066414cfb5f64159fd77 Reviewed-on: https://chromium-review.googlesource.com/624663 Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Cr-Commit-Position: refs/branch-heads/3163@{#712} Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528} [modify] https://crrev.com/98a3688d7f731de09493cd37d57b51612dae8f22/content/renderer/media/media_factory.cc [modify] https://crrev.com/98a3688d7f731de09493cd37d57b51612dae8f22/media/base/media_switches.cc
,
Aug 21 2017
Disabled for M61, but should be fixed now in M62. @human.peng can you verify the fixed behavior? I've tried it on canary and the experience is much better.
,
Aug 21 2017
I didn't comment before because it seems to me your fix (Aug 9 one at least) is about adding more time before "Optimize background video playback" kicked in? But my original report is about video being totally freezing when switching back, WITHOUT even using "Optimize background video playback" option (also see Comment 12 for a comprehensive test results). If you think your patch(es) will help in that regard, sure I'm more than happy to do another batch of tests later.
,
Aug 21 2017
Only one of the patches delays the feature until the tab is in the background for a while. The rest should improve that experience, so it'd be helpful to see if they resolved your issues. The issues where the feature is not even enabled are interesting and may need more work, but should be helped by my changes too.
,
Aug 23 2017
Just did a quick test again with the repro in comment #1 with newest canary (call settings default, except "Optimize background video playback" disabled). The problem consists: once I switched from outside (other program) the video-playing Chrome, the video starts to lag and eventually stops for a few seconds. Good news is, now it will resume after those long pause (i.e. not totally freeze anymore), but still doesn't look like the intended behavior.
,
Aug 23 2017
Tested the issue on Windows-7 using chrome latest Beta M61-61.0.3163.59 by following steps mentioned in the original comment. Observed that video lags & stuck and playing with delay.Please find the screen cast for reference. Steps Followed: -------------- 1.Install chrome and disable "Optimize background video playback" flag in chrome://flags. 2.Navigate to provided URL: https://www.twitch.tv/dota2ti and video played. 3.Switch to other programs and wait for a few minutes. 4.Back to video. @ dalecurtis: Could you please let me know if i have missed anything and if possible,Please provide the missing steps of the issue which would help us to verify the issue further. Thanks in Advance! Thank you!
,
Aug 23 2017
Thanks will take a closer look at the disabled-bg optimize case and see if we need to do anything for M61.
,
Aug 24 2017
human.peng: Was this on Windows 7 or Windows 10? I don't see any issues on Windows 10 with this feature disabled and putting things in the background.
,
Aug 24 2017
@rbasuvula: Can you retest using Chrome M60 on Windows 7? I'd like to see if this is a regression or not. If it's not we can remove the ReleaseBlock M-61 label. I don't have a Windows 7 test machine so I won't be able to test this for a couple days.
,
Aug 25 2017
As per above comment, rechecked this issue on chrome stable version# 60.0.3112.113 on Windows 7. Below are the observations 1) Navigated to chrome and disabled flag "Optimize background video playback" 2) Navigate to provided URL: https://www.twitch.tv/dota2ti and observed that Video is not played (a 404 error is displayed in console). Screen shot attached. 3) Hence Navigated to another URL from the same website: https://www.twitch.tv/videos/166172514 4) Switched to other application or tabs and waited for few time (60 to 110 Seconds) 5) Re navigated back to the video On stable as well we are observing the delay or lag while playing the video. How ever did not observe any freeze. Please do let us know if any other details are required. Thanks.!
,
Aug 25 2017
Well dota2ti channel is not streaming any more. Please use any of the live channel here: https://www.twitch.tv/directory/all
,
Aug 25 2017
@ranjitkan, can you confirm you are seeing the same issues as the video in c#36? I'm not clear on what you mean by seeing delay and lag but not temporary freezing since those are the same to me :) In any case it seems like this is not a new issue unfortunately, so we can drop the RBS label. I'm working on getting a Windows 7 machine to dig into this more. You might try closing the chat window on left hand screen to see if things improve. Since it may be contending for video resources due to the way MSE works.
,
Aug 25 2017
,
Aug 31 2017
liberato@ is looking into the Windows 7 issues. Seems we may have larger h264 decoder issues there.
,
Sep 1 2017
@human.peng: does the video play smoothly while you're watching it, or do you see video frames that seem to be out of order sometimes? on my win7 laptop, with hw decoding enabled on twitch/dota, i see some of out of order frames. i.e., what should be smooth motion has some discontinuities in it. turning off hw decoding seems to fix it.
,
Sep 1 2017
I don't seem to find obvious frame skipping phenomenon when watching. According to the “video stats” provided by Twitch, frame skipping does happen from time to time; but since it is 60fps, it is not noticeable here.
,
Sep 1 2017
it's likely that my laptop is having an entirely different issue. dale mentioned that out-of-order timestamps could result in the freezing that you're seeing, which is why i thought that they might be related. i don't see any out of order frames coming out of the decoder, or later in the pipeline locally. so, my issue might be related to displaying the wrong image for the right video frame. i.e., it could be a GL fence issue or something. yours seems to be higher in the pipeline. i'll try to repro it more exactly.
,
Sep 1 2017
i've managed to get it to freeze once or twice. what i've noticed is that, while it's in the background, the difference between the frame deadline (VideoRendererAlgorithm::Render) and the only queued VideoFrame keeps getting bigger, up to > 1 second. this happens regardless of whether it freezes when it's brought back to the foreground. when the video is playing, that doesn't happen. it stays bounded at 1/10 sec or so. will keep looking.
,
Sep 1 2017
on my next attempt, i got it to freeze with more debugging enabled. the general sequence was: - VRA::Renderer reports a growing delta between current time and the queued frame. - At about ~1 second of difference, the decoder quits getting new bitstream buffers via Decode() - ~six picture buffers are re-used in the VDA after decoding stops. - VRA continues to report the delta growing in realtime. - when un-minimized, VideoLayerImpl starts rendering on vsync again, but it has no new frames.
,
Sep 6 2017
it seems that the 'source' quality stream is required to get either of the weird behaviors that i was seeing locally. on anything else (e.g. 720p60), the out-of-order frame issue is gone, and i can no longer repro the OP issue. with "source" quality, the underlying cause of the stalls was that the video decoder couldn't keep up with real-time playback. when chrome is put into the background, the audio would play perfectly but the (unseen) video would fall further and further behind it. when chrome is brought back to the foreground, playback would pause / stutter trying to catch up the video to the audio. however, for this to be the same problem, foreground video / audio playback would have to stall regularly. the difference is that, in foreground mode, chrome is willing to pause the audio to let the video catch up; the video decoder still can't keep up with real-time. based on c#46, it sounds like foreground playback is working fine. so, it seems like i don't have a repro case.
,
Aug 3
Is this still an issue? It's out of SLO for a P1 bug; which must be closed in 30 days. Please close as fixed or mark as P3.
,
Aug 6
|
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by dalecur...@chromium.org
, Aug 7 2017Owner: dalecur...@chromium.org
Status: Assigned (was: Unconfirmed)