OLD | NEW |
1 syntax = "proto2"; | 1 syntax = "proto2"; |
2 option optimize_for = LITE_RUNTIME; | 2 option optimize_for = LITE_RUNTIME; |
3 package webrtc.rtclog; | 3 package webrtc.rtclog; |
4 | 4 |
5 | |
6 enum MediaType { | 5 enum MediaType { |
7 ANY = 0; | 6 ANY = 0; |
8 AUDIO = 1; | 7 AUDIO = 1; |
9 VIDEO = 2; | 8 VIDEO = 2; |
10 DATA = 3; | 9 DATA = 3; |
11 } | 10 } |
12 | 11 |
13 | |
14 // This is the main message to dump to a file, it can contain multiple event | 12 // This is the main message to dump to a file, it can contain multiple event |
15 // messages, but it is possible to append multiple EventStreams (each with a | 13 // messages, but it is possible to append multiple EventStreams (each with a |
16 // single event) to a file. | 14 // single event) to a file. |
17 // This has the benefit that there's no need to keep all data in memory. | 15 // This has the benefit that there's no need to keep all data in memory. |
18 message EventStream { | 16 message EventStream { |
19 repeated Event stream = 1; | 17 repeated Event stream = 1; |
20 } | 18 } |
21 | 19 |
22 | |
23 message Event { | 20 message Event { |
24 // required - Elapsed wallclock time in us since the start of the log. | 21 // required - Elapsed wallclock time in us since the start of the log. |
25 optional int64 timestamp_us = 1; | 22 optional int64 timestamp_us = 1; |
26 | 23 |
27 // The different types of events that can occur, the UNKNOWN_EVENT entry | 24 // The different types of events that can occur, the UNKNOWN_EVENT entry |
28 // is added in case future EventTypes are added, in that case old code will | 25 // is added in case future EventTypes are added, in that case old code will |
29 // receive the new events as UNKNOWN_EVENT. | 26 // receive the new events as UNKNOWN_EVENT. |
30 enum EventType { | 27 enum EventType { |
31 UNKNOWN_EVENT = 0; | 28 UNKNOWN_EVENT = 0; |
32 LOG_START = 1; | 29 LOG_START = 1; |
(...skipping 30 matching lines...) Expand all Loading... |
63 // optional - but required if type == VIDEO_SENDER_CONFIG_EVENT | 60 // optional - but required if type == VIDEO_SENDER_CONFIG_EVENT |
64 optional VideoSendConfig video_sender_config = 9; | 61 optional VideoSendConfig video_sender_config = 9; |
65 | 62 |
66 // optional - but required if type == AUDIO_RECEIVER_CONFIG_EVENT | 63 // optional - but required if type == AUDIO_RECEIVER_CONFIG_EVENT |
67 optional AudioReceiveConfig audio_receiver_config = 10; | 64 optional AudioReceiveConfig audio_receiver_config = 10; |
68 | 65 |
69 // optional - but required if type == AUDIO_SENDER_CONFIG_EVENT | 66 // optional - but required if type == AUDIO_SENDER_CONFIG_EVENT |
70 optional AudioSendConfig audio_sender_config = 11; | 67 optional AudioSendConfig audio_sender_config = 11; |
71 } | 68 } |
72 | 69 |
73 | |
74 message RtpPacket { | 70 message RtpPacket { |
75 // required - True if the packet is incoming w.r.t. the user logging the data | 71 // required - True if the packet is incoming w.r.t. the user logging the data |
76 optional bool incoming = 1; | 72 optional bool incoming = 1; |
77 | 73 |
78 // required | 74 // required |
79 optional MediaType type = 2; | 75 optional MediaType type = 2; |
80 | 76 |
81 // required - The size of the packet including both payload and header. | 77 // required - The size of the packet including both payload and header. |
82 optional uint32 packet_length = 3; | 78 optional uint32 packet_length = 3; |
83 | 79 |
84 // required - The RTP header only. | 80 // required - The RTP header only. |
85 optional bytes header = 4; | 81 optional bytes header = 4; |
86 | 82 |
87 // Do not add code to log user payload data without a privacy review! | 83 // Do not add code to log user payload data without a privacy review! |
88 } | 84 } |
89 | 85 |
90 | |
91 message RtcpPacket { | 86 message RtcpPacket { |
92 // required - True if the packet is incoming w.r.t. the user logging the data | 87 // required - True if the packet is incoming w.r.t. the user logging the data |
93 optional bool incoming = 1; | 88 optional bool incoming = 1; |
94 | 89 |
95 // required | 90 // required |
96 optional MediaType type = 2; | 91 optional MediaType type = 2; |
97 | 92 |
98 // required - The whole packet including both payload and header. | 93 // required - The whole packet including both payload and header. |
99 optional bytes packet_data = 3; | 94 optional bytes packet_data = 3; |
100 } | 95 } |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 // Map from video RTP payload type -> RTX config. | 138 // Map from video RTP payload type -> RTX config. |
144 repeated RtxMap rtx_map = 5; | 139 repeated RtxMap rtx_map = 5; |
145 | 140 |
146 // RTP header extensions used for the received stream. | 141 // RTP header extensions used for the received stream. |
147 repeated RtpHeaderExtension header_extensions = 6; | 142 repeated RtpHeaderExtension header_extensions = 6; |
148 | 143 |
149 // List of decoders associated with the stream. | 144 // List of decoders associated with the stream. |
150 repeated DecoderConfig decoders = 7; | 145 repeated DecoderConfig decoders = 7; |
151 } | 146 } |
152 | 147 |
153 | |
154 // Maps decoder names to payload types. | 148 // Maps decoder names to payload types. |
155 message DecoderConfig { | 149 message DecoderConfig { |
156 // required | 150 // required |
157 optional string name = 1; | 151 optional string name = 1; |
158 | 152 |
159 // required | 153 // required |
160 optional int32 payload_type = 2; | 154 optional int32 payload_type = 2; |
161 } | 155 } |
162 | 156 |
163 | |
164 // Maps RTP header extension names to numerical IDs. | 157 // Maps RTP header extension names to numerical IDs. |
165 message RtpHeaderExtension { | 158 message RtpHeaderExtension { |
166 // required | 159 // required |
167 optional string name = 1; | 160 optional string name = 1; |
168 | 161 |
169 // required | 162 // required |
170 optional int32 id = 2; | 163 optional int32 id = 2; |
171 } | 164 } |
172 | 165 |
173 | |
174 // RTX settings for incoming video payloads that may be received. | 166 // RTX settings for incoming video payloads that may be received. |
175 // RTX is disabled if there's no config present. | 167 // RTX is disabled if there's no config present. |
176 message RtxConfig { | 168 message RtxConfig { |
177 // required - SSRC to use for the RTX stream. | 169 // required - SSRC to use for the RTX stream. |
178 optional uint32 rtx_ssrc = 1; | 170 optional uint32 rtx_ssrc = 1; |
179 | 171 |
180 // required - Payload type to use for the RTX stream. | 172 // required - Payload type to use for the RTX stream. |
181 optional int32 rtx_payload_type = 2; | 173 optional int32 rtx_payload_type = 2; |
182 } | 174 } |
183 | 175 |
184 | |
185 message RtxMap { | 176 message RtxMap { |
186 // required | 177 // required |
187 optional int32 payload_type = 1; | 178 optional int32 payload_type = 1; |
188 | 179 |
189 // required | 180 // required |
190 optional RtxConfig config = 2; | 181 optional RtxConfig config = 2; |
191 } | 182 } |
192 | 183 |
193 | |
194 message VideoSendConfig { | 184 message VideoSendConfig { |
195 // Synchronization source (stream identifier) for outgoing stream. | 185 // Synchronization source (stream identifier) for outgoing stream. |
196 // One stream can have several ssrcs for e.g. simulcast. | 186 // One stream can have several ssrcs for e.g. simulcast. |
197 // At least one ssrc is required. | 187 // At least one ssrc is required. |
198 repeated uint32 ssrcs = 1; | 188 repeated uint32 ssrcs = 1; |
199 | 189 |
200 // RTP header extensions used for the outgoing stream. | 190 // RTP header extensions used for the outgoing stream. |
201 repeated RtpHeaderExtension header_extensions = 2; | 191 repeated RtpHeaderExtension header_extensions = 2; |
202 | 192 |
203 // List of SSRCs for retransmitted packets. | 193 // List of SSRCs for retransmitted packets. |
204 repeated uint32 rtx_ssrcs = 3; | 194 repeated uint32 rtx_ssrcs = 3; |
205 | 195 |
206 // required if rtx_ssrcs is used - Payload type for retransmitted packets. | 196 // required if rtx_ssrcs is used - Payload type for retransmitted packets. |
207 optional int32 rtx_payload_type = 4; | 197 optional int32 rtx_payload_type = 4; |
208 | 198 |
209 // required - Encoder associated with the stream. | 199 // required - Encoder associated with the stream. |
210 optional EncoderConfig encoder = 5; | 200 optional EncoderConfig encoder = 5; |
211 } | 201 } |
212 | 202 |
213 | |
214 // Maps encoder names to payload types. | 203 // Maps encoder names to payload types. |
215 message EncoderConfig { | 204 message EncoderConfig { |
216 // required | 205 // required |
217 optional string name = 1; | 206 optional string name = 1; |
218 | 207 |
219 // required | 208 // required |
220 optional int32 payload_type = 2; | 209 optional int32 payload_type = 2; |
221 } | 210 } |
222 | 211 |
223 | |
224 message AudioReceiveConfig { | 212 message AudioReceiveConfig { |
225 // required - Synchronization source (stream identifier) to be received. | 213 // required - Synchronization source (stream identifier) to be received. |
226 optional uint32 remote_ssrc = 1; | 214 optional uint32 remote_ssrc = 1; |
227 | 215 |
228 // required - Sender SSRC used for sending RTCP (such as receiver reports). | 216 // required - Sender SSRC used for sending RTCP (such as receiver reports). |
229 optional uint32 local_ssrc = 2; | 217 optional uint32 local_ssrc = 2; |
230 | 218 |
231 // RTP header extensions used for the received audio stream. | 219 // RTP header extensions used for the received audio stream. |
232 repeated RtpHeaderExtension header_extensions = 3; | 220 repeated RtpHeaderExtension header_extensions = 3; |
233 } | 221 } |
234 | 222 |
235 | |
236 message AudioSendConfig { | 223 message AudioSendConfig { |
237 // required - Synchronization source (stream identifier) for outgoing stream. | 224 // required - Synchronization source (stream identifier) for outgoing stream. |
238 optional uint32 ssrc = 1; | 225 optional uint32 ssrc = 1; |
239 | 226 |
240 // RTP header extensions used for the outgoing audio stream. | 227 // RTP header extensions used for the outgoing audio stream. |
241 repeated RtpHeaderExtension header_extensions = 2; | 228 repeated RtpHeaderExtension header_extensions = 2; |
242 } | 229 } |
OLD | NEW |