I noticed while profiling calls to TimeUntilNextProcess.
It's benign, but the implementation seems to be done to accomodate the
test rather than the other way around, so I'm making the test behave
more like a ProcessThread would.
BUG=None
Review-Url: https://codereview.webrtc.org/2715133002
Cr-Commit-Position: refs/heads/master@{#16867}
In order to not make this CL too large I have broken it down into at least two
steps. Previous CL: https://codereview.chromium.org/2628563003/
webrtc::PacedSender::Process <--- previous CL start here
webrtc::PacedSender::SendPacket
webrtc::PacketRouter::TimeToSendPacket
webrtc::ModuleRtpRtcpImpl::TimeToSendPacket <--- previous CL end here, this Cl start here
webrtc::RTPSender::TimeToSendPacket
webrtc::RTPSender::PrepareAndSendPacket
webrtc::RTPSender::AddPacketToTransportFeedback
webrtc::TransportFeedbackAdapter::AddPacket
webrtc::SendTimeHistory::AddAndRemoveOld <--- this CL end here
BUG=webrtc:6822
Review-Url: https://codereview.webrtc.org/2708873003
Cr-Commit-Position: refs/heads/master@{#16796}
In order to not make this CL too large I have broken it down into at least two steps. In this CL we only propagate the pacing information part of the way:
webrtc::PacedSender::Process <--- propagate from here
webrtc::PacedSender::SendPacket
webrtc::PacketRouter::TimeToSendPacket
webrtc::ModuleRtpRtcpImpl::TimeToSendPacket <--- to here
webrtc::RTPSender::TimeToSendPacket
webrtc::RTPSender::PrepareAndSendPacket
webrtc::RTPSender::AddPacketToTransportFeedback
webrtc::TransportFeedbackAdapter::AddPacket
webrtc::SendTimeHistory::AddAndRemoveOld <--- goal is to propagte it here
BUG=webrtc:6822
Review-Url: https://codereview.webrtc.org/2628563003
Cr-Commit-Position: refs/heads/master@{#16664}
Lateness is determined by the length of the send-side history, currently
set to 60 seconds.
BUG=webrtc:5079
Review-Url: https://codereview.webrtc.org/2684353004
Cr-Commit-Position: refs/heads/master@{#16588}
This avoids issues where the bitrate produced by the codec is far lower than the target bitrate in the beginning, which causes the delay-based BWE to be initialized accordingly.
BUG=webrtc:5079
Review-Url: https://codereview.webrtc.org/2653883002
Cr-Commit-Position: refs/heads/master@{#16327}
This means that smaller probe packets will be allowed at lower bitrates.
BUG=webrtc:7043
Review-Url: https://codereview.webrtc.org/2650393002
Cr-Commit-Position: refs/heads/master@{#16317}
Bulk of the changes were done using
git grep -l '#include "webrtc/base/common.h"' | \
xargs sed -i '\,^#include.*webrtc/base/common\.h,d'
followed by adding back the include in the few places where it is
still needed, and in one case (pseudotcp.cc) instead deleting its use
of RTC_UNUSED.
BUG=webrtc:6424
Review-Url: https://codereview.webrtc.org/2644103002
Cr-Commit-Position: refs/heads/master@{#16263}
I've tested both the old and the new delay estimators and they all work ok at 15 kbps. The new estimators are a bit slower to adapt down so the maximum delay is a bit higher, especially at lower bitrates.
None of the estimators work at 10 kbps, but that is likely because the bitrate controller is configured to never go below 10 kbps. This means that it's impossible to empty the queues after a capacity drop to 10kbps (regardless of what the estimators do), so the delay stays high until the capacity increases.
BUG=webrtc:7022
Review-Url: https://codereview.webrtc.org/2644463009
Cr-Commit-Position: refs/heads/master@{#16233}
It combines and simplify use of GetStatusVector and GetReceiveDeltas accesors.
Replace use of all GetStatusVector/GetReceiveDeltasUs
BUG=None
Review-Url: https://codereview.webrtc.org/2633923003
Cr-Commit-Position: refs/heads/master@{#16139}
Theil and Sen's estimator essentially looks at the line through every pair of points and selects the median slope. This is robust to corruption of up to 29% of the data points.
Wire up new estimator to field trial experiment. Add unit and integration tests. Results are promising.
BUG=webrtc:6728
Review-Url: https://codereview.webrtc.org/2512693002
Cr-Commit-Position: refs/heads/master@{#15508}
Before this the BWE was allowed to operate freely up to 100 kbps. This isn't a good idea for audio BWE.
BUG=webrtc:5079
Review-Url: https://codereview.webrtc.org/2542083003
Cr-Commit-Position: refs/heads/master@{#15389}
AdaptiveVideoSource is used in testing/simulations of the bandwidth estimator.
Nada's reaction to delay depends on the current bitrate and the configured max rate in a non-intuituve way. Increase the starting bitrate to compensate for the increased max bitrate. This is only used in unit tests.
BUG=webrtc:6807
# Presubmit warns about a lint error in bwe.h that's unrelated to my change. Fixing it is beyond the scope of this CL.
NOPRESUBMIT=true
Review-Url: https://codereview.webrtc.org/2542843003
Cr-Commit-Position: refs/heads/master@{#15364}
There's no longer any need to make the two arguments have the same
signedness, so we can drop the "u" suffix on literal integer
arguments.
NOPRESUBMIT=true
BUG=webrtc:6645
Review-Url: https://codereview.webrtc.org/2535593002
Cr-Commit-Position: refs/heads/master@{#15280}
Reason for revert:
Breaks downstream projects:
error: undefined reference to 'rtc::ExpFilter::kValueUndefined'
error: undefined reference to 'rtc::ExpFilter::Apply(float, float)'
error: undefined reference to 'rtc::ExpFilter::Reset(float)'
rror: undefined reference to 'rtc::ExpFilter::UpdateBase(float)'
Original issue's description:
> Move smoothing filter to common audio.
>
> This will make the smoothing filter a basic tool that is going to be used by both voice engine and ANA.
>
> BUG=webrtc:6443
>
> Committed: https://crrev.com/a82395bf7cd15b7396456df06fe952ede8db0c39
> Cr-Commit-Position: refs/heads/master@{#15146}
TBR=minyue@webrtc.org,solenberg@webrtc.org,perkj@webrtc.org,tommi@webrtc.org,michaelt@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6443
Review-Url: https://codereview.webrtc.org/2510373002
Cr-Commit-Position: refs/heads/master@{#15147}
This will make the smoothing filter a basic tool that is going to be used by both voice engine and ANA.
BUG=webrtc:6443
Review-Url: https://codereview.webrtc.org/2484153002
Cr-Commit-Position: refs/heads/master@{#15146}