Bug 173410

Summary: [GStreamer] fast/canvas/canvas-createPattern-video-loading.html is failing since r218170
Product: WebKit Reporter: Miguel Gomez <magomez>
Component: WebKitGTKAssignee: Philippe Normand <pnormand>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, calvaris, cgarcia, csaavedra, eric.carlson, ews-watchlist, glenn, gustavo, jer.noble, menard, Ms2ger, philipj, pnormand, sergio, vjaquez, yoon, zan
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 172427    
Attachments:
Description Flags
Patch none

Miguel Gomez
Reported 2017-06-15 04:56:58 PDT
fast/canvas/canvas-createPattern-video-loading.html [ Failure ]
Attachments
Patch (4.95 KB, patch)
2021-04-03 10:16 PDT, Philippe Normand
no flags
Ms2ger (he/him; ⌚ UTC+1/+2)
Comment 1 2017-08-10 05:28:03 PDT
The test fails because drawImageToCanvasAndCheckPixels only find transparent black on the canvas when called from the "playing" callback. The issue is that MediaPlayerPrivateGStreamerBase::m_sample is set to nullptr in the newly added flushCurrentBuffer() method, called in response to a GST_EVENT_FLUSH_START event. The paint() method then returns early because GST_IS_SAMPLE(m_sample.get()) is false, and the CanvasPattern ends up transparent black.
Claudio Saavedra
Comment 3 2018-02-02 06:49:29 PST
Ah, sorry. Different test. :/
Philippe Normand
Comment 4 2018-02-28 02:13:50 PST
(In reply to Ms2ger from comment #1) > The test fails because drawImageToCanvasAndCheckPixels only find transparent > black on the canvas when called from the "playing" callback. > > The issue is that MediaPlayerPrivateGStreamerBase::m_sample is set to > nullptr in the newly added flushCurrentBuffer() method, called in response > to a GST_EVENT_FLUSH_START event. The paint() method then returns early > because GST_IS_SAMPLE(m_sample.get()) is false, and the CanvasPattern ends > up transparent black. Yes and because no texture copy is done when flushing the sample. The m_platformLayerProxy->dropCurrentBufferWhilePreservingTexture() call has no effect, because it's done outside of the texturemapper code path.
Philippe Normand
Comment 5 2021-04-03 10:16:44 PDT
EWS
Comment 6 2021-04-09 02:29:58 PDT
Committed r275755 (236333@main): <https://commits.webkit.org/236333@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 425097 [details].
Note You need to log in before you can comment on or make changes to this bug.