[webkit-reviews] review granted: [Bug 170325] captureStream is getting black frames with webgl canvas : [Attachment 305979] Fixing release builds

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Mar 31 15:08:14 PDT 2017


Dean Jackson <dino at apple.com> has granted youenn fablet <youennf at gmail.com>'s
request for review:
Bug 170325: captureStream is getting black frames with webgl canvas
https://bugs.webkit.org/show_bug.cgi?id=170325

Attachment 305979: Fixing release builds

https://bugs.webkit.org/attachment.cgi?id=305979&action=review




--- Comment #4 from Dean Jackson <dino at apple.com> ---
Comment on attachment 305979
  --> https://bugs.webkit.org/attachment.cgi?id=305979
Fixing release builds

View in context: https://bugs.webkit.org/attachment.cgi?id=305979&action=review

> Source/WebCore/Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:136
> +    if (canvas.renderingContext() && canvas.renderingContext()->isWebGL())
> +	  
static_cast<WebGLRenderingContextBase*>(canvas.renderingContext())->preserveDra
wingBuffer();

Doing this does have a negative performance effect on the WebGL context. Maybe
until we have the recording synced with the endPaint, we should print a warning
to the console saying this might be slow (if the context wasn't already created
with preserveDrawingBuffer = true)

> Source/WebCore/html/canvas/WebGLRenderingContextBase.h:210
> +    void preserveDrawingBuffer() { m_attributes.preserveDrawingBuffer =
true; }

I think this should be setPreserveDrawingBuffer(bool), with a
preserveDrawingBuffer() getter.

> Source/WebCore/testing/Internals.h:590
> +    std::optional<TrackFramePromise> m_nextFramePromise;

Maybe m_nextTrackFramePromise?


More information about the webkit-reviews mailing list