Bug 224960 - Canvas capture stream should always emit its first frame.
Summary: Canvas capture stream should always emit its first frame.
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebRTC (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-04-22 17:06 PDT by Jean-Yves Avenard [:jya]
Modified: 2021-04-26 09:23 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jean-Yves Avenard [:jya] 2021-04-22 17:06:48 PDT
Seen in bug 220972.

The test video-vp8-videorange.html added draw into a canvas and create a MediaStream that is passed to a RTCPeerConnection.

The remote RTCPeerConnection's MediaStream is then set as source for a video element we then wait for the video element's play promise to be resolved to continue.

The play promise won't be resolved unless you continuously update the canvas.

It appears that MediaPlayerPrivateMediaStreamAVFObjC::updateReadyState() will not move past HAVE_METADATA if the canvas emitted its frame before the video element was setup.
Comment 1 Radar WebKit Bug Importer 2021-04-26 09:23:08 PDT
<rdar://problem/77160576>