Summary: | nested run loops under MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange can cause hang when timeout fires | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Cameron McCormack (:heycam) <heycam> | ||||||
Component: | Media | Assignee: | Cameron McCormack (:heycam) <heycam> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | eric.carlson, ews-watchlist, glenn, jer.noble, philipj, sergio, webkit-bug-importer | ||||||
Priority: | P2 | Keywords: | InRadar | ||||||
Version: | WebKit Local Build | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 230766 | ||||||||
Attachments: |
|
Description
Cameron McCormack (:heycam)
2021-11-03 21:24:34 PDT
(In reply to Cameron McCormack (:heycam) from comment #0) > I encountered this with my bug 232565 patch applied running > webgl/1.0.x/conformance/textures/misc/texture-corner-case-videos.html. bug 230766 rather Created attachment 443274 [details]
Patch
Tools/Scripts/svn-apply failed to apply attachment 443274 [details] to trunk.
Please resolve the conflicts and upload a new patch.
Created attachment 443353 [details]
Patch for landing
The patch conflicted with bug 232676, which made me realize it was wrong to be modifying m_waitForVideoOutputMediaDataWillChangeTimedOut inside the RunLoop::main() task, since in WebKitLegacy that's the UI thread, and the MediaPlayerPrivateAVFoundationObjC object is created on the web thread. So I've tweaked it to avoid that. Committed r285330 (243895@main): <https://commits.webkit.org/243895@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 443353 [details]. |