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

Unified Diff: webrtc/modules/pacing/paced_sender.h

Issue 2340763004: Add AlrDetector (Closed)
Patch Set: Addressed comments Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/pacing/paced_sender.h
diff --git a/webrtc/modules/pacing/paced_sender.h b/webrtc/modules/pacing/paced_sender.h
index 02d1dbd3d65a17262c697f364db2c02ec0eb9c2a..c175ff2caac867a178f4602b163e33a4821420b4 100644
--- a/webrtc/modules/pacing/paced_sender.h
+++ b/webrtc/modules/pacing/paced_sender.h
@@ -21,6 +21,7 @@
#include "webrtc/typedefs.h"
namespace webrtc {
+class AlrDetector;
class BitrateProber;
class Clock;
class CriticalSectionWrapper;
@@ -52,6 +53,14 @@ class PacedSender : public Module, public RtpPacketSender {
virtual ~PacketSender() {}
};
+ class PacingObserver {
philipel 2016/09/19 11:25:22 Add a unittest that use the PacingObserver.
Irfan 2016/09/19 22:15:03 Done.
+ public:
+ virtual void OnBytesSent(size_t bytes_sent, int64_t elapsed_time_ms) = 0;
+
+ protected:
+ virtual ~PacingObserver() {}
+ };
+
// Expected max pacer delay in ms. If ExpectedQueueTimeMs() is higher than
// this value, the packet producers should wait (eg drop frames rather than
// encoding them). Bitrate sent may temporarily exceed target set by
@@ -67,7 +76,8 @@ class PacedSender : public Module, public RtpPacketSender {
static const size_t kMinProbePacketSize = 200;
PacedSender(Clock* clock,
- PacketSender* packet_sender);
+ PacketSender* packet_sender,
+ PacingObserver* pacing_observer);
virtual ~PacedSender();
@@ -132,7 +142,9 @@ class PacedSender : public Module, public RtpPacketSender {
private:
// Updates the number of bytes that can be sent for the next time interval.
- void UpdateBytesPerInterval(int64_t delta_time_in_ms)
+ void UpdateBudgetWithElapsedTime(int64_t delta_time_in_ms)
+ EXCLUSIVE_LOCKS_REQUIRED(critsect_);
+ void UpdateBudgetWithBytesSent(size_t bytes)
EXCLUSIVE_LOCKS_REQUIRED(critsect_);
bool SendPacket(const paced_sender::Packet& packet, int probe_cluster_id)
@@ -142,6 +154,7 @@ class PacedSender : public Module, public RtpPacketSender {
Clock* const clock_;
PacketSender* const packet_sender_;
+ PacingObserver* const pacing_observer_;
std::unique_ptr<CriticalSectionWrapper> critsect_;
bool paused_ GUARDED_BY(critsect_);

Powered by Google App Engine
This is Rietveld 408576698