| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Next MinVersion: 5 |
| |
| module arc.mojom; |
| |
| import "video_accelerator.mojom"; |
| |
| // Next method ID: 2 |
| interface VideoHost { |
| // Requests an ipc channel from Chrome to be used in the video accelerator. |
| // Replies with |channel_handle| of mojo initial message pipe and |token| for |
| // creating the client end of VideoAcceleratorService message pipe. |
| // Replys invalid handle and empty token if any failure. |
| // TODO(owenlin): Remove this deprecated function after both Android and |
| // Chromium have been updated to this version. |
| [MinVersion=2] |
| DeprecatedOnRequestArcVideoAcceleratorChannel@0() => (handle channel_handle, |
| string token); |
| |
| // Requests an IPC channel from Chrome's browser process to bootstrap a new |
| // mojo child process and a token which can be used to create a message pipe |
| // connected to a new VideoAcceleratorFactory. |
| [MinVersion=4] |
| OnBootstrapVideoAcceleratorFactory@1() => (handle channel_handle, |
| string token); |
| }; |
| |
| interface VideoInstance { |
| // Establishes full-duplex communication with the host. |
| Init@0(VideoHost host_ptr); |
| }; |
| |
| interface VideoAcceleratorFactory { |
| Create@0(VideoAcceleratorService& accelerator); |
| }; |