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

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

Issue 2638083002: Attach TransportFeedbackPacketLossTracker to ANA (PLR only) (Closed)
Patch Set: Rebased Created 3 years, 9 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 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 uint16_t sequence_number; 330 uint16_t sequence_number;
331 // Size of the packet excluding RTP headers. 331 // Size of the packet excluding RTP headers.
332 size_t payload_size; 332 size_t payload_size;
333 // The network route ids that this packet is associated with. 333 // The network route ids that this packet is associated with.
334 uint16_t local_net_id; 334 uint16_t local_net_id;
335 uint16_t remote_net_id; 335 uint16_t remote_net_id;
336 // Pacing information about this packet. 336 // Pacing information about this packet.
337 PacedPacketInfo pacing_info; 337 PacedPacketInfo pacing_info;
338 }; 338 };
339 339
340 // TODO(elad.alon): After the current TransportFeedbackObserver becomes obsolete
341 // and is removed, use that name for this observer instead.
342 // Background: The only implementers of this interface are
343 // CongestionController and TransportFeedbackProxy.
344 // CongestionController uses it to expose only a small subset of its
345 // capabilities.
346 // TransportFeedbackProxy is a temporary solution which exists to allow passing
347 // the CongestionController down at a later stage.
348 // Ideally, we'd get rid of this altogether, exposing CC. This will be done
349 // after the order-of-creation issues have been resolved, and
350 // TransportFeedbackProxy therefore removed. Then, we'll remove
351 // TransportFeedbackAdapterObserver, reuse the name
352 // TransportFeedbackObserver for TransportFeedbackAdapterObserver, and only
353 // have one observer.
340 class TransportFeedbackObserver { 354 class TransportFeedbackObserver {
341 public: 355 public:
342 TransportFeedbackObserver() {} 356 TransportFeedbackObserver() {}
343 virtual ~TransportFeedbackObserver() {} 357 virtual ~TransportFeedbackObserver() {}
344 358
345 // Note: Transport-wide sequence number as sequence number. 359 // Note: Transport-wide sequence number as sequence number.
346 virtual void AddPacket(uint16_t sequence_number, 360 virtual void AddPacket(uint32_t ssrc,
361 uint16_t sequence_number,
347 size_t length, 362 size_t length,
348 const PacedPacketInfo& pacing_info) = 0; 363 const PacedPacketInfo& pacing_info) = 0;
349 364
350 virtual void OnTransportFeedback(const rtcp::TransportFeedback& feedback) = 0; 365 virtual void OnTransportFeedback(const rtcp::TransportFeedback& feedback) = 0;
351 366
352 virtual std::vector<PacketFeedback> GetTransportFeedbackVector() const = 0; 367 virtual std::vector<PacketFeedback> GetTransportFeedbackVector() const = 0;
353 }; 368 };
354 369
370 // See TODO above TransportFeedbackObserver for explanation of the difference
371 // between these two.
372 class TransportFeedbackAdapterObserver {
373 public:
374 virtual ~TransportFeedbackAdapterObserver() = default;
375
376 virtual void OnPacketAdded(uint32_t ssrc, uint16_t seq_num) = 0;
377 virtual void OnNewTransportFeedbacks(
378 const std::vector<PacketFeedback>& packet_feedbacks) = 0;
379 };
380
355 class RtcpRttStats { 381 class RtcpRttStats {
356 public: 382 public:
357 virtual void OnRttUpdate(int64_t rtt) = 0; 383 virtual void OnRttUpdate(int64_t rtt) = 0;
358 384
359 virtual int64_t LastProcessedRtt() const = 0; 385 virtual int64_t LastProcessedRtt() const = 0;
360 386
361 virtual ~RtcpRttStats() {} 387 virtual ~RtcpRttStats() {}
362 }; 388 };
363 389
364 // Null object version of RtpFeedback. 390 // Null object version of RtpFeedback.
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 class TransportSequenceNumberAllocator { 459 class TransportSequenceNumberAllocator {
434 public: 460 public:
435 TransportSequenceNumberAllocator() {} 461 TransportSequenceNumberAllocator() {}
436 virtual ~TransportSequenceNumberAllocator() {} 462 virtual ~TransportSequenceNumberAllocator() {}
437 463
438 virtual uint16_t AllocateSequenceNumber() = 0; 464 virtual uint16_t AllocateSequenceNumber() = 0;
439 }; 465 };
440 466
441 } // namespace webrtc 467 } // namespace webrtc
442 #endif // WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_DEFINES_H_ 468 #endif // WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_DEFINES_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698