15 Commits

Author SHA1 Message Date
oprypin
ba09f79ba3 Make UBSan warnings fatal and fix the existing ones
The warnings were (all signed integer overflow):
webrtc/common_audio/signal_processing/levinson_durbin.c:46:25
12 * 268435456 cannot be represented in type 'int'
webrtc/modules/audio_processing/aecm/aecm_core.cc:930:69
522240 * 6115 cannot be represented in type 'int'
webrtc/modules/audio_processing/aecm/aecm_core_c.cc:455:36
72293096 * 50 cannot be represented in type 'int'
webrtc/modules/pacing/alr_detector.cc:70:48
1000000000 * 65 cannot be represented in type 'int'
webrtc/modules/rtp_rtcp/source/rtp_sender.cc:947:20
1929277286 + 321546521 cannot be represented in type 'int'

BUG=webrtc:8195

Review-Url: https://codereview.webrtc.org/3005003002
Cr-Commit-Position: refs/heads/master@{#19670}
2017-09-04 15:32:43 +00:00
ilnik
6d5b4d6fe1 Piggybacking simulcast id and ALR experiment id into video content type extension.
Use it to slice UMA video receive statis.

BUG=8032

Review-Url: https://codereview.webrtc.org/2986893002
Cr-Commit-Position: refs/heads/master@{#19598}
2017-08-30 10:32:14 +00:00
agrieve
26622d3ff8 Audit of kConstants missing the const qualifier
Found via supersize query:
size_info.symbols.WhereFullNameMatches(r'\bk[A-Z]').WhereInSection('d')

This moves 90 symbols from .data -> .data.rel.ro (5.50kb)

BUG=chromium:747064

Review-Url: https://codereview.webrtc.org/2986163002
Cr-Commit-Position: refs/heads/master@{#19274}
2017-08-08 17:48:15 +00:00
stefan
d7a418f93a Add an experiment for stricter pacing and ALR probing.
BUG=webrtc:8072

Review-Url: https://codereview.webrtc.org/2994623002
Cr-Commit-Position: refs/heads/master@{#19270}
2017-08-08 13:51:05 +00:00
tschumim
82c5593cb6 Let alr detector use a budged to detect underuse.
BUG=webrtc:7947

Review-Url: https://codereview.webrtc.org/2965233002
Cr-Commit-Position: refs/heads/master@{#18972}
2017-07-11 13:56:04 +00:00
Edward Lemur
c20978e581 Rename webrtc/base -> webrtc/rtc_base
NOPRESUBMIT=True # cpplint errors that aren't caused by this CL.
NOTRY=True
NOTREECHECKS=True
TBR=kwiberg@webrtc.org, kjellander@webrtc.org

Bug: webrtc:7634
Change-Id: I3cca0fbaa807b563c95979cccd6d1bec32055f36
Reviewed-on: https://chromium-review.googlesource.com/562156
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18919}
2017-07-06 19:11:40 +00:00
Henrik Kjellander
dca1e09db7 Revert "Update includes for webrtc/{base => rtc_base} rename (1/3)"
This reverts commit c8fa692ec44fd6ba4fa3d085ac3161a262fc18c5.

BUG=webrtc:7634
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2964773002 .
Cr-Commit-Position: refs/heads/master@{#18872}
2017-07-01 14:42:25 +00:00
kjellander
c8fa692ec4 Update includes for webrtc/{base => rtc_base} rename (1/3)
I used a command like this to update the paths:
perl -pi -e "s/webrtc\/base/webrtc\/rtc_base/g" `find webrtc/rtc_base -name "*.cc" -o -name "*.h"`

The only manual edit is to add an include of webrtc/rtc_base/checks.h in
webrtc/modules/audio_device/android/opensles_common.h, which likely
was needed due to changed include paths due to 'git cl format'.

BUG=webrtc:7634
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2969653002
Cr-Commit-Position: refs/heads/master@{#18871}
2017-06-30 21:02:00 +00:00
sprang
89c4a7e57d Wire up experiment for improved screenshare bwe.
Also adds some full stack test variants with the experiment enabled.

BUG=webrtc:7694

Review-Url: https://codereview.webrtc.org/2949553002
Cr-Commit-Position: refs/heads/master@{#18869}
2017-06-30 20:27:40 +00:00
stefan
f00497c573 Improve bitrate probing for the audio-only case.
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}
2017-01-27 10:27:33 +00:00
nisse
b93598465d Revert of Move congestion controller processing to the pacer thread. (patchset #5 id:80001 of https://codereview.webrtc.org/2637783003/ )
Reason for revert:
Speculative revert for perf regression related to ramp-up on android. See https://bugs.chromium.org/p/chromium/issues/detail?id=682611

Original issue's description:
> Move congestion controller processing to the pacer thread.
>
> Also rename it from pacer_thread_ to congestion_controller_thread_.
>
> BUG=webrtc:6847
>
> Review-Url: https://codereview.webrtc.org/2637783003
> Cr-Commit-Position: refs/heads/master@{#16134}
> Committed: b3dc2b7b1e

TBR=danilchap@webrtc.org,stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6847

Review-Url: https://codereview.webrtc.org/2644603003
Cr-Commit-Position: refs/heads/master@{#16163}
2017-01-19 13:41:25 +00:00
nisse
b3dc2b7b1e Move congestion controller processing to the pacer thread.
Also rename it from pacer_thread_ to congestion_controller_thread_.

BUG=webrtc:6847

Review-Url: https://codereview.webrtc.org/2637783003
Cr-Commit-Position: refs/heads/master@{#16134}
2017-01-18 08:10:31 +00:00
sergeyu
80ed35e21c Implement periodic bandwidth probing in application-limited region.
Now ProbeController can send periodic bandwidth probes when in
application-limited region. This will allow to maintain correct
bottleneck bandwidth estimate, even not all bandwidth is being used.
The feature is not enabled by default, but can be enabled with a flag.
Interval between probes is currently set to 5 seconds.

BUG=webrtc:6332

Review-Url: https://codereview.webrtc.org/2504023002
Cr-Commit-Position: refs/heads/master@{#15279}
2016-11-28 21:11:24 +00:00
Sergey Ulanov
0182f85fd1 More reliable ALR detection
Previously AlrDetector was measuring amount of data sent in each 100ms
interval and would enter ALR mode after 5 consecutive intervals when
average bandwidth usage doesn't exceed 30% of the current estimate
estimate. This meant that an application that uses only slightely more
than 6% of total bandwidth may stay out of ALR mode, e.g. if it sends
a frame of size BW*30ms every 0.5 seconds. 100ms is too short interval
to average over, particularly when frame-rate falls below 10fps.

With this change AlrDetector averages BW usage over last 500ms. It then
enters ALR state when usage falls below 30% and exits it when usage
exceeds 50%.

BUG=webrtc:6332
R=philipel@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2503643003 .

Cr-Commit-Position: refs/heads/master@{#15109}
2016-11-16 23:42:22 +00:00
isheriff
3168781d2f Add AlrDetector
This is a simple application limited region detector that is quite conservative
at the moment. We detect as being application-limited if we see sending rate
as less than 30% of the estimated bandwidth over 500 ms. The moment we detect
a single burst above 30% over a 100 ms period, we consider ourselves network
limited.

This class is currently not used. A follow up CL will leverage this to enable probing.

BUG=webrtc:6332

Review-Url: https://codereview.webrtc.org/2340763004
Cr-Commit-Position: refs/heads/master@{#14505}
2016-10-04 15:43:15 +00:00