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

Side by Side Diff: webrtc/call/rtc_event_log.proto

Issue 1411673003: Added protobuf message for loss-based BWE events, and wired it up to the send side bandwidth estima… (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase Created 5 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
« no previous file with comments | « webrtc/call/rtc_event_log.cc ('k') | webrtc/call/rtc_event_log_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 5
6 enum MediaType { 6 enum MediaType {
7 ANY = 0; 7 ANY = 0;
8 AUDIO = 1; 8 AUDIO = 1;
9 VIDEO = 2; 9 VIDEO = 2;
10 DATA = 3; 10 DATA = 3;
(...skipping 16 matching lines...) Expand all
27 // The different types of events that can occur, the UNKNOWN_EVENT entry 27 // 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 28 // is added in case future EventTypes are added, in that case old code will
29 // receive the new events as UNKNOWN_EVENT. 29 // receive the new events as UNKNOWN_EVENT.
30 enum EventType { 30 enum EventType {
31 UNKNOWN_EVENT = 0; 31 UNKNOWN_EVENT = 0;
32 LOG_START = 1; 32 LOG_START = 1;
33 LOG_END = 2; 33 LOG_END = 2;
34 RTP_EVENT = 3; 34 RTP_EVENT = 3;
35 RTCP_EVENT = 4; 35 RTCP_EVENT = 4;
36 AUDIO_PLAYOUT_EVENT = 5; 36 AUDIO_PLAYOUT_EVENT = 5;
37 VIDEO_RECEIVER_CONFIG_EVENT = 6; 37 BWE_PACKET_LOSS_EVENT = 6;
38 VIDEO_SENDER_CONFIG_EVENT = 7; 38 BWE_PACKET_DELAY_EVENT = 7;
39 AUDIO_RECEIVER_CONFIG_EVENT = 8; 39 VIDEO_RECEIVER_CONFIG_EVENT = 8;
40 AUDIO_SENDER_CONFIG_EVENT = 9; 40 VIDEO_SENDER_CONFIG_EVENT = 9;
41 AUDIO_RECEIVER_CONFIG_EVENT = 10;
42 AUDIO_SENDER_CONFIG_EVENT = 11;
41 } 43 }
42 44
43 // required - Indicates the type of this event 45 // required - Indicates the type of this event
44 optional EventType type = 2; 46 optional EventType type = 2;
45 47
46 // optional - but required if type == RTP_EVENT 48 // optional - but required if type == RTP_EVENT
47 optional RtpPacket rtp_packet = 3; 49 optional RtpPacket rtp_packet = 3;
48 50
49 // optional - but required if type == RTCP_EVENT 51 // optional - but required if type == RTCP_EVENT
50 optional RtcpPacket rtcp_packet = 4; 52 optional RtcpPacket rtcp_packet = 4;
51 53
52 // optional - but required if type == AUDIO_PLAYOUT_EVENT 54 // optional - but required if type == AUDIO_PLAYOUT_EVENT
53 optional AudioPlayoutEvent audio_playout_event = 5; 55 optional AudioPlayoutEvent audio_playout_event = 5;
54 56
57 // optional - but required if type == BWE_PACKET_LOSS_EVENT
58 optional BwePacketLossEvent bwe_packet_loss_event = 6;
59
55 // optional - but required if type == VIDEO_RECEIVER_CONFIG_EVENT 60 // optional - but required if type == VIDEO_RECEIVER_CONFIG_EVENT
56 optional VideoReceiveConfig video_receiver_config = 6; 61 optional VideoReceiveConfig video_receiver_config = 8;
57 62
58 // optional - but required if type == VIDEO_SENDER_CONFIG_EVENT 63 // optional - but required if type == VIDEO_SENDER_CONFIG_EVENT
59 optional VideoSendConfig video_sender_config = 7; 64 optional VideoSendConfig video_sender_config = 9;
60 65
61 // optional - but required if type == AUDIO_RECEIVER_CONFIG_EVENT 66 // optional - but required if type == AUDIO_RECEIVER_CONFIG_EVENT
62 optional AudioReceiveConfig audio_receiver_config = 8; 67 optional AudioReceiveConfig audio_receiver_config = 10;
63 68
64 // optional - but required if type == AUDIO_SENDER_CONFIG_EVENT 69 // optional - but required if type == AUDIO_SENDER_CONFIG_EVENT
65 optional AudioSendConfig audio_sender_config = 9; 70 optional AudioSendConfig audio_sender_config = 11;
66 } 71 }
67 72
68 73
69 message RtpPacket { 74 message RtpPacket {
70 // required - True if the packet is incoming w.r.t. the user logging the data 75 // required - True if the packet is incoming w.r.t. the user logging the data
71 optional bool incoming = 1; 76 optional bool incoming = 1;
72 77
73 // required 78 // required
74 optional MediaType type = 2; 79 optional MediaType type = 2;
75 80
(...skipping 16 matching lines...) Expand all
92 97
93 // required - The whole packet including both payload and header. 98 // required - The whole packet including both payload and header.
94 optional bytes packet_data = 3; 99 optional bytes packet_data = 3;
95 } 100 }
96 101
97 message AudioPlayoutEvent { 102 message AudioPlayoutEvent {
98 // required - The SSRC of the audio stream associated with the playout event. 103 // required - The SSRC of the audio stream associated with the playout event.
99 optional uint32 local_ssrc = 2; 104 optional uint32 local_ssrc = 2;
100 } 105 }
101 106
107 message BwePacketLossEvent {
108 // required - Bandwidth estimate (in bps) after the update.
109 optional int32 bitrate = 1;
110
111 // required - Fraction of lost packets since last receiver report
112 // computed as floor( 256 * (#lost_packets / #total_packets) ).
113 // The possible values range from 0 to 255.
114 optional uint32 fraction_loss = 2;
115
116 // TODO(terelius): Is this really needed? Remove or make optional?
117 // required - Total number of packets that the BWE update is based on.
118 optional int32 total_packets = 3;
119 }
102 120
103 // TODO(terelius): Video and audio streams could in principle share SSRC, 121 // TODO(terelius): Video and audio streams could in principle share SSRC,
104 // so identifying a stream based only on SSRC might not work. 122 // so identifying a stream based only on SSRC might not work.
105 // It might be better to use a combination of SSRC and media type 123 // It might be better to use a combination of SSRC and media type
106 // or SSRC and port number, but for now we will rely on SSRC only. 124 // or SSRC and port number, but for now we will rely on SSRC only.
107 message VideoReceiveConfig { 125 message VideoReceiveConfig {
108 // required - Synchronization source (stream identifier) to be received. 126 // required - Synchronization source (stream identifier) to be received.
109 optional uint32 remote_ssrc = 1; 127 optional uint32 remote_ssrc = 1;
110 // required - Sender SSRC used for sending RTCP (such as receiver reports). 128 // required - Sender SSRC used for sending RTCP (such as receiver reports).
111 optional uint32 local_ssrc = 2; 129 optional uint32 local_ssrc = 2;
(...skipping 23 matching lines...) Expand all
135 repeated DecoderConfig decoders = 8; 153 repeated DecoderConfig decoders = 8;
136 } 154 }
137 155
138 156
139 // Maps decoder names to payload types. 157 // Maps decoder names to payload types.
140 message DecoderConfig { 158 message DecoderConfig {
141 // required 159 // required
142 optional string name = 1; 160 optional string name = 1;
143 161
144 // required 162 // required
145 optional sint32 payload_type = 2; 163 optional int32 payload_type = 2;
146 } 164 }
147 165
148 166
149 // Maps RTP header extension names to numerical IDs. 167 // Maps RTP header extension names to numerical IDs.
150 message RtpHeaderExtension { 168 message RtpHeaderExtension {
151 // required 169 // required
152 optional string name = 1; 170 optional string name = 1;
153 171
154 // required 172 // required
155 optional sint32 id = 2; 173 optional int32 id = 2;
156 } 174 }
157 175
158 176
159 // RTX settings for incoming video payloads that may be received. 177 // RTX settings for incoming video payloads that may be received.
160 // RTX is disabled if there's no config present. 178 // RTX is disabled if there's no config present.
161 message RtxConfig { 179 message RtxConfig {
162 // required - SSRC to use for the RTX stream. 180 // required - SSRC to use for the RTX stream.
163 optional uint32 rtx_ssrc = 1; 181 optional uint32 rtx_ssrc = 1;
164 182
165 // required - Payload type to use for the RTX stream. 183 // required - Payload type to use for the RTX stream.
166 optional sint32 rtx_payload_type = 2; 184 optional int32 rtx_payload_type = 2;
167 } 185 }
168 186
169 187
170 message RtxMap { 188 message RtxMap {
171 // required 189 // required
172 optional sint32 payload_type = 1; 190 optional int32 payload_type = 1;
173 191
174 // required 192 // required
175 optional RtxConfig config = 2; 193 optional RtxConfig config = 2;
176 } 194 }
177 195
178 196
179 message VideoSendConfig { 197 message VideoSendConfig {
180 // Synchronization source (stream identifier) for outgoing stream. 198 // Synchronization source (stream identifier) for outgoing stream.
181 // One stream can have several ssrcs for e.g. simulcast. 199 // One stream can have several ssrcs for e.g. simulcast.
182 // At least one ssrc is required. 200 // At least one ssrc is required.
183 repeated uint32 ssrcs = 1; 201 repeated uint32 ssrcs = 1;
184 202
185 // RTP header extensions used for the outgoing stream. 203 // RTP header extensions used for the outgoing stream.
186 repeated RtpHeaderExtension header_extensions = 2; 204 repeated RtpHeaderExtension header_extensions = 2;
187 205
188 // List of SSRCs for retransmitted packets. 206 // List of SSRCs for retransmitted packets.
189 repeated uint32 rtx_ssrcs = 3; 207 repeated uint32 rtx_ssrcs = 3;
190 208
191 // required if rtx_ssrcs is used - Payload type for retransmitted packets. 209 // required if rtx_ssrcs is used - Payload type for retransmitted packets.
192 optional sint32 rtx_payload_type = 4; 210 optional int32 rtx_payload_type = 4;
193 211
194 // required - Canonical end-point identifier. 212 // required - Canonical end-point identifier.
195 optional string c_name = 5; 213 optional string c_name = 5;
196 214
197 // required - Encoder associated with the stream. 215 // required - Encoder associated with the stream.
198 optional EncoderConfig encoder = 6; 216 optional EncoderConfig encoder = 6;
199 } 217 }
200 218
201 219
202 // Maps encoder names to payload types. 220 // Maps encoder names to payload types.
203 message EncoderConfig { 221 message EncoderConfig {
204 // required 222 // required
205 optional string name = 1; 223 optional string name = 1;
206 224
207 // required 225 // required
208 optional sint32 payload_type = 2; 226 optional int32 payload_type = 2;
209 } 227 }
210 228
211 229
212 message AudioReceiveConfig { 230 message AudioReceiveConfig {
213 // required - Synchronization source (stream identifier) to be received. 231 // required - Synchronization source (stream identifier) to be received.
214 optional uint32 remote_ssrc = 1; 232 optional uint32 remote_ssrc = 1;
215 233
216 // required - Sender SSRC used for sending RTCP (such as receiver reports). 234 // required - Sender SSRC used for sending RTCP (such as receiver reports).
217 optional uint32 local_ssrc = 2; 235 optional uint32 local_ssrc = 2;
218 236
219 // RTP header extensions used for the received audio stream. 237 // RTP header extensions used for the received audio stream.
220 repeated RtpHeaderExtension header_extensions = 3; 238 repeated RtpHeaderExtension header_extensions = 3;
221 } 239 }
222 240
223 241
224 message AudioSendConfig { 242 message AudioSendConfig {
225 // required - Synchronization source (stream identifier) for outgoing stream. 243 // required - Synchronization source (stream identifier) for outgoing stream.
226 optional uint32 ssrc = 1; 244 optional uint32 ssrc = 1;
227 245
228 // RTP header extensions used for the outgoing audio stream. 246 // RTP header extensions used for the outgoing audio stream.
229 repeated RtpHeaderExtension header_extensions = 2; 247 repeated RtpHeaderExtension header_extensions = 2;
230 } 248 }
OLDNEW
« no previous file with comments | « webrtc/call/rtc_event_log.cc ('k') | webrtc/call/rtc_event_log_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698