58 Commits

Author SHA1 Message Date
ehmaldonado
f6a861ab6c Remove remains of webrtc/base
All downstream code have been updated to the new location.

In PRESUBMIT.py:
* Remove webrtc/rtc_base from CPP_BLACKLIST
* Add webrtc/rtc_base to LEGACY_API_DIRS

Fix some duplicated paths in
webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn

BUG=webrtc:7634
TBR=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2976293002
Cr-Commit-Position: refs/heads/master@{#19094}
2017-07-19 17:40:47 +00:00
gnish
157cbbd3a7 Added implementation of three classes:
1) MaxBandwidthFilter
2) MinRttFilter
3) CongestionWindow

Added unit-tests for those classes.

BUG=webrtc:7713

Review-Url: https://codereview.webrtc.org/2966403002
Cr-Commit-Position: refs/heads/master@{#19067}
2017-07-18 09:50:22 +00:00
jianjun.zhu
c024740b5e Use relative paths in GN files.
BUG=webrtc:7952
TBR=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2974863003
Cr-Commit-Position: refs/heads/master@{#18970}
2017-07-11 13:20:45 +00:00
ehmaldonado
370dd47973 Revert of Remove remains of webrtc/base (patchset #7 id:120001 of https://codereview.webrtc.org/2973183002/ )
Reason for revert:
Breaks lots of downstream projects.

Original issue's description:
> Remove remains of webrtc/base
>
> All downstream code have been updated to the new location.
>
> In PRESUBMIT.py:
> * Remove webrtc/rtc_base from CPP_BLACKLIST
> * Add webrtc/rtc_base to LEGACY_API_DIRS
>
> Fix some duplicated paths in
> webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn
>
> BUG=webrtc:7634
> TBR=kwiberg@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2973183002
> Cr-Commit-Position: refs/heads/master@{#18948}
> Committed:
9483b49baf

TBR=kwiberg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7634

Review-Url: https://codereview.webrtc.org/2976633002
Cr-Commit-Position: refs/heads/master@{#18949}
2017-07-10 12:58:42 +00:00
ehmaldonado
9483b49baf Remove remains of webrtc/base
All downstream code have been updated to the new location.

In PRESUBMIT.py:
* Remove webrtc/rtc_base from CPP_BLACKLIST
* Add webrtc/rtc_base to LEGACY_API_DIRS

Fix some duplicated paths in
webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn

BUG=webrtc:7634
TBR=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2973183002
Cr-Commit-Position: refs/heads/master@{#18948}
2017-07-10 11:50:54 +00:00
gnish
191113a46b Added implementation of four functions in the BBR congestion controller:
1) Function responsible for receiving feedback, digesting data and deciding switch scenarios.
2) Function which enters Startup mode.
3) Function which exits Startup mode.
4) Function which calculates, whether or not full bandwidth is reached.

BUG=webrtc:7713

Review-Url: https://codereview.webrtc.org/2924603002
Cr-Commit-Position: refs/heads/master@{#18901}
2017-07-05 12:00:46 +00:00
gnish
6dcdf10c76 This is an initial cl, which contains small amount of implemented functions, and large amount of unimplemented ones.
Code should implement BBR which is the congestion controlling algorithm. BBR tries to estimate two values bottle-neck bandwidth(bw) and round trip time(rtt),then use these two values to set two control parameters pacing rate(pacing_rate),the rate at which data should be sent and congestion window size (cwnd), cwnd is the upper bound for data in flight,data_in_flight <= cwnd at all time.
BBR has four modes:
1)Startup-ramping up throughput discovering estimated bw.
2)Drain-after Startup decrease throughput to drain queues.
3)Probe Bandwidth-most of the time BBR should be in this mode,
sending data at the rate of estimated bw, while sometimes trying to discover new bandwidth.
4)Probe Rtt-in this mode BBR tries to discover new rtt for the connection.

