Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(107)

Side by Side Diff: media/mojo/interfaces/video_decoder.mojom

Issue 2966643002: media: Plumb MediaLog to MojoVideoDecoderService. (Closed)
Patch Set: Swap client/service directory. Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/mojo/interfaces/media_types.typemap ('k') | media/mojo/services/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 module media.mojom; 5 module media.mojom;
6 6
7 import "gpu/ipc/common/sync_token.mojom"; 7 import "gpu/ipc/common/sync_token.mojom";
8 import "media/mojo/interfaces/media_log.mojom";
8 import "media/mojo/interfaces/media_types.mojom"; 9 import "media/mojo/interfaces/media_types.mojom";
9 import "mojo/common/unguessable_token.mojom"; 10 import "mojo/common/unguessable_token.mojom";
10 11
11 // Identifies a GpuCommandBufferStub. MediaGpuChannelManager is responsible 12 // Identifies a GpuCommandBufferStub. MediaGpuChannelManager is responsible
12 // for minting |channel_token| objects. 13 // for minting |channel_token| objects.
13 struct CommandBufferId { 14 struct CommandBufferId {
14 mojo.common.mojom.UnguessableToken channel_token; 15 mojo.common.mojom.UnguessableToken channel_token;
15 int32 route_id; 16 int32 route_id;
16 }; 17 };
17 18
18 interface VideoDecoder { 19 interface VideoDecoder {
19 // Initialize the decoder. This must be called before any other method. 20 // Initialize the decoder. This must be called before any other method.
20 // 21 //
21 // |command_buffer_id|, when present, identifies a GpuCommandBufferStub that 22 // |command_buffer_id|, when present, identifies a GpuCommandBufferStub that
22 // the decoder can use for GL operations. Implementations that require GL will 23 // the decoder can use for GL operations. Implementations that require GL will
23 // fail Initialize() if |command_buffer_id| is not provided. 24 // fail Initialize() if |command_buffer_id| is not provided.
24 // 25 //
25 // |decoder_buffer_pipe| will be used to transfer encoded data for each 26 // |decoder_buffer_pipe| will be used to transfer encoded data for each
26 // DecoderBuffer. 27 // DecoderBuffer.
27 // 28 //
28 // TODO(sandersd): Rename to Initialize() if/when 29 // TODO(sandersd): Rename to Initialize() if/when
29 // media::VideoDecoder::Initialize() is renamed to Configure(). 30 // media::VideoDecoder::Initialize() is renamed to Configure().
30 Construct(associated VideoDecoderClient client, 31 Construct(associated VideoDecoderClient client,
32 associated MediaLog media_log,
31 handle<data_pipe_consumer> decoder_buffer_pipe, 33 handle<data_pipe_consumer> decoder_buffer_pipe,
32 CommandBufferId? command_buffer_id); 34 CommandBufferId? command_buffer_id);
33 35
34 // Configure (or reconfigure) the decoder. This must be called before decoding 36 // Configure (or reconfigure) the decoder. This must be called before decoding
35 // any frames, and must not be called while there are pending Initialize(), 37 // any frames, and must not be called while there are pending Initialize(),
36 // Decode(), or Reset() requests. 38 // Decode(), or Reset() requests.
37 // 39 //
38 // If |low_delay| is true, the decoder must output frames as soon as possible; 40 // If |low_delay| is true, the decoder must output frames as soon as possible;
39 // in particular, it must not wait for another Decode() request, except as 41 // in particular, it must not wait for another Decode() request, except as
40 // required for frame reordering. Implementations must fail initialization if 42 // required for frame reordering. Implementations must fail initialization if
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 // necessary if the decoder cannot guarantee that it can output another frame, 83 // necessary if the decoder cannot guarantee that it can output another frame,
82 // for example if output buffers are limited or configuration changes require 84 // for example if output buffers are limited or configuration changes require
83 // the return of all outstanding frames. 85 // the return of all outstanding frames.
84 // 86 //
85 // If |release_token| is provided, the client shall call OnReleaseMailbox() 87 // If |release_token| is provided, the client shall call OnReleaseMailbox()
86 // when it is finished using the frame. 88 // when it is finished using the frame.
87 OnVideoFrameDecoded(VideoFrame frame, 89 OnVideoFrameDecoded(VideoFrame frame,
88 bool can_read_without_stalling, 90 bool can_read_without_stalling,
89 mojo.common.mojom.UnguessableToken? release_token); 91 mojo.common.mojom.UnguessableToken? release_token);
90 }; 92 };
OLDNEW
« no previous file with comments | « media/mojo/interfaces/media_types.typemap ('k') | media/mojo/services/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698