Index: media/mojo/interfaces/video_decoder.mojom |
diff --git a/media/mojo/interfaces/video_decoder.mojom b/media/mojo/interfaces/video_decoder.mojom |
index 42261246c5b407b853fd05b18791912a7bf81b87..049c7786898f9c70560a7b49ca83dce0c1c15918 100644 |
--- a/media/mojo/interfaces/video_decoder.mojom |
+++ b/media/mojo/interfaces/video_decoder.mojom |
@@ -4,6 +4,7 @@ |
module media.mojom; |
+import "gpu/ipc/common/sync_token.mojom"; |
import "media/mojo/interfaces/media_types.mojom"; |
import "mojo/common/unguessable_token.mojom"; |
@@ -68,6 +69,10 @@ interface VideoDecoder { |
}; |
interface VideoDecoderClient { |
- // Output a decoded frame. Frames must be output in presentation order. |
- OnVideoFrameDecoded(VideoFrame frame); |
+ // Output a decoded frame. Frames must be output in presentation order. If |
+ // the video decoder is still running, the callback will be called when the |
+ // client has finished using the video frame. (That is, when it it safe to |
+ // 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
|
+ OnVideoFrameDecoded(VideoFrame frame) => |
+ (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
|
}; |