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

Side by Side Diff: content/common/video_capture.mojom

Issue 2405423002: [Video Capture Service] Move Mojo structs and enums to media/capture/mojo (Closed)
Patch Set: Fix dependency issues Created 4 years, 1 month 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 content.mojom; 5 module content.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 "media/capture/mojo/video_capture_types.mojom";
9 import "mojo/common/common_custom_types.mojom"; 10 import "mojo/common/common_custom_types.mojom";
10 import "services/video_capture/public/interfaces/video_capture_device_proxy.mojo m";
11 import "services/video_capture/public/interfaces/video_capture_format.mojom";
12 import "ui/gfx/geometry/mojo/geometry.mojom"; 11 import "ui/gfx/geometry/mojo/geometry.mojom";
13 12
14 // This file decribes the communication between a given Renderer Host interface 13 // This file decribes the communication between a given Renderer Host interface
15 // implementation (VideoCaptureHost) and a remote VideoCaptureObserver. 14 // implementation (VideoCaptureHost) and a remote VideoCaptureObserver.
16 // VideoCaptureHost offers a stateless part (GetDeviceSupportedFormats() and 15 // VideoCaptureHost offers a stateless part (GetDeviceSupportedFormats() and
17 // GetDeviceFormatsInUse()) that can be invoked at any time, and a stateful part 16 // GetDeviceFormatsInUse()) that can be invoked at any time, and a stateful part
18 // sandwiched between Start() and Stop(). A Client's OnStateChanged() can be 17 // sandwiched between Start() and Stop(). A Client's OnStateChanged() can be
19 // notified any time during the stateful part. The stateful part is composed of 18 // notified any time during the stateful part. The stateful part is composed of
20 // a preamble where a Renderer client sends a command to Start() the capture, 19 // a preamble where a Renderer client sends a command to Start() the capture,
21 // registering itself as the associated remote VideoCaptureObserver. The Host 20 // registering itself as the associated remote VideoCaptureObserver. The Host
(...skipping 23 matching lines...) Expand all
45 // | ---> ReleaseBuffer(2) | 44 // | ---> ReleaseBuffer(2) |
46 // | OnBufferDestroyed(2) <--- | 45 // | OnBufferDestroyed(2) <--- |
47 // | OnBufferCreated(5) <--- | 46 // | OnBufferCreated(5) <--- |
48 // | OnBufferReady(5) <--- | 47 // | OnBufferReady(5) <--- |
49 // = = 48 // = =
50 // In the communication epilogue, the client Stop()s capture, receiving a last 49 // In the communication epilogue, the client Stop()s capture, receiving a last
51 // status update: 50 // status update:
52 // | ---> StopCapture | 51 // | ---> StopCapture |
53 // | OnStateChanged(STOPPED) <--- | 52 // | OnStateChanged(STOPPED) <--- |
54 53
55 struct VideoCaptureParams {
56 video_capture.mojom.VideoCaptureFormat requested_format;
57 video_capture.mojom.ResolutionChangePolicy resolution_change_policy;
58 video_capture.mojom.PowerLineFrequency power_line_frequency;
59 };
60
61 struct VideoFrameInfo{ 54 struct VideoFrameInfo{
62 mojo.common.mojom.TimeDelta timestamp; 55 mojo.common.mojom.TimeDelta timestamp;
63 mojo.common.mojom.DictionaryValue metadata; 56 mojo.common.mojom.DictionaryValue metadata;
64 media.mojom.VideoPixelFormat pixel_format; 57 media.mojom.VideoPixelFormat pixel_format;
65 video_capture.mojom.VideoPixelStorage storage_type; 58 media.mojom.VideoPixelStorage storage_type;
66 gfx.mojom.Size coded_size; 59 gfx.mojom.Size coded_size;
67 gfx.mojom.Rect visible_rect; 60 gfx.mojom.Rect visible_rect;
68 }; 61 };
69 62
70 enum VideoCaptureState { 63 enum VideoCaptureState {
71 STARTED, 64 STARTED,
72 PAUSED, 65 PAUSED,
73 RESUMED, 66 RESUMED,
74 STOPPED, 67 STOPPED,
75 FAILED, 68 FAILED,
(...skipping 14 matching lines...) Expand all
90 OnBufferReady(int32 buffer_id, VideoFrameInfo info); 83 OnBufferReady(int32 buffer_id, VideoFrameInfo info);
91 84
92 // |buffer_id| has been released by VideoCaptureHost and must not be used. 85 // |buffer_id| has been released by VideoCaptureHost and must not be used.
93 OnBufferDestroyed(int32 buffer_id); 86 OnBufferDestroyed(int32 buffer_id);
94 }; 87 };
95 88
96 interface VideoCaptureHost { 89 interface VideoCaptureHost {
97 // Start the |session_id| session with |params|. The video capture will be 90 // Start the |session_id| session with |params|. The video capture will be
98 // identified as |device_id|, a new id picked by the renderer process. 91 // identified as |device_id|, a new id picked by the renderer process.
99 // |observer| will be used for notifications. 92 // |observer| will be used for notifications.
100 Start(int32 device_id, int32 session_id, VideoCaptureParams params, 93 Start(int32 device_id, int32 session_id, media.mojom.VideoCaptureParams params ,
101 VideoCaptureObserver observer); 94 VideoCaptureObserver observer);
102 95
103 // Closes the video capture specified by |device_id|. 96 // Closes the video capture specified by |device_id|.
104 Stop(int32 device_id); 97 Stop(int32 device_id);
105 98
106 // Pauses the video capture specified by |device_id|. 99 // Pauses the video capture specified by |device_id|.
107 Pause(int32 device_id); 100 Pause(int32 device_id);
108 101
109 // Resume |device_id| video capture, in |session_id| and with |params|. 102 // Resume |device_id| video capture, in |session_id| and with |params|.
110 Resume(int32 device_id, int32 session_id, VideoCaptureParams params); 103 Resume(int32 device_id, int32 session_id, media.mojom.VideoCaptureParams param s);
111 104
112 // Requests that the video capturer send a frame "soon" (e.g., to resolve 105 // Requests that the video capturer send a frame "soon" (e.g., to resolve
113 // picture loss or quality issues). 106 // picture loss or quality issues).
114 RequestRefreshFrame(int32 device_id); 107 RequestRefreshFrame(int32 device_id);
115 108
116 // Indicates that a renderer has finished using a previously shared buffer. 109 // Indicates that a renderer has finished using a previously shared buffer.
117 ReleaseBuffer(int32 device_id, int32 buffer_id, 110 ReleaseBuffer(int32 device_id, int32 buffer_id,
118 gpu.mojom.SyncToken sync_token, 111 gpu.mojom.SyncToken sync_token,
119 double consumer_resource_utilization); 112 double consumer_resource_utilization);
120 113
121 // Get the formats supported by a device referenced by |session_id|. 114 // Get the formats supported by a device referenced by |session_id|.
122 GetDeviceSupportedFormats(int32 device_id, int32 session_id) 115 GetDeviceSupportedFormats(int32 device_id, int32 session_id)
123 => (array<video_capture.mojom.VideoCaptureFormat> formats_supported); 116 => (array<media.mojom.VideoCaptureFormat> formats_supported);
124 117
125 // Get the format(s) in use by a device referenced by |session_id|. 118 // Get the format(s) in use by a device referenced by |session_id|.
126 GetDeviceFormatsInUse(int32 device_id, int32 session_id) 119 GetDeviceFormatsInUse(int32 device_id, int32 session_id)
127 => (array<video_capture.mojom.VideoCaptureFormat> formats_in_use); 120 => (array<media.mojom.VideoCaptureFormat> formats_in_use);
128 }; 121 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698