Remove SendPacer from ViEEncoder and make sure SendPacer starts at a valid bitrate
This reverts commit e30c27205148b34ba421184efe65f6a0780b436d (https://codereview.webrtc.org/1958053002/) Original reverted cl is in patch set #1. Changes in following patch sets. The cl now also make sure SendPacer starts with the configured bitrate provided in a call to CongestionController::SetBweBitrates)() It turns out that the failing tests in 609816 is due to a bug in the current code that runs the proper at 300kbit regardless of configured start bitrate. Original cl description: Remove SendPacer from ViEEncoder This CL moves the logic where the ViEEncoder pause if the pacer is full to the BitrateController. If the queue is full, the controller reports a bitrate of zero to Call (and BitrateAllocator) BUG=chromium:609816, webrtc:5687 TBR=mflodman@webrtc.org NOTRY=True // Due to bug in android_x86 cq builder.... Review-Url: https://codereview.webrtc.org/1958113003 Cr-Commit-Position: refs/heads/master@{#12688}
This commit is contained in:
@ -28,6 +28,8 @@ namespace webrtc {
|
||||
|
||||
class BitrateControllerImpl : public BitrateController {
|
||||
public:
|
||||
// TODO(perkj): BitrateObserver has been deprecated and is not used in WebRTC.
|
||||
// |observer| is left for project that is not yet updated.
|
||||
BitrateControllerImpl(Clock* clock, BitrateObserver* observer);
|
||||
virtual ~BitrateControllerImpl() {}
|
||||
|
||||
@ -50,6 +52,11 @@ class BitrateControllerImpl : public BitrateController {
|
||||
|
||||
void SetEventLog(RtcEventLog* event_log) override;
|
||||
|
||||
// Returns true if the parameters have changed since the last call.
|
||||
bool GetNetworkParameters(uint32_t* bitrate,
|
||||
uint8_t* fraction_loss,
|
||||
int64_t* rtt) override;
|
||||
|
||||
int64_t TimeUntilNextProcess() override;
|
||||
void Process() override;
|
||||
|
||||
@ -64,20 +71,16 @@ class BitrateControllerImpl : public BitrateController {
|
||||
int number_of_packets,
|
||||
int64_t now_ms);
|
||||
|
||||
// Deprecated
|
||||
void MaybeTriggerOnNetworkChanged();
|
||||
|
||||
// Returns true if the parameters have changed since the last call.
|
||||
bool GetNetworkParameters(uint32_t* bitrate,
|
||||
uint8_t* fraction_loss,
|
||||
int64_t* rtt);
|
||||
|
||||
void OnNetworkChanged(uint32_t bitrate,
|
||||
uint8_t fraction_loss, // 0 - 255.
|
||||
int64_t rtt) EXCLUSIVE_LOCKS_REQUIRED(critsect_);
|
||||
|
||||
// Used by process thread.
|
||||
Clock* clock_;
|
||||
BitrateObserver* observer_;
|
||||
Clock* const clock_;
|
||||
BitrateObserver* const observer_;
|
||||
int64_t last_bitrate_update_ms_;
|
||||
|
||||
rtc::CriticalSection critsect_;
|
||||
|
||||
Reference in New Issue
Block a user