The goal is to be able to use the video capture service from a ChromeOS context. ChromeOS currently uses an older version of Mojo, which has certain incompatibilities with the latest version of Mojo used in Chromium.
Workarounds for the incompatibilities exist, and this issue track entry is for adding such workarounds.
1. The video capture service API, has a dependency on the native enum VideoPixelFormat in media_types.mojom. In the ChromeOS context, the native enums cannot be used. The workaround is to switch to Mojo enums. This should be a step in the right direction, since native enums are considered a stopgap for the transition from legacy IPC to Mojo, and are supposed to eventually all be replaced with Mojo enums.
2. The video capture service API uses Mojo type |handle<shared_buffer>| to share frame buffers across process boundaries. There is an incompatibility in the serialization/deserialization of this type across the two Mojo versions. The workaround is to use the Mojo type |handle|, which requires a bit more manual wrapping/unwrapping.
Comment 1 by bugdroid1@chromium.org
, Jun 12 2018