Make VideoFrame Transferable
Categories
(Core :: Audio/Video: Web Codecs, task, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox111 | --- | fixed |
People
(Reporter: chunmin, Assigned: chunmin)
References
(Blocks 1 open bug)
Details
Attachments
(6 external files, 1 obsolete file)
After VideoFrame is implemented (bug 1774300), we need to make it Transferable (in .webidl)
| Assignee | ||
Comment 1•4 years ago
|
||
This patch implements Custom{Read, Write, Free}TransferHandler for
VideoFrame so VideoFrame can be transferred
Depends on D153686
Updated•4 years ago
|
| Assignee | ||
Comment 2•3 years ago
|
||
Depends on D154677
| Assignee | ||
Comment 3•3 years ago
|
||
Add a same-origin check to ensure transferring VideoFrame across
different agent cluster has doesn't work. Othewise, transferring
VideoFrame works when e10s is disabled.
Depends on D163194
| Assignee | ||
Comment 4•3 years ago
|
||
Depends on D163195
| Assignee | ||
Comment 5•3 years ago
|
||
Most of the member types in the data structure for [Serializable],
[Transferable], and FrameData are the same. They should be reused as
much as possible to lower the maintenance effort.
Depends on D163196
Updated•3 years ago
|
| Assignee | ||
Comment 6•3 years ago
|
||
Depends on D163197
Comment 9•3 years ago
|
||
Backed out 6 changesets (Bug 1774306) for causing leak failures CLOSED TREE
Log: https://treeherder.mozilla.org/logviewer?job_id=399590567&repo=autoland&lineNumber=12192
Backout: https://hg.mozilla.org/integration/autoland/rev/677450ba3ba8bc14f69f8d88900b4ec120345f08
| Assignee | ||
Comment 11•3 years ago
|
||
Without this patch, when the transferring-videoframe-across-origin test
(added in D163194) runs, StructuredCloneHolder leaks a VideoFrame in
CustomWriteTransferHandler since *aContent is set to a transferred
VideoFrame but neither CustomReadTransferHandler nor
CustomFreeTransferHandler is called to retrieve and release the
VideoFrame.
To avoid the memory leak, the transferred VideoFrame should be stored in
a member variable of the StructuredCloneHolder so it can be released in
StructuredCloneHolder's dtor even if no one takes the transferred
VideoFrame.
Depends on D163289
Comment 12•3 years ago
|
||
This turns out to be a bug in JSAutoStructuredCloneBuffer, which is badly mismanaging the ownership of the transferrable information. See bug 1807169.
| Assignee | ||
Comment 13•3 years ago
|
||
The leak will be addressed in bug 1807169
Updated•3 years ago
|
Comment 14•3 years ago
|
||
Comment 15•3 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/3e48a20bcf6c
https://hg.mozilla.org/mozilla-central/rev/667f252800dc
https://hg.mozilla.org/mozilla-central/rev/d0c655f96db3
https://hg.mozilla.org/mozilla-central/rev/cad7c78a17ea
https://hg.mozilla.org/mozilla-central/rev/57269c00c3d9
https://hg.mozilla.org/mozilla-central/rev/c54aef18375d
| Assignee | ||
Updated•3 years ago
|
Description
•