Resizing a video causes a DCHECK() crash in SetDrawRectangle() in the direct composition overlay path |
|
Issue descriptionChrome Version: (M71) OS: (e.g. Win10) No corruption or any thing abnormal is observed. It can also continue playing the video if I just click the "Continue" button in the debugger. If this is a bug, it should be fixed. Otherwise, the DCHECK() should be updated. What steps will reproduce the problem? (1) Play any video in YouTube (2) Resize the video, or go to full screen mode and change back to window mode (3) In debug build of Chrome, it will crash in DCHECK( has_set_draw_rectangle_since_last_resize_ || (gfx::Rect(size_) == rect)); https://cs.chromium.org/chromium/src/components/viz/service/display_embedder/gl_output_surface.cc?type=cs&q=GLOutputSurface::SetDrawRectangle&g=0&l=72 Call stack: service.dll!viz::GLOutputSurface::SetDrawRectangle() Line 72 C++ service.dll!viz::DirectRenderer::UseRenderPass() Line 632 C++ service.dll!viz::DirectRenderer::DrawRenderPass() Line 492 C++ service.dll!viz::DirectRenderer::DrawRenderPassAndExecuteCopyRequests() Line 468 C++ service.dll!viz::DirectRenderer::DrawFrame() Line 341 C++ service.dll!viz::Display::DrawAndSwap() Line 378 C++ service.dll!viz::DisplayScheduler::DrawAndSwap() Line 212 C++ service.dll!viz::DisplayScheduler::AttemptDrawAndSwap() Line 489 C++ service.dll!viz::DisplayScheduler::OnBeginFrameDeadline() Line 506 C++
,
Sep 13
Do you know what condition causes the DCHECK to fail? Is it has_set_draw_rectangle_since_last_resize_, or gfx::Rect(size_) == rect?
,
Sep 13
It's caused by gfx::Rect(size_) == rect.
,
Sep 18
This happens in both overlay and underlay. |
|
►
Sign in to add a comment |
|
Comment 1 by magchen@chromium.org
, Sep 13