// 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. module media.mojom; import "gpu/ipc/common/sync_token.mojom"; import "media/mojo/interfaces/media_log.mojom"; import "media/mojo/interfaces/media_types.mojom"; import "mojo/public/mojom/base/unguessable_token.mojom"; import "ui/gfx/mojo/color_space.mojom"; // Identifies a CommandBufferStub. MediaGpuChannelManager is responsible // for minting |channel_token| values. struct CommandBufferId { mojo_base.mojom.UnguessableToken channel_token; int32 route_id; }; interface VideoFrameHandleReleaser { // Signals that the VideoFrame identified by |release_token| should be // released. |release_sync_token| indicates the last use of the VideoFrame // (in a GPU command buffer) by the client. // // TODO(sandersd): Do we need release notification for non-texture // VideoFrames? If so, |release_sync_token| should be optional. ReleaseVideoFrame(mojo_base.mojom.UnguessableToken release_token, gpu.mojom.SyncToken release_sync_token); }; [Native] struct OverlayInfo; // A Mojo equivalent of media::VideoDecoder. In practice, this is used for // hardware decode offloading; in this case the client is a