Revert "Revert of Remove SendPacer from ViEEncoder (patchset #13 id:240001 of https://codereview.webrtc.org/1917793002/ )"
This reverts commit 825eb58d59940a4c3c9837595c4b3b07059c93ca. This Relands the cl reviewed in https://codereview.webrtc.org/1917793002/ patchset #1 is a pure reland. patchset #2 fix an overflow in BitrateProber that caused WebRtcVideoChannel2BaseTest.TwoStreamsSendAndReceive to fail. 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) R=stefan@webrtc.org TBR=mflodman@webrtc.org BUG=webrtc:5687 Review URL: https://codereview.webrtc.org/1947873002 . Cr-Commit-Position: refs/heads/master@{#12630}
This commit is contained in:
@ -83,6 +83,10 @@ BitrateController* BitrateController::CreateBitrateController(
|
||||
return new BitrateControllerImpl(clock, observer);
|
||||
}
|
||||
|
||||
BitrateController* BitrateController::CreateBitrateController(Clock* clock) {
|
||||
return new BitrateControllerImpl(clock, nullptr);
|
||||
}
|
||||
|
||||
BitrateControllerImpl::BitrateControllerImpl(Clock* clock,
|
||||
BitrateObserver* observer)
|
||||
: clock_(clock),
|
||||
@ -94,8 +98,8 @@ BitrateControllerImpl::BitrateControllerImpl(Clock* clock,
|
||||
last_fraction_loss_(0),
|
||||
last_rtt_ms_(0),
|
||||
last_reserved_bitrate_bps_(0) {
|
||||
// This calls the observer_, which means that the observer provided by the
|
||||
// user must be ready to accept a bitrate update when it constructs the
|
||||
// This calls the observer_ if set, which means that the observer provided by
|
||||
// the user must be ready to accept a bitrate update when it constructs the
|
||||
// controller. We do this to avoid having to keep synchronized initial values
|
||||
// in both the controller and the allocator.
|
||||
MaybeTriggerOnNetworkChanged();
|
||||
@ -199,11 +203,15 @@ void BitrateControllerImpl::OnReceivedRtcpReceiverReport(
|
||||
}
|
||||
|
||||
void BitrateControllerImpl::MaybeTriggerOnNetworkChanged() {
|
||||
uint32_t bitrate;
|
||||
if (!observer_)
|
||||
return;
|
||||
|
||||
uint32_t bitrate_bps;
|
||||
uint8_t fraction_loss;
|
||||
int64_t rtt;
|
||||
if (GetNetworkParameters(&bitrate, &fraction_loss, &rtt))
|
||||
observer_->OnNetworkChanged(bitrate, fraction_loss, rtt);
|
||||
|
||||
if (GetNetworkParameters(&bitrate_bps, &fraction_loss, &rtt))
|
||||
observer_->OnNetworkChanged(bitrate_bps, fraction_loss, rtt);
|
||||
}
|
||||
|
||||
bool BitrateControllerImpl::GetNetworkParameters(uint32_t* bitrate,
|
||||
|
||||
Reference in New Issue
Block a user