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

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

Issue 2640153004: Add mailbox-based Mojo VideoFrame variant. (Closed)
Patch Set: Created 3 years, 11 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
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 "media/mojo/interfaces/media_types.mojom"; 8 import "media/mojo/interfaces/media_types.mojom";
8 import "mojo/common/unguessable_token.mojom"; 9 import "mojo/common/unguessable_token.mojom";
9 10
10 // Identifies a GpuCommandBufferStub. MediaGpuChannelManager is responsible 11 // Identifies a GpuCommandBufferStub. MediaGpuChannelManager is responsible
11 // for minting |channel_token| objects. 12 // for minting |channel_token| objects.
12 struct CommandBufferId { 13 struct CommandBufferId {
13 mojo.common.mojom.UnguessableToken channel_token; 14 mojo.common.mojom.UnguessableToken channel_token;
14 int32 route_id; 15 int32 route_id;
15 }; 16 };
16 17
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 // the Decode(EOS) callback. (That is, they must flush.) 62 // the Decode(EOS) callback. (That is, they must flush.)
62 Decode(DecoderBuffer buffer) => (DecodeStatus status); 63 Decode(DecoderBuffer buffer) => (DecodeStatus status);
63 64
64 // Reset the decoder. All ongoing Decode() requests must be completed or 65 // Reset the decoder. All ongoing Decode() requests must be completed or
65 // aborted before executing the callback. This must not be called while there 66 // aborted before executing the callback. This must not be called while there
66 // is a pending Initialize() request. 67 // is a pending Initialize() request.
67 Reset() => (); 68 Reset() => ();
68 }; 69 };
69 70
70 interface VideoDecoderClient { 71 interface VideoDecoderClient {
71 // Output a decoded frame. Frames must be output in presentation order. 72 // Output a decoded frame. Frames must be output in presentation order. If
72 OnVideoFrameDecoded(VideoFrame frame); 73 // the video decoder is still running, the callback will be called when the
74 // client has finished using the video frame. (That is, when it it safe to
75 // reclaim backing resources.)
xhwang 2017/01/25 18:25:09 +jrummell since we need to solve the same problem
sandersd (OOO until July 31) 2017/01/26 23:49:05 FYI the solution proposed here only works properly
76 OnVideoFrameDecoded(VideoFrame frame) =>
77 (gpu.mojom.SyncToken? release_sync_token);
xhwang 2017/01/25 18:25:09 What does it mean to call the callback with a null
sandersd (OOO until July 31) 2017/01/26 23:49:05 Note: I've replaced this mechanism in the current
73 }; 78 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698