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

Side by Side Diff: webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h

Issue 2827333005: Moving overhead counting to bitrate estimators.
Patch Set: Created 3 years, 8 months 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 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 248
249 struct PacketFeedback { 249 struct PacketFeedback {
250 PacketFeedback(int64_t arrival_time_ms, uint16_t sequence_number) 250 PacketFeedback(int64_t arrival_time_ms, uint16_t sequence_number)
251 : PacketFeedback(-1, 251 : PacketFeedback(-1,
252 arrival_time_ms, 252 arrival_time_ms,
253 -1, 253 -1,
254 sequence_number, 254 sequence_number,
255 0, 255 0,
256 0, 256 0,
257 0, 257 0,
258 0,
259 0,
258 PacedPacketInfo()) {} 260 PacedPacketInfo()) {}
259 261
260 PacketFeedback(int64_t arrival_time_ms, 262 PacketFeedback(int64_t arrival_time_ms,
261 int64_t send_time_ms, 263 int64_t send_time_ms,
262 uint16_t sequence_number, 264 uint16_t sequence_number,
263 size_t payload_size, 265 size_t payload_size,
266 size_t rtp_headers_size,
267 size_t transport_headers_size,
264 const PacedPacketInfo& pacing_info) 268 const PacedPacketInfo& pacing_info)
265 : PacketFeedback(-1, 269 : PacketFeedback(-1,
266 arrival_time_ms, 270 arrival_time_ms,
267 send_time_ms, 271 send_time_ms,
268 sequence_number, 272 sequence_number,
269 payload_size, 273 payload_size,
274 rtp_headers_size,
275 transport_headers_size,
270 0, 276 0,
271 0, 277 0,
272 pacing_info) {} 278 pacing_info) {}
273 279
274 PacketFeedback(int64_t creation_time_ms, 280 PacketFeedback(int64_t creation_time_ms,
275 uint16_t sequence_number, 281 uint16_t sequence_number,
276 size_t payload_size, 282 size_t payload_size,
283 size_t rtp_headers_size,
284 size_t transport_headers_size,
277 uint16_t local_net_id, 285 uint16_t local_net_id,
278 uint16_t remote_net_id, 286 uint16_t remote_net_id,
279 const PacedPacketInfo& pacing_info) 287 const PacedPacketInfo& pacing_info)
280 : PacketFeedback(creation_time_ms, 288 : PacketFeedback(creation_time_ms,
281 -1, 289 -1,
282 -1, 290 -1,
283 sequence_number, 291 sequence_number,
284 payload_size, 292 payload_size,
293 rtp_headers_size,
294 transport_headers_size,
285 local_net_id, 295 local_net_id,
286 remote_net_id, 296 remote_net_id,
287 pacing_info) {} 297 pacing_info) {}
288 298
289 PacketFeedback(int64_t creation_time_ms, 299 PacketFeedback(int64_t creation_time_ms,
290 int64_t arrival_time_ms, 300 int64_t arrival_time_ms,
291 int64_t send_time_ms, 301 int64_t send_time_ms,
292 uint16_t sequence_number, 302 uint16_t sequence_number,
293 size_t payload_size, 303 size_t payload_size,
304 size_t rtp_headers_size,
305 size_t transport_headers_size,
294 uint16_t local_net_id, 306 uint16_t local_net_id,
295 uint16_t remote_net_id, 307 uint16_t remote_net_id,
296 const PacedPacketInfo& pacing_info) 308 const PacedPacketInfo& pacing_info)
297 : creation_time_ms(creation_time_ms), 309 : creation_time_ms(creation_time_ms),
298 arrival_time_ms(arrival_time_ms), 310 arrival_time_ms(arrival_time_ms),
299 send_time_ms(send_time_ms), 311 send_time_ms(send_time_ms),
300 sequence_number(sequence_number), 312 sequence_number(sequence_number),
301 payload_size(payload_size), 313 payload_size(payload_size),
314 rtp_headers_size(rtp_headers_size),
315 transport_headers_size(transport_headers_size),
302 local_net_id(local_net_id), 316 local_net_id(local_net_id),
303 remote_net_id(remote_net_id), 317 remote_net_id(remote_net_id),
304 pacing_info(pacing_info) {} 318 pacing_info(pacing_info) {}
305 319
306 static constexpr int kNotAProbe = -1; 320 static constexpr int kNotAProbe = -1;
307 static constexpr int64_t kNotReceived = -1; 321 static constexpr int64_t kNotReceived = -1;
308 322
309 // NOTE! The variable |creation_time_ms| is not used when testing equality. 323 // NOTE! The variable |creation_time_ms| is not used when testing equality.
310 // This is due to |creation_time_ms| only being used by SendTimeHistory 324 // This is due to |creation_time_ms| only being used by SendTimeHistory
311 // for book-keeping, and is of no interest outside that class. 325 // for book-keeping, and is of no interest outside that class.
312 // TODO(philipel): Remove |creation_time_ms| from PacketFeedback when cleaning 326 // TODO(philipel): Remove |creation_time_ms| from PacketFeedback when cleaning
313 // up SendTimeHistory. 327 // up SendTimeHistory.
314 bool operator==(const PacketFeedback& rhs) const { 328 bool operator==(const PacketFeedback& rhs) const {
315 return arrival_time_ms == rhs.arrival_time_ms && 329 return arrival_time_ms == rhs.arrival_time_ms &&
316 send_time_ms == rhs.send_time_ms && 330 send_time_ms == rhs.send_time_ms &&
317 sequence_number == rhs.sequence_number && 331 sequence_number == rhs.sequence_number &&
318 payload_size == rhs.payload_size && pacing_info == rhs.pacing_info; 332 payload_size == rhs.payload_size &&
333 rtp_headers_size == rhs.rtp_headers_size &&
334 transport_headers_size == rhs.transport_headers_size &&
335 pacing_info == rhs.pacing_info;
319 } 336 }
320 337
321 // Time corresponding to when this object was created. 338 // Time corresponding to when this object was created.
322 int64_t creation_time_ms; 339 int64_t creation_time_ms;
323 // Time corresponding to when the packet was received. Timestamped with the 340 // Time corresponding to when the packet was received. Timestamped with the
324 // receiver's clock. For unreceived packet, the sentinel value kNotReceived 341 // receiver's clock. For unreceived packet, the sentinel value kNotReceived
325 // is used. 342 // is used.
326 int64_t arrival_time_ms; 343 int64_t arrival_time_ms;
327 // Time corresponding to when the packet was sent, timestamped with the 344 // Time corresponding to when the packet was sent, timestamped with the
328 // sender's clock. 345 // sender's clock.
329 int64_t send_time_ms; 346 int64_t send_time_ms;
330 // Packet identifier, incremented with 1 for every packet generated by the 347 // Packet identifier, incremented with 1 for every packet generated by the
331 // sender. 348 // sender.
332 uint16_t sequence_number; 349 uint16_t sequence_number;
333 // Size of the packet excluding RTP headers. 350 // Size of the packet excluding RTP headers.
334 size_t payload_size; 351 size_t payload_size;
352 // Size of the RTP headers.
353 size_t rtp_headers_size;
354 // Size of transport headers.
355 size_t transport_headers_size;
335 // The network route ids that this packet is associated with. 356 // The network route ids that this packet is associated with.
336 uint16_t local_net_id; 357 uint16_t local_net_id;
337 uint16_t remote_net_id; 358 uint16_t remote_net_id;
338 // Pacing information about this packet. 359 // Pacing information about this packet.
339 PacedPacketInfo pacing_info; 360 PacedPacketInfo pacing_info;
340 }; 361 };
341 362
342 class TransportFeedbackObserver { 363 class TransportFeedbackObserver {
343 public: 364 public:
344 TransportFeedbackObserver() {} 365 TransportFeedbackObserver() {}
345 virtual ~TransportFeedbackObserver() {} 366 virtual ~TransportFeedbackObserver() {}
346 367
347 // Note: Transport-wide sequence number as sequence number. 368 // Note: Transport-wide sequence number as sequence number.
348 virtual void AddPacket(uint32_t ssrc, 369 virtual void AddPacket(uint32_t ssrc,
349 uint16_t sequence_number, 370 uint16_t sequence_number,
350 size_t length, 371 size_t payload_size,
372 size_t rtp_header_size,
351 const PacedPacketInfo& pacing_info) = 0; 373 const PacedPacketInfo& pacing_info) = 0;
352 374
353 virtual void OnTransportFeedback(const rtcp::TransportFeedback& feedback) = 0; 375 virtual void OnTransportFeedback(const rtcp::TransportFeedback& feedback) = 0;
354 376
355 virtual std::vector<PacketFeedback> GetTransportFeedbackVector() const = 0; 377 virtual std::vector<PacketFeedback> GetTransportFeedbackVector() const = 0;
356 }; 378 };
357 379
358 class PacketFeedbackObserver { 380 class PacketFeedbackObserver {
359 public: 381 public:
360 virtual ~PacketFeedbackObserver() = default; 382 virtual ~PacketFeedbackObserver() = default;
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 class TransportSequenceNumberAllocator { 467 class TransportSequenceNumberAllocator {
446 public: 468 public:
447 TransportSequenceNumberAllocator() {} 469 TransportSequenceNumberAllocator() {}
448 virtual ~TransportSequenceNumberAllocator() {} 470 virtual ~TransportSequenceNumberAllocator() {}
449 471
450 virtual uint16_t AllocateSequenceNumber() = 0; 472 virtual uint16_t AllocateSequenceNumber() = 0;
451 }; 473 };
452 474
453 } // namespace webrtc 475 } // namespace webrtc
454 #endif // WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_DEFINES_H_ 476 #endif // WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_DEFINES_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698