Bug 34034 - Race condition in video setup can force videos into software mode
Summary: Race condition in video setup can force videos into software mode
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Simon Fraser (smfr)
Keywords: InRadar
Depends on:
Reported: 2010-01-22 21:04 PST by Simon Fraser (smfr)
Modified: 2010-01-23 08:09 PST (History)
1 user (show)

See Also:

Patch (3.65 KB, patch)
2010-01-22 21:29 PST, Simon Fraser (smfr)
eric.carlson: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2010-01-22 21:04:47 PST
Sometimes video elements can go into software mode, if the the cursor happens to be over the video element around page load time.

The issue is that when the mouse is over the content area, we do an eager layout, which in turn updates compositing layers. RenderLayerCompositor::updateBacking() calls video->acceleratedRenderingStateChanged(), but before any data has loaded, so all the videos start in software mode. Once in softare mode, they don't get pushed into hardware mode later.
Comment 1 Simon Fraser (smfr) 2010-01-22 21:05:09 PST
Comment 2 Simon Fraser (smfr) 2010-01-22 21:29:26 PST
Created attachment 47264 [details]
Comment 3 Eric Carlson 2010-01-22 22:01:20 PST
Comment on attachment 47264 [details]

While not new to this patch, I think there is still have a problem if mediaPlayerGraphicsLayer() ever returns NULL. The rendering mode will be set to MediaRenderingMovieLayer, but the QTMovieLayer won't get attached until the rendering state changes.

Comment 4 Simon Fraser (smfr) 2010-01-22 22:02:41 PST
I filed bug 34036 to address that problem.
Comment 5 Simon Fraser (smfr) 2010-01-23 08:09:11 PST