Unify handling of mojo VIdeoFrame destruction |
||
Issue descriptionmedia::mojom::VideoDecoder implements destruction callbacks with an UnguessableToken and an explicit method, OnReleaseMailbox(). media::mojom::Decryptor passes an empty interface (FrameControl) along with the DecryptAndDecodeVideo() response, the release of which triggers resource cleanup. While the underlying requirements are different, both mechanisms reproduce a portion of VideoFrame destruction observers. It should be possible to implement the complete destruction observer interface using a non-empty interface, and the implementation should be a part of media::mojom::VideoFrame rather than a per-service side-channel. This is more consistent, and allows for lifetimes that exceed the services.
,
Dec 6 2017
The above CL is a compromise. It still has to be bootstrapped by a different interface, and the release callback needs to be attached externally as well (on the client side). The generic approach where the VideoFrame StructTraits handles everything (https://chromium-review.googlesource.com/c/chromium/src/+/604469) was rejected because the implementation created a channel for each VideoFrame, but the overhead of this (6 messages to set up) was deemed too high. In the future we may want to provide an abstraction to wrap the details better, and more easily support cases other than the VideoDecoder interface.
,
Dec 7
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot |
||
►
Sign in to add a comment |
||
Comment 1 by bugdroid1@chromium.org
, Dec 5 2017