New issue
Advanced search Search tips

Issue 704710 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Stretched video at boundary of natural size change

Project Member Reported by chcunningham@chromium.org, Mar 23 2017

Issue description

When investigating  Issue 700955  I found that video that uses two natural sizes may show a stretched frame at the boundary of the transition. 

I've tracked this down to race (not 100% repro) between rendering the video and telling compositor about the new natural size. When the video renderer detects the change, it posts to the main thread to signal blink, which eventually signals the compositor. But the post is async and we may paint the frame (stretched) before the compositor hears of the change.

Debug logs (note the values for quad_rect and coded_size for the [STRETCHED] line vs those before/after):
video_layer_impl.cc(184)] AppendQuads ts: 2165000 quad_rect:0,0 1255x1255 opaque_rect:0,0 1255x1255 visible_rect:0,0 1280x1280 coded_size:1280x1280
video_layer_impl.cc(184)] AppendQuads ts: 2232000 quad_rect:0,0 1255x1255 opaque_rect:0,0 1255x1255 visible_rect:0,0 1280x1280 coded_size:1280x1280
video_layer_impl.cc(184)] AppendQuads ts: 2302000 quad_rect:0,0 1255x1255 opaque_rect:0,0 1255x1255 visible_rect:0,0 1280x1280 coded_size:1280x1280
video_layer_impl.cc(184)] AppendQuads ts: 2379000 quad_rect:0,0 1255x1255 opaque_rect:0,0 1255x1255 visible_rect:0,0 1280x1280 coded_size:1280x1280
pipeline_impl.cc(690)] OnVideoNaturalSizeChange Renderer noticed size change. Hopping to main thread now.
[STRETCHED] video_layer_impl.cc(184)] AppendQuads ts: 2454000 quad_rect:0,0 1255x1255 opaque_rect:0,0 1255x1255 visible_rect:0,0 1280x699 coded_size:1280x700
pipeline_impl.cc(1333)] OnVideoNaturalSizeChange PipelineImp letting blink know size:1280x699
webmediaplayer_impl.cc(1412)] OnVideoNaturalSizeChange size:1280x699
video_layer_impl.cc(184)] AppendQuads ts: 2454000 quad_rect:0,0 1255x685 opaque_rect:0,0 1255x685 visible_rect:0,0 1280x699 coded_size:1280x700
video_layer_impl.cc(184)] AppendQuads ts: 2529000 quad_rect:0,0 1255x685 opaque_rect:0,0 1255x685 visible_rect:0,0 1280x699 coded_size:1280x700
video_layer_impl.cc(184)] AppendQuads ts: 2604000 quad_rect:0,0 1255x685 opaque_rect:0,0 1255x685 visible_rect:0,0 1280x699 coded_size:1280x700
video_layer_impl.cc(184)] AppendQuads ts: 2677000 quad_rect:0,0 1255x685 opaque_rect:0,0 1255x685 visible_rect:0,0 1280x699 coded_size:1280x700
video_layer_impl.cc(184)] AppendQuads ts: 2823000 quad_rect:0,0 1255x685 opaque_rect:0,0 1255x685 visible_rect:0,0 1280x699 coded_size:1280x700
 
I think the reason we haven't noticed this before is we have historically not allowed natural size to change (once established). See discussion here:

https://bugs.chromium.org/p/chromium/issues/detail?id=700955#c51
> have historically not allowed natural size to change 

Caveat: just for src=. For MSE we do allow natural size to change, but the timing is quite different (new init segment with new configs, flush and re-init decoder)
Project Member

Comment 3 by sheriffbot@chromium.org, Mar 28 2018

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Status: WontFix (was: Untriaged)

Sign in to add a comment