The key moment in BBR is when we receive feedback from the receiver,as this is the only moment which should effect our two estimators. At this moment all the switches between modes should happen, except switch to ProbeRtt mode (switching to ProbeRtt mode should happen when current min_rtt value expires).

This cl serves to emphasize the structure of Bbr, when switches happen and what key classes/functions should be implemented for proper functionality.

BUG=webrtc:7713
NOTRY=True

Review-Url: https://codereview.webrtc.org/2904183002
Cr-Commit-Position: refs/heads/master@{#18444}
2017-06-05 13:01:26 +00:00
mbonadei
1140f97e48 Reland of Creating webrtc/modules:module_api (patchset #1 id:1 of https://codereview.webrtc.org/2839963005/ )
Reason for revert:
Fixing the Gn error and try to reland.

Original issue's description:
> Revert of Creating webrtc/modules:module_api (patchset #5 id:80001 of https://codereview.webrtc.org/2838873002/ )
>
> Reason for revert:
> Causes build problem: https://build.chromium.org/p/client.webrtc/builders/iOS64%20Sim%20Debug%20%28iOS%209.0%29/builds/1630/steps/generate%20build%20files%20%28mb%29/logs/stdio
>
> Original issue's description:
> > Creating webrtc/modules:module_api
> >
> > This target keeps track of .h the files under webrtc/modules/include/
> > that are not part of any target.
> > If a .h file is not part of a target the 'gn check' utility is not
> > able to spot if a target is missing a dependency because even if
> > it parses '#include' directives it is not able to find a target that
> > contains these headers.
> >
> > BUG=webrtc:7513
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2838873002
> > Cr-Commit-Position: refs/heads/master@{#17880}
> > Committed: 5a1a092ed0
>
> TBR=kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7513
>
> Review-Url: https://codereview.webrtc.org/2839963005
> Cr-Commit-Position: refs/heads/master@{#17881}
> Committed: bb08c3e296

TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=kjellander@webrtc.org
BUG=webrtc:7513

Review-Url: https://codereview.webrtc.org/2843913002
Cr-Commit-Position: refs/heads/master@{#17884}
2017-04-26 10:38:35 +00:00
mbonadei
bb08c3e296 Revert of Creating webrtc/modules:module_api (patchset #5 id:80001 of https://codereview.webrtc.org/2838873002/ )
Reason for revert:
Causes build problem: https://build.chromium.org/p/client.webrtc/builders/iOS64%20Sim%20Debug%20%28iOS%209.0%29/builds/1630/steps/generate%20build%20files%20%28mb%29/logs/stdio

Original issue's description:
> Creating webrtc/modules:module_api
>
> This target keeps track of .h the files under webrtc/modules/include/
> that are not part of any target.
> If a .h file is not part of a target the 'gn check' utility is not
> able to spot if a target is missing a dependency because even if
> it parses '#include' directives it is not able to find a target that
> contains these headers.
>
> BUG=webrtc:7513
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2838873002
> Cr-Commit-Position: refs/heads/master@{#17880}
> Committed: 5a1a092ed0

TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7513

Review-Url: https://codereview.webrtc.org/2839963005
Cr-Commit-Position: refs/heads/master@{#17881}
2017-04-26 09:00:16 +00:00
mbonadei
5a1a092ed0 Creating webrtc/modules:module_api
This target keeps track of .h the files under webrtc/modules/include/
that are not part of any target.
If a .h file is not part of a target the 'gn check' utility is not
able to spot if a target is missing a dependency because even if
it parses '#include' directives it is not able to find a target that
contains these headers.

BUG=webrtc:7513
NOTRY=True

Review-Url: https://codereview.webrtc.org/2838873002
Cr-Commit-Position: refs/heads/master@{#17880}
2017-04-26 08:53:54 +00:00
kjellander
e0629c045e GN: Tighten up test target visibility + refactorings
Make all rtc_source_test target that contains tests that
are included in a test executable only be visible to the
rtc_test target. Doing this exposed a couple of errors and
dependency problems that were resolved. Having this could
have prevented duplicated execution of tests like the case that
was recently fixed by deadbeef@ in
https://codereview.webrtc.org/2820263004

New targets:
* //webrtc/modules/rtp_rtcp:fec_test_helper
* //webrtc/modules/rtp_rtcp:mock_rtp_rtcp
* //webrtc/modules/remote_bitrate_estimator:mock_remote_bitrate_observer

The mock files and targets should probably be moved into webrtc/test in
the future, but that's out of the scope of this CL.

BUG=webrtc:5716
NOTRY=True

Review-Url: https://codereview.webrtc.org/2828793003
Cr-Commit-Position: refs/heads/master@{#17863}
2017-04-25 11:04:50 +00:00
ehmaldonado
90474ccd12 GN: Make //webrtc/test:fileutils visible only to //webrtc/test.
BUG=webrtc:6727
NOTRY=True

Review-Url: https://codereview.webrtc.org/2754893002
Cr-Commit-Position: refs/heads/master@{#17283}
2017-03-17 10:47:24 +00:00
elad.alon
fb1fa44d70 Remove MockRemoteBitrateObserver (unused)
BUG=None

Review-Url: https://codereview.webrtc.org/2731523002
Cr-Commit-Position: refs/heads/master@{#17060}
2017-03-06 11:48:14 +00:00
terelius
f18847fa6a Remove unused variables from MetricRecorder.
BUG=webrtc:7209

Review-Url: https://codereview.webrtc.org/2704343004
Cr-Commit-Position: refs/heads/master@{#16831}
2017-02-24 16:45:36 +00:00
ehmaldonado
656610fbe7 Move frame_generator_capture.{cc, h} and video_capturer.h to video_test_common.
Remove video_capture as a dependency of test_common and add it as a dependency of modules_unittests, as it was before the refactor in https://codereview.webrtc.org/2629923002

BUG=webrtc:7037
NOTRY=True

Review-Url: https://codereview.webrtc.org/2666113003
Cr-Commit-Position: refs/heads/master@{#16439}
2017-02-06 10:21:11 +00:00
ehmaldonado
9cbb0a16e5 Reland of GN: Refactor modules_unittests to eliminate package boundary violations. (patchset #1 id:1 of https://codereview.webrtc.org/2651023005/ )
Reason for revert:
Will change the name from bwe_simulator to bwe_simulator_test.

Original issue's description:
> Revert of GN: Refactor modules_unittests to eliminate package boundary violations. (patchset #4 id:130001 of https://codereview.webrtc.org/2649563002/ )
>
> Reason for revert:
> Did break the bots.
> https://build.chromium.org/p/client.webrtc/builders/iOS32%20Release/builds/9807
>
> Original issue's description:
> > GN: Refactor modules_unittests to eliminate package boundary violations.
> >
> > Also move bwe_simulator to webrtc/modules/remote_bitrate_estimator
> >
> > BUG=webrtc:6954
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2649563002
> > Cr-Commit-Position: refs/heads/master@{#16270}
> > Committed: 36cb55d715
>
> TBR=kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6954
>
> Review-Url: https://codereview.webrtc.org/2651023005
> Cr-Commit-Position: refs/heads/master@{#16271}
> Committed: 3373eaa577

R=kjellander@webrtc.org
NOTRY=true
BUG=webrtc:6954

Review-Url: https://codereview.webrtc.org/2653173003
Cr-Commit-Position: refs/heads/master@{#16356}
2017-01-30 11:07:03 +00:00
ehmaldonado
3373eaa577 Revert of GN: Refactor modules_unittests to eliminate package boundary violations. (patchset #4 id:130001 of https://codereview.webrtc.org/2649563002/ )
Reason for revert:
Did break the bots.
https://build.chromium.org/p/client.webrtc/builders/iOS32%20Release/builds/9807

Original issue's description:
> GN: Refactor modules_unittests to eliminate package boundary violations.
>
> Also move bwe_simulator to webrtc/modules/remote_bitrate_estimator
>
> BUG=webrtc:6954
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2649563002
> Cr-Commit-Position: refs/heads/master@{#16270}
> Committed: 36cb55d715

TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6954

Review-Url: https://codereview.webrtc.org/2651023005
Cr-Commit-Position: refs/heads/master@{#16271}
2017-01-25 16:11:28 +00:00
ehmaldonado
36cb55d715 GN: Refactor modules_unittests to eliminate package boundary violations.
Also move bwe_simulator to webrtc/modules/remote_bitrate_estimator

BUG=webrtc:6954
NOTRY=True

Review-Url: https://codereview.webrtc.org/2649563002
Cr-Commit-Position: refs/heads/master@{#16270}
2017-01-25 16:00:15 +00:00
mbonadei
9aa3f0a200 Reland of Moving webrtc.gni up one level from build/ (patchset #1 id:1 of https://codereview.webrtc.org/2657563002/ )
Reason for revert:
Starting to work on a fix (it seems that there are third_party dependencies that depends on the path to the webrtc.gni file)

Original issue's description:
> Revert of Moving webrtc.gni up one level from build/ (patchset #1 id:1 of https://codereview.webrtc.org/2651543003/ )
>
> Reason for revert:
> This was causing the following failure: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder/builds/838/steps/generate_build_files/logs/stdio
>
> Original issue's description:
> > Moving webrtc.gni up one level from build/
> >
> > BUG=webrtc:7030
> >
> > Review-Url: https://codereview.webrtc.org/2651543003
> > Cr-Commit-Position: refs/heads/master@{#16241}
> > Committed: 35a32700fc
>
> TBR=kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7030
>
> Review-Url: https://codereview.webrtc.org/2657563002
> Cr-Commit-Position: refs/heads/master@{#16244}
> Committed: 69dc7dbe24

TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7030

Review-Url: https://codereview.webrtc.org/2654773002
Cr-Commit-Position: refs/heads/master@{#16247}
2017-01-24 14:58:22 +00:00
mbonadei
69dc7dbe24 Revert of Moving webrtc.gni up one level from build/ (patchset #1 id:1 of https://codereview.webrtc.org/2651543003/ )
Reason for revert:
This was causing the following failure: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder/builds/838/steps/generate_build_files/logs/stdio

Original issue's description:
> Moving webrtc.gni up one level from build/
>
> BUG=webrtc:7030
>
> Review-Url: https://codereview.webrtc.org/2651543003
> Cr-Commit-Position: refs/heads/master@{#16241}
> Committed: 35a32700fc

TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7030

Review-Url: https://codereview.webrtc.org/2657563002
Cr-Commit-Position: refs/heads/master@{#16244}
2017-01-24 13:14:35 +00:00
mbonadei
35a32700fc Moving webrtc.gni up one level from build/
BUG=webrtc:7030

Review-Url: https://codereview.webrtc.org/2651543003
Cr-Commit-Position: refs/heads/master@{#16241}
2017-01-24 12:49:35 +00:00
ehmaldonado
3626865be2 GN: Refactor modules_unittests to eliminate package boundary violations.
BUG=webrtc:6954

Review-Url: https://codereview.webrtc.org/2629923002
Cr-Commit-Position: refs/heads/master@{#16166}
2017-01-19 16:27:11 +00:00
ehmaldonado
021eef32f4 Reland of actor webrtc_perf_tests into several source_sets. (patchset #1 id:1 of https://codereview.webrtc.org/2613913002/ )
Reason for revert:
Try again.

Original issue's description:
> Revert of Refactor webrtc_perf_tests into several source_sets. (patchset #5 id:100001 of https://codereview.webrtc.org/2609403002/ )
>
> Reason for revert:
> Probably cause unexpected performance regression
> BUG=chromium:678569
>
> Original issue's description:
> > Refactor webrtc_perf_tests into several source_sets.
> >
> > BUG=webrtc:6954
> >
> > Review-Url: https://codereview.webrtc.org/2609403002
> > Cr-Commit-Position: refs/heads/master@{#15902}
> > Committed: 0b5a26a576
>
> TBR=kjellander@webrtc.org,ehmaldonado@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6954
>
> Review-Url: https://codereview.webrtc.org/2613913002
> Cr-Commit-Position: refs/heads/master@{#15916}
> Committed: 5fbcd228f0

TBR=kjellander@webrtc.org,danilchap@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:678569

Review-Url: https://codereview.webrtc.org/2615873002
Cr-Commit-Position: refs/heads/master@{#15919}
2017-01-05 15:09:50 +00:00
danilchap
5fbcd228f0 Revert of Refactor webrtc_perf_tests into several source_sets. (patchset #5 id:100001 of https://codereview.webrtc.org/2609403002/ )
Reason for revert:
Probably cause unexpected performance regression
BUG=chromium:678569

Original issue's description:
> Refactor webrtc_perf_tests into several source_sets.
>
> BUG=webrtc:6954
>
> Review-Url: https://codereview.webrtc.org/2609403002
> Cr-Commit-Position: refs/heads/master@{#15902}
> Committed: 0b5a26a576

TBR=kjellander@webrtc.org,ehmaldonado@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6954

Review-Url: https://codereview.webrtc.org/2613913002
Cr-Commit-Position: refs/heads/master@{#15916}
2017-01-05 12:57:49 +00:00
ehmaldonado
0b5a26a576 Refactor webrtc_perf_tests into several source_sets.
BUG=webrtc:6954

Review-Url: https://codereview.webrtc.org/2609403002
Cr-Commit-Position: refs/heads/master@{#15902}
2017-01-04 17:13:58 +00:00
mbonadei
49f465f4b2 Refactor bitrate_controller, remote_bitrate_estimator and congestion_contoller for gn check.
These targets are now checked:
- "//webrtc/modules/bitrate_controller/*"
- "//webrtc/modules/congestion_controller/*"
- "//webrtc/modules/remote_bitrate_estimator/*"

BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2602563003
Cr-Commit-Position: refs/heads/master@{#15818}
2016-12-28 12:43:46 +00:00
terelius
9531092e72 BWE simulator depends on congestion controller.
BUG=webrtc:6497

Review-Url: https://codereview.webrtc.org/2470133003
Cr-Commit-Position: refs/heads/master@{#14918}
2016-11-03 15:14:13 +00:00
kjellander
e40a7ee007 GN: Exclude suppressions of Chromium Clang warnings for Chromium builds.
These suppressions are causing GN errors when Chromium targets are depending
directly on WebRTC targets (needed for https://codereview.chromium.org/2413103004)

BUG=webrtc:4256
NOTRY=True

Review-Url: https://codereview.webrtc.org/2408133008
Cr-Commit-Position: refs/heads/master@{#14644}
2016-10-17 06:56:20 +00:00
terelius
3dcfd64c26 Make bwe_simulator a separate test target that doesnt run on the bots
but remove the #if BWE_TEST_LOGGING_COMPILE_TIME_ENABLE so that it always builds.

BUG=webrtc:6497

Review-Url: https://codereview.webrtc.org/2398123002
Cr-Commit-Position: refs/heads/master@{#14564}
2016-10-07 07:40:03 +00:00
gaetano.carlucci
61050f67ef Fixig issues in BWE dynamics plot scripts.
BUG=None

Review-Url: https://codereview.webrtc.org/2360053003
Cr-Commit-Position: refs/heads/master@{#14459}
2016-09-30 13:29:57 +00:00
Stefan Holmer
280de9e1c3 Reland: Fix race / crash in OnNetworkRouteChanged().
To achieve this some refactoring was done to make it possible to synchronize
access to the DelayBasedBwe in TransportFeedbackAdapter:
- The callback was removed from DelayBasedBwe, it now instead returns its
  result.
- TransportFeedbackAdapter was moved to modules/congestion_controller to avoid
  unnecessary dependencies.

Reenables previously disabled flaky test. Can no longer reproduce flakiness with gtest-parallel and asan/tsan builds.

BUG=webrtc:6427, webrtc:6422
R=terelius@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14452}
2016-09-30 08:07:00 +00:00
stefan
5ec85fbcb7 Revert of Fix race / crash in OnNetworkRouteChanged(). (patchset #5 id:80001 of https://codereview.webrtc.org/2366333003/ )
Reason for revert:
Caused issues with webrtc_perf_tests on build bots.

Original issue's description:
> Fix race / crash in OnNetworkRouteChanged().
>
> To achieve this some refactoring was done to make it possible to synchronize
> access to the DelayBasedBwe in TransportFeedbackAdapter:
> - The callback was removed from DelayBasedBwe, it now instead returns its
>   result.
> - TransportFeedbackAdapter was moved to modules/congestion_controller to avoid
>   unnecessary dependencies.
>
> Reenables previously disabled flaky test. Can no longer reproduce flakiness with gtest-parallel and asan/tsan builds.
>
> BUG=webrtc:6427, webrtc:6422
>
> Committed: https://crrev.com/fd0d42669204e6dd92a60736bca7ae0196663024
> Cr-Commit-Position: refs/heads/master@{#14430}

TBR=terelius@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6427, webrtc:6422

Review-Url: https://codereview.webrtc.org/2377303002
Cr-Commit-Position: refs/heads/master@{#14433}
2016-09-29 11:19:42 +00:00
stefan
fd0d426692 Fix race / crash in OnNetworkRouteChanged().
To achieve this some refactoring was done to make it possible to synchronize
access to the DelayBasedBwe in TransportFeedbackAdapter:
- The callback was removed from DelayBasedBwe, it now instead returns its
  result.
- TransportFeedbackAdapter was moved to modules/congestion_controller to avoid
  unnecessary dependencies.

Reenables previously disabled flaky test. Can no longer reproduce flakiness with gtest-parallel and asan/tsan builds.

BUG=webrtc:6427, webrtc:6422

Review-Url: https://codereview.webrtc.org/2366333003
Cr-Commit-Position: refs/heads/master@{#14430}
2016-09-29 09:44:38 +00:00
kjellander
b62dbbe985 GN: Change rtc_source_set targets --> rtc_static_library
This changes most non-test related rtc_source_set targets to be
rtc_static_library instead. Targets without any .cc files are excluded.
This should bring back the build behavior we used to have with GYP
(i.e. same symbols exported in the libjingle_peerconnection.a file, which
are used by some downstream projects).

After doing an Android build with these changes:
$ nm --defined-only -g -C out/Release/lib.unstripped/libjingle_peerconnection_so.so | grep -i createpeerconnectionf
00077c51 T Java_org_webrtc_PeerConnectionFactory_nativeCreatePeerConnectionFactory
$ nm --defined-only -g -C out/Release/obj/webrtc/api/libjingle_peerconnection.a | grep -i createpeerconnectionf
00000001 T webrtc::CreatePeerConnectionFactory(rtc::Thread*, rtc::Thread*, rtc::Thread*, webrtc::AudioDeviceModule*, cricket::WebRtcVideoEncoderFactory*, cricket::WebRtcVideoDecoderFactory*)
00000001 T webrtc::CreatePeerConnectionFactory()

See https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/cookbook.md#Note-on-static-libraries
for more details on this.

NOTICE: This should be further cleaned up in the future, to reduce
binary bloat and unnecessary linking time. Right now it's more
important to restore the desired build output though.

BUG=webrtc:6410, chromium:630755

Review-Url: https://codereview.webrtc.org/2361623004
Cr-Commit-Position: refs/heads/master@{#14364}
2016-09-23 07:38:58 +00:00
gaetano.carlucci
52a5703721 Enable BWE logging to command line when rtc_enable_bwe_test_logging is set to true
This patch enables bwe related variable logging to the command line.
This is useful to test congestion control algorithm over real networks.

NOTRY=true

Review-Url: https://codereview.webrtc.org/2296253002
Cr-Commit-Position: refs/heads/master@{#14209}
2016-09-14 12:04:43 +00:00
ehmaldonado
e9cc686293 GN Templates: Move common_inherited_config to the template.
Remove common_inherited_config from the targets and add it to the
template instead.

BUG=webrtc:6187
NOTRY=True

Review-Url: https://codereview.webrtc.org/2311843002
Cr-Commit-Position: refs/heads/master@{#14069}
2016-09-05 13:10:23 +00:00
ehmaldonado
7a2ce0b738 GN Templates: Move common_config to the template.
Remove common_config from the targets' config and add
it to the template instead.

BUG=webrtc:6187
NOTRY=True

Review-Url: https://codereview.webrtc.org/2300413002
Cr-Commit-Position: refs/heads/master@{#14063}
2016-09-05 08:35:48 +00:00
ehmaldonado
38a2132b02 GN: Introduce templates.
Defines the rtc_executable, rtc_source_set, rtc_test and
rtc_static_library templates.

These templates provide no functionality yet, but will enable common
configuration to be introduced, avoiding repetition in every target

Changes summary:
- Prepend rtc_ to test, source_set, executable and static_library targets
- Change "configs -= [" to "suppressed_configs += ["
- Include webrtc/build/webrtc.gni where it wasn't included yet
- Delete import("//testing/test.gni"), since rtc_test makes it unnecessary.

BUG=webrtc:6187
TBR=henrik.lundin@webrtc.org,tommi@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2301053002
Cr-Commit-Position: refs/heads/master@{#14043}
2016-09-02 11:10:41 +00:00
stefan
64636dda43 Add UMA for tracking which BWE versions are in use.
NOTRY=true
BUG=webrtc:6156

Review-Url: https://codereview.webrtc.org/2206583002
Cr-Commit-Position: refs/heads/master@{#13619}
2016-08-03 07:29:12 +00:00
kjellander
fb11424551 GN: Add modules_unittests
Changes:
* Enabled protobuf for iOS globally.
* Set WEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE on a global
scope similar to GYP since tests depend on it.
* Added missing rtc_libvpx_build_vp9 variable.
* Moved out audio_coding defines into .gni file to avoid code duplication
* Renamed files to avoid object naming conflicts that GN disallows:
  * webrtc/modules/audio_processing/{echo_cancellation_unittest.cc->echo_cancellation_bit_exact_unittest.cc}
  * webrtc/modules/video_coding/codecs/vp9/{screenshare_layers_unittest.cc->vp9_screenshare_layers_unittest.cc}

BUG=webrtc:5949
TESTED=Built and ran the tests on Mac. Also ran:
gn gen out/Default --args="rtc_enable_bwe_test_logging=true"
and verified that more objects are being built (1885 vs 1883)
when compiling modules_unittests.

NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2041233006
Cr-Commit-Position: refs/heads/master@{#13108}
2016-06-13 07:19:53 +00:00
Henrik Kjellander
d4070c63d9 GN: Fix Chromium breakage for remote_bitrate_estimator
In https://codereview.webrtc.org/2040313004 a config was changed
incorrectly and a dependency on rtc_base_approved is also missing.

BUG=webrtc:5949
TBR=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13088}
2016-06-09 09:55:40 +00:00
kjellander
5c1d043726 Fix GYP/GN for webrtc/modules/remote_bitrate_estimator
Sync the GYP and GN targets and update the name of the GN one
to 'remote_bitrate_estimator'.
Move the GYP variable 'enable_bwe_test_logging' into the local scope.
Remove redundant entries in modules.gyp.

These are preparations related to the GN migration.

BUG=webrtc:5949
TESTED=Ran GYP with the default variables and with
-Denable_bwe_test_logging=1. Compiled remote_bitrate_estimator
and verified that bwe_test_logging.cc is compiled only when
set.
NOTRY=True

Review-Url: https://codereview.webrtc.org/2040313004
Cr-Commit-Position: refs/heads/master@{#13087}
2016-06-09 09:41:02 +00:00
brucedawson
07df20b51a Fix building of bwe_test_logging.cc in gyp and gn builds
bwe_test_logging.cc is supposed to be conditionally built in gyp builds
but, due to a path error in the sources! expressions it was always
compiled.

Meanwhile, compilation of bwe_test_logging.cc was never set up for gn
builds.

This fixes both of these problems.

BUG=604060

Review-Url: https://codereview.webrtc.org/1990373002
Cr-Commit-Position: refs/heads/master@{#12842}
2016-05-23 00:15:11 +00:00
tkchin
f75d008235 Bitrate controller for VideoToolbox encoder.
Also fixes a crash on encoder Release.

BUG=webrtc:4081

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

Cr-Commit-Position: refs/heads/master@{#11729}
2016-02-24 06:49:48 +00:00
Erik Språng
6b8d355168 Reland "Wire up send-side bandwidth estimation."
Revert was patchset #8 id:140001 of https://codereview.webrtc.org/1338203003/

The culprit was RTC_DCHECK(poller_thread_->Start()); in rampup_test.cc

BUG=webrtc:4173
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10052}
2015-09-24 13:07:17 +00:00
Erik Språng
c9bbeb0354 Revert of Wire up send-side bandwidth estimation. (patchset #8 id:140001 of https://codereview.webrtc.org/1338203003/ )
Reason for revert:
Breaking some Android bots.
https://chromegw.corp.google.com/i/client.webrtc/builders/Android32%20Tests%20%28L%20Nexus5%29

Original issue's description:
> Wire up send-side bandwidth estimation.
>
> BUG=webrtc:4173
>
> Committed: https://crrev.com/ef165eefc79cf28bb67779afe303cc2365885547
> Cr-Commit-Position: refs/heads/master@{#10012}

TBR=stefan@webrtc.org, kjellander@webrtc.org
NOPRESUBMIT=false
NOTREECHECKS=false
NOTRY=false
BUG=webrtc:4173

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

Cr-Commit-Position: refs/heads/master@{#10029}
2015-09-23 11:52:01 +00:00
sprang
ef165eefc7 Wire up send-side bandwidth estimation.
BUG=webrtc:4173

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

Cr-Commit-Position: refs/heads/master@{#10012}
2015-09-22 12:10:58 +00:00
sprang
318673cf5a Update SendTimeHistory to store complete PacketInfo, not just send time
This will be used for the send side bitrate estimation. Storing various
meta-data about packets that can be retreived when arrival time feeback
arrives.

BUG=webrtc:4173

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

Cr-Commit-Position: refs/heads/master@{#9859}
2015-09-04 11:43:23 +00:00
sprang
867fb5224e Add support for transport wide sequence numbers
Also refactor packet router to use a map rather than iterate over all
rtp modules for each packet sent.

BUG=webrtc:4311

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

Cr-Commit-Position: refs/heads/master@{#9670}
2015-08-03 11:38:48 +00:00
Erik Språng
468e62a974 Remove MimdRateControl and factories for RemoteBitrateEstimor.
BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9541}
2015-07-06 08:51:01 +00:00