OLD | NEW |
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_types.mojom"; | 8 import "media/mojo/interfaces/media_types.mojom"; |
9 import "mojo/common/unguessable_token.mojom"; | 9 import "mojo/common/unguessable_token.mojom"; |
10 | 10 |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 Reset() => (); | 68 Reset() => (); |
69 | 69 |
70 // Inform the decoder that the client is finished with a frame. | 70 // Inform the decoder that the client is finished with a frame. |
71 // |release_sync_token| is a (possibly empty) sync point after which the | 71 // |release_sync_token| is a (possibly empty) sync point after which the |
72 // frame's backing textures will be safe to overwrite. | 72 // frame's backing textures will be safe to overwrite. |
73 OnReleaseMailbox(mojo.common.mojom.UnguessableToken release_token, | 73 OnReleaseMailbox(mojo.common.mojom.UnguessableToken release_token, |
74 gpu.mojom.SyncToken release_sync_token); | 74 gpu.mojom.SyncToken release_sync_token); |
75 }; | 75 }; |
76 | 76 |
77 interface VideoDecoderClient { | 77 interface VideoDecoderClient { |
78 // Output a decoded frame. Frames must be output in presentation order. If | 78 // Output a decoded frame. Frames must be output in presentation order. |
79 // |release_token| is provided, the client should call OnReleaseMailbox() when | 79 // |
80 // it is finished with the frame. | 80 // When |can_read_without_stalling| is false, preroll is disabled. This is |
| 81 // necessary if the decoder cannot guarantee that it can output another frame, |
| 82 // for example if output buffers are limited or configuration changes require |
| 83 // the return of all outstanding frames. |
| 84 // |
| 85 // If |release_token| is provided, the client shall call OnReleaseMailbox() |
| 86 // when it is finished using the frame. |
81 OnVideoFrameDecoded(VideoFrame frame, | 87 OnVideoFrameDecoded(VideoFrame frame, |
| 88 bool can_read_without_stalling, |
82 mojo.common.mojom.UnguessableToken? release_token); | 89 mojo.common.mojom.UnguessableToken? release_token); |
83 }; | 90 }; |
OLD | NEW |