Commit graph

84 commits

Author SHA1 Message Date
Sebastian Jansson
439f0bc69a Preparing for task queue in congenstion controller
This cl prepares for a later CL introducing a new send side congestion
controller that will run on a task queue. It mostly consists of minor
fixes but adds some new interfaces that are unused in practice.

Bug: webrtc:8415
Change-Id: I1b58d0180a18eb15320d18733dac0dfe2e0f902a
Reviewed-on: https://webrtc-review.googlesource.com/53321
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22099}
2018-02-20 12:35:15 +00:00
Sebastian Jansson
e4be6dad65 Removing access to send side cc in rtp controller.
This CL removes direct access to SendSideCongestionController (SSCC) via
the RtpTransportControllerSend interface and replaces all usages with
calls on RtpTransportControllerSend which will in turn calls SSCC. This
prepares for later refactor of RtpTransportControllerSend.

Bug: webrtc:8415
Change-Id: I68363a3ab0203b95579f747402a1e7f58a5eeeb5
Reviewed-on: https://webrtc-review.googlesource.com/53860
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22044}
2018-02-16 10:40:48 +00:00
Sebastian Jansson
ea86bb74fc Revert "Revert "Revert "Reland "Moved congestion controller to task queue.""""
This reverts commit 65792c5a5c.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Revert "Reland "Moved congestion controller to task queue."""
> 
> This reverts commit 4e849f6925.
> 
> Reason for revert: <INSERT REASONING HERE>
> 
> Original change's description:
> > Revert "Reland "Moved congestion controller to task queue.""
> > 
> > This reverts commit 57daeb7ac7.
> > 
> > Reason for revert: Cause increased congestion and deadlocks in downstream project
> > 
> > Original change's description:
> > > Reland "Moved congestion controller to task queue."
> > > 
> > > This is a reland of 0cbcba7ea0.
> > > 
> > > Original change's description:
> > > > Moved congestion controller to task queue.
> > > > 
> > > > The goal of this work is to make it easier to experiment with the
> > > > bandwidth estimation implementation. For this reason network control
> > > > functionality is moved from SendSideCongestionController(SSCC),
> > > > PacedSender and BitrateController to the newly created
> > > > GoogCcNetworkController which implements the newly created
> > > > NetworkControllerInterface. This allows the implementation to be
> > > > replaced at runtime in the future.
> > > > 
> > > > This is the first part of a split of a larger CL, see:
> > > > https://webrtc-review.googlesource.com/c/src/+/39788/8
> > > > For further explanations.
> > > > 
> > > > Bug: webrtc:8415
> > > > Change-Id: I770189c04cc31b313bd4e57821acff55fbcb1ad3
> > > > Reviewed-on: https://webrtc-review.googlesource.com/43840
> > > > Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> > > > Reviewed-by: Björn Terelius <terelius@webrtc.org>
> > > > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#21868}
> > > 
> > > Bug: webrtc:8415
> > > Change-Id: I1d1756a30deed5b421b1c91c1918a13b6bb455da
> > > Reviewed-on: https://webrtc-review.googlesource.com/48000
> > > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > > Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#21899}
> > 
> > TBR=terelius@webrtc.org,stefan@webrtc.org,srte@webrtc.org
> > 
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> > 
> > Bug: webrtc:8415
> > Change-Id: Ida8074dcac2cc28b3629228eb22846d8a8e81b83
> > Reviewed-on: https://webrtc-review.googlesource.com/52980
> > Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> > Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#22017}
> 
> TBR=danilchap@webrtc.org,terelius@webrtc.org,stefan@webrtc.org,srte@webrtc.org
> 
> Change-Id: I3393b74370c4f4d0955f50728005b2b925be169b
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8415
> Reviewed-on: https://webrtc-review.googlesource.com/53262
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22023}

TBR=danilchap@webrtc.org,terelius@webrtc.org,stefan@webrtc.org,srte@webrtc.org

Change-Id: Id68ad986ee51142b7be3381d0793709b4392fe2c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8415
Reviewed-on: https://webrtc-review.googlesource.com/53360
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22024}
2018-02-14 16:53:49 +00:00
Sebastian Jansson
65792c5a5c Revert "Revert "Reland "Moved congestion controller to task queue."""
This reverts commit 4e849f6925.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Reland "Moved congestion controller to task queue.""
> 
> This reverts commit 57daeb7ac7.
> 
> Reason for revert: Cause increased congestion and deadlocks in downstream project
> 
> Original change's description:
> > Reland "Moved congestion controller to task queue."
> > 
> > This is a reland of 0cbcba7ea0.
> > 
> > Original change's description:
> > > Moved congestion controller to task queue.
> > > 
> > > The goal of this work is to make it easier to experiment with the
> > > bandwidth estimation implementation. For this reason network control
> > > functionality is moved from SendSideCongestionController(SSCC),
> > > PacedSender and BitrateController to the newly created
> > > GoogCcNetworkController which implements the newly created
> > > NetworkControllerInterface. This allows the implementation to be
> > > replaced at runtime in the future.
> > > 
> > > This is the first part of a split of a larger CL, see:
> > > https://webrtc-review.googlesource.com/c/src/+/39788/8
> > > For further explanations.
> > > 
> > > Bug: webrtc:8415
> > > Change-Id: I770189c04cc31b313bd4e57821acff55fbcb1ad3
> > > Reviewed-on: https://webrtc-review.googlesource.com/43840
> > > Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> > > Reviewed-by: Björn Terelius <terelius@webrtc.org>
> > > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#21868}
> > 
> > Bug: webrtc:8415
> > Change-Id: I1d1756a30deed5b421b1c91c1918a13b6bb455da
> > Reviewed-on: https://webrtc-review.googlesource.com/48000
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21899}
> 
> TBR=terelius@webrtc.org,stefan@webrtc.org,srte@webrtc.org
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: webrtc:8415
> Change-Id: Ida8074dcac2cc28b3629228eb22846d8a8e81b83
> Reviewed-on: https://webrtc-review.googlesource.com/52980
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22017}

TBR=danilchap@webrtc.org,terelius@webrtc.org,stefan@webrtc.org,srte@webrtc.org

Change-Id: I3393b74370c4f4d0955f50728005b2b925be169b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8415
Reviewed-on: https://webrtc-review.googlesource.com/53262
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22023}
2018-02-14 16:50:30 +00:00
Danil Chapovalov
4e849f6925 Revert "Reland "Moved congestion controller to task queue.""
This reverts commit 57daeb7ac7.

Reason for revert: Cause increased congestion and deadlocks in downstream project

Original change's description:
> Reland "Moved congestion controller to task queue."
> 
> This is a reland of 0cbcba7ea0.
> 
> Original change's description:
> > Moved congestion controller to task queue.
> > 
> > The goal of this work is to make it easier to experiment with the
> > bandwidth estimation implementation. For this reason network control
> > functionality is moved from SendSideCongestionController(SSCC),
> > PacedSender and BitrateController to the newly created
> > GoogCcNetworkController which implements the newly created
> > NetworkControllerInterface. This allows the implementation to be
> > replaced at runtime in the future.
> > 
> > This is the first part of a split of a larger CL, see:
> > https://webrtc-review.googlesource.com/c/src/+/39788/8
> > For further explanations.
> > 
> > Bug: webrtc:8415
> > Change-Id: I770189c04cc31b313bd4e57821acff55fbcb1ad3
> > Reviewed-on: https://webrtc-review.googlesource.com/43840
> > Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> > Reviewed-by: Björn Terelius <terelius@webrtc.org>
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21868}
> 
> Bug: webrtc:8415
> Change-Id: I1d1756a30deed5b421b1c91c1918a13b6bb455da
> Reviewed-on: https://webrtc-review.googlesource.com/48000
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21899}

TBR=terelius@webrtc.org,stefan@webrtc.org,srte@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:8415
Change-Id: Ida8074dcac2cc28b3629228eb22846d8a8e81b83
Reviewed-on: https://webrtc-review.googlesource.com/52980
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22017}
2018-02-14 11:38:43 +00:00
Danil Chapovalov
bda5068fae Revert "Moved congestion controller to goog_cc folder."
This reverts commit e6cefdf9c5.

Reason for revert: conflicts with reverting https://webrtc-review.googlesource.com/c/src/+/52980

Original change's description:
> Moved congestion controller to goog_cc folder.
> 
> Bug: webrtc:8415
> Change-Id: I2070da0cacf1dbfc4b6a89285af3e68fd03497ab
> Reviewed-on: https://webrtc-review.googlesource.com/43841
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21928}

TBR=terelius@webrtc.org,stefan@webrtc.org,srte@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:8415
Change-Id: If8965e1e745e57694192b9ca2a69503c722658d9
Reviewed-on: https://webrtc-review.googlesource.com/53020
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22012}
2018-02-14 10:09:44 +00:00
Niels Möller
1e06289cdb Delete macro RTC_ACCESS_ON, replaced by RTC_GUARDED_BY.
Both macros do the same thing, as wrappers for
__attribute__((guarded_by)), and more names for the same thing doesn't
add to clarity.

Bug: none
Change-Id: Iaaf7b21dbf3345ee90fee22c39b636823d195eb0
Reviewed-on: https://webrtc-review.googlesource.com/48361
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21929}
2018-02-07 10:07:28 +00:00
Sebastian Jansson
e6cefdf9c5 Moved congestion controller to goog_cc folder.
Bug: webrtc:8415
Change-Id: I2070da0cacf1dbfc4b6a89285af3e68fd03497ab
Reviewed-on: https://webrtc-review.googlesource.com/43841
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21928}
2018-02-07 09:50:48 +00:00
Sebastian Jansson
57daeb7ac7 Reland "Moved congestion controller to task queue."
This is a reland of 0cbcba7ea0.

Original change's description:
> Moved congestion controller to task queue.
> 
> The goal of this work is to make it easier to experiment with the
> bandwidth estimation implementation. For this reason network control
> functionality is moved from SendSideCongestionController(SSCC),
> PacedSender and BitrateController to the newly created
> GoogCcNetworkController which implements the newly created
> NetworkControllerInterface. This allows the implementation to be
> replaced at runtime in the future.
> 
> This is the first part of a split of a larger CL, see:
> https://webrtc-review.googlesource.com/c/src/+/39788/8
> For further explanations.
> 
> Bug: webrtc:8415
> Change-Id: I770189c04cc31b313bd4e57821acff55fbcb1ad3
> Reviewed-on: https://webrtc-review.googlesource.com/43840
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21868}

Bug: webrtc:8415
Change-Id: I1d1756a30deed5b421b1c91c1918a13b6bb455da
Reviewed-on: https://webrtc-review.googlesource.com/48000
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21899}
2018-02-06 08:38:49 +00:00
Alex Loiko
0488fcf293 Made modules/audio_processing/vad its own target.
WHAT: made a BUILD.gn with library and tests in the Audio Processing
Module Voice Activity Detector directory. Updated depending
code. Fixed a Clang warning.

WHY: to make it possible for a target to depend on just the VAD and
not the whole APM. There are other benefits:

* Sometimes faster compilation.

* The VAD takes up 28000 bytes of libjingle_peerconnection_so.so. Making
  a peerconnection shared object file without the VAD has to be done in
  steps. The first step is a custom target for the VAD. Hence this Cl.

Change-Id: Iea0207a0b5979db26baaf46b24beaefbb1c431af
BUG: webrtc:5716, webrtc:7494
Reviewed-on: https://webrtc-review.googlesource.com/47521
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21893}
2018-02-05 14:03:40 +00:00
Qingsi Wang
93a843944a Bind the structured ICE logging with P2PTransportChannel.
This change list passes the instance of RtcEventLog from Peerconnection
down to P2PTransportChannel, and binds the structured ICE logging with
ICE layer objects. Logs of ICE connectivity checks are injected for
candidate pairs.

TBR=terelius@webrtc.org

Bug: None
Change-Id: Ia979dbbac6d31dcf0f8988da1065bdfc3e461821
Reviewed-on: https://webrtc-review.googlesource.com/34660
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21884}
2018-02-03 07:06:49 +00:00
Qingsi Wang
8eca1ff510 Reland "Structured ICE logging via RtcEventLog."
This is a reland of eed5aa8904
Original change's description:
> Structured ICE logging via RtcEventLog.
>
> This change list contains the structured logging module for ICE using
> the RtcEventLog infrastructure, and also extension to the log parser
> and analyzer.
>
> Bug: None
> Change-Id: I6539cf282155c2cde4d3161c53500c0746671a02
> Reviewed-on: https://webrtc-review.googlesource.com/34622
> Commit-Queue: Qingsi Wang <qingsi@google.com>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21816}

TBR=pthatcher@webrtc.org,terelius@webrtc.org,deadbeef@webrtc.org

Bug: None
Change-Id: I3df585bf636315ceb0273967146111346a83be86
Reviewed-on: https://webrtc-review.googlesource.com/47545
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21881}
2018-02-02 22:05:27 +00:00
Sebastian Jansson
5a503b05e1 Revert "Moved congestion controller to task queue."
This reverts commit 0cbcba7ea0.

Reason for revert: Major regressions on perf bots.

Original change's description:
> Moved congestion controller to task queue.
> 
> The goal of this work is to make it easier to experiment with the
> bandwidth estimation implementation. For this reason network control
> functionality is moved from SendSideCongestionController(SSCC),
> PacedSender and BitrateController to the newly created
> GoogCcNetworkController which implements the newly created
> NetworkControllerInterface. This allows the implementation to be
> replaced at runtime in the future.
> 
> This is the first part of a split of a larger CL, see:
> https://webrtc-review.googlesource.com/c/src/+/39788/8
> For further explanations.
> 
> Bug: webrtc:8415
> Change-Id: I770189c04cc31b313bd4e57821acff55fbcb1ad3
> Reviewed-on: https://webrtc-review.googlesource.com/43840
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21868}

TBR=terelius@webrtc.org,stefan@webrtc.org,srte@webrtc.org

Change-Id: Ia8a273eb9e92b7d0d960c49658c228208170962d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8415
Reviewed-on: https://webrtc-review.googlesource.com/47560
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21877}
2018-02-02 16:55:17 +00:00
Sebastian Jansson
0cbcba7ea0 Moved congestion controller to task queue.
The goal of this work is to make it easier to experiment with the
bandwidth estimation implementation. For this reason network control
functionality is moved from SendSideCongestionController(SSCC),
PacedSender and BitrateController to the newly created
GoogCcNetworkController which implements the newly created
NetworkControllerInterface. This allows the implementation to be
replaced at runtime in the future.

This is the first part of a split of a larger CL, see:
https://webrtc-review.googlesource.com/c/src/+/39788/8
For further explanations.

Bug: webrtc:8415
Change-Id: I770189c04cc31b313bd4e57821acff55fbcb1ad3
Reviewed-on: https://webrtc-review.googlesource.com/43840
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21868}
2018-02-02 12:55:47 +00:00
Qingsi Wang
970b088878 Reland "Break up rtc_event_log_api to solve circular dependencies."
This is a reland of 001546da95
Original change's description:
> Break up rtc_event_log_api to solve circular dependencies.
>
> The original rtc_event_log_api is refactored to a pure API target plus
> multiple targets coupled with WebRTC implementations.
>
> Bug: None
> Change-Id: Iab9eee3f7bf4228c52d94a5f26fc39bb99b5033f
> Reviewed-on: https://webrtc-review.googlesource.com/43247
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Commit-Queue: Qingsi Wang <qingsi@google.com>
> Cr-Commit-Position: refs/heads/master@{#21811}

TBR=pthatcher@webrtc.org,deadbeef@webrtc.org,terelius@webrtc.org,stefan@webrtc.org

Bug: None
Change-Id: I3e7213733741cbfd5dd0076f32209e6bc42a0647
Reviewed-on: https://webrtc-review.googlesource.com/46900
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21862}
2018-02-01 22:47:52 +00:00
Bjorn Terelius
edab3011fa Remove webrtc::test::InitFieldTrialsFromString(const std::string&).
This is done to solve a problem where a string literal is implicitly cast
to a temporary std::string when calling webrtc::test::InitFieldTrialsFromString
which passes a pointer to the internal representation to
webrtc::field_trial::InitFieldTrialFromString(char*). This pointer is
stored for later use, but the temporary std::string is destroyed as soon
as the function returns.

Using webrtc::field_trial::InitFieldTrialFromString(char*) instead,
avoids the implicit casts (but the caller still needs to ensure that
the char* outlives the program). The validation previously done by
webrtc::test::InitFieldTrialsFromString can now be done by manually
calling webrtc::test::ValidateFieldTrialsStringOrDie(const std::string&).

Add system_wrappers:field_trial_default as a direct dependency to
various targets to allow including the field_trials_default.h header.

Bug: webrtc:8812
Change-Id: Ib5a641ea255b1c16a8f7f35e1fe67f6c38a61da6
Reviewed-on: https://webrtc-review.googlesource.com/46141
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21856}
2018-02-01 19:47:41 +00:00
Mirko Bonadei
75df7282eb Revert "Break up rtc_event_log_api to solve circular dependencies."
This reverts commit 001546da95.

Reason for revert: breaks downstream projects.

Original change's description:
> Break up rtc_event_log_api to solve circular dependencies.
> 
> The original rtc_event_log_api is refactored to a pure API target plus
> multiple targets coupled with WebRTC implementations.
> 
> Bug: None
> Change-Id: Iab9eee3f7bf4228c52d94a5f26fc39bb99b5033f
> Reviewed-on: https://webrtc-review.googlesource.com/43247
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Commit-Queue: Qingsi Wang <qingsi@google.com>
> Cr-Commit-Position: refs/heads/master@{#21811}

TBR=phoglund@webrtc.org,deadbeef@webrtc.org,terelius@webrtc.org,stefan@webrtc.org,pthatcher@google.com,pthatcher@webrtc.org,qingsi@google.com

Change-Id: I82540eac176c4abfb7e50dc51671585b32a1bace
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/46581
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21823}
2018-01-31 09:39:44 +00:00
Mirko Bonadei
78ac89b82f Revert "Structured ICE logging via RtcEventLog."
This reverts commit eed5aa8904.

Reason for revert: breaks downstream projects.

Original change's description:
> Structured ICE logging via RtcEventLog.
> 
> This change list contains the structured logging module for ICE using
> the RtcEventLog infrastructure, and also extension to the log parser and
> analyzer.
> 
> Bug: None
> Change-Id: I6539cf282155c2cde4d3161c53500c0746671a02
> Reviewed-on: https://webrtc-review.googlesource.com/34622
> Commit-Queue: Qingsi Wang <qingsi@google.com>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21816}

TBR=phoglund@webrtc.org,deadbeef@webrtc.org,terelius@webrtc.org,stefan@webrtc.org,pthatcher@webrtc.org,qingsi@google.com

Change-Id: I62d5807c636e442bec4ad1b1fdc4380102347be3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/46580
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21822}
2018-01-31 09:38:41 +00:00
Qingsi Wang
eed5aa8904 Structured ICE logging via RtcEventLog.
This change list contains the structured logging module for ICE using
the RtcEventLog infrastructure, and also extension to the log parser and
analyzer.

Bug: None
Change-Id: I6539cf282155c2cde4d3161c53500c0746671a02
Reviewed-on: https://webrtc-review.googlesource.com/34622
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21816}
2018-01-31 02:18:39 +00:00
Qingsi Wang
001546da95 Break up rtc_event_log_api to solve circular dependencies.
The original rtc_event_log_api is refactored to a pure API target plus
multiple targets coupled with WebRTC implementations.

Bug: None
Change-Id: Iab9eee3f7bf4228c52d94a5f26fc39bb99b5033f
Reviewed-on: https://webrtc-review.googlesource.com/43247
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@google.com>
Cr-Commit-Position: refs/heads/master@{#21811}
2018-01-30 17:54:06 +00:00
Edward Lemur
2e5966b3d3 Store video_quality_loopback_test perf results in Chart JSON format.
Adds a flag to store the perf results in a JSON file using the Chart
JSON format [1].

[1] https://github.com/catapult-project/catapult/blob/master/dashboard/docs/data-format.md

TBR=phoglund@webrtc.org

Bug: chromium:755660
Change-Id: I6a896654a4a558df217ddefa4e8a52a487cdbebd
Reviewed-on: https://webrtc-review.googlesource.com/43180
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21809}
2018-01-30 16:48:59 +00:00
Mirko Bonadei
e5a93a7201 Making rtc_tools:unpack_aecdump publicly visible.
Bug: webrtc:8254
Change-Id: I0dce33dc45f108e5dcfe18e22480d533f93073c4
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/38960
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21569}
2018-01-11 09:04:30 +00:00
Per Kjellander
a0f5f60c93 Revert "Revert "Make some more targets publicly visible""
This reverts commit 55d1809d0d.

Reason for revert: This cl was not the culprit for breaking chrome content/renderer deps.

Original change's description:
> Revert "Make some more targets publicly visible"
> 
> This reverts commit 60d1792562.
> 
> Reason for revert: 
> 
> Breaks Chrome FYI:
> 
> /b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check
>   -> returned 1
> ERROR at //build/split_static_library.gni:12:5: Dependency not allowed.
>     static_library(target_name) {
>     ^----------------------------
> The item //content/renderer:renderer
> can not depend on //third_party/webrtc/media:rtc_internal_video_codecs
> because it is not in //third_party/webrtc/media:rtc_internal_video_codecs's visibility list: [
>   //third_party/webrtc/*
>   //third_party/webrtc_overrides/*
> ]
> 
>  https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2FLinux_Builder%2F23560%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout
> 
> Original change's description:
> > Make some more targets publicly visible
> > 
> > To fix build errors introduced by
> > https://webrtc-review.googlesource.com/c/src/+/24140
> > 
> > BUG=webrtc:8254
> > NOTRY=true
> > 
> > Change-Id: I9cdf9cee39735368af78291134dbad70aebb7195
> > Reviewed-on: https://webrtc-review.googlesource.com/38660
> > Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21552}
> 
> TBR=mbonadei@webrtc.org,kwiberg@webrtc.org
> 
> Change-Id: I475ac382218fa77d33abc595f0773275d715a28e
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8254
> Reviewed-on: https://webrtc-review.googlesource.com/38740
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Commit-Queue: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21554}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,perkj@webrtc.org

Change-Id: If8e9b7b1c934ec4b5ed61941c845e62e43bef97e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8254
Reviewed-on: https://webrtc-review.googlesource.com/38841
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21559}
2018-01-10 15:57:43 +00:00
Per Kjellander
a7f2d84ad1 Revert "Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*"""
This reverts commit c73e1f4378.

Reason for revert: 
The problem with failed deps in chrome content/renderer had already been fixed in https://webrtc-review.googlesource.com/c/src/+/38660

Original change's description:
> Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*""
> 
> This reverts commit 588c548657.
> 
> Reason for revert: 
> 
> Breaks Chrome FYI:
> 
> /b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check
>   -> returned 1
> ERROR at //build/split_static_library.gni:12:5: Dependency not allowed.
>     static_library(target_name) {
>     ^----------------------------
> The item //content/renderer:renderer
> can not depend on //third_party/webrtc/media:rtc_internal_video_codecs
> because it is not in //third_party/webrtc/media:rtc_internal_video_codecs's visibility list: [
>   //third_party/webrtc/*
>   //third_party/webrtc_overrides/*
> ]
> 
>  https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2FLinux_Builder%2F23560%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout
> 
> Original change's description:
> > GN rtc_* templates: Set default visibility to webrtc_root + "/*"
> > 
> > This means that by default, targets are visible to everything under
> > the WebRTC root, but not visible to anything else.
> > 
> > API targets are manually tagged with visibility "*", so that targets
> > outside the WebRTC tree can see them.
> > 
> > BUG=webrtc:8254
> > 
> > Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509
> > Reviewed-on: https://webrtc-review.googlesource.com/24140
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21548}
> 
> TBR=mbonadei@webrtc.org,kwiberg@webrtc.org
> 
> Change-Id: I06620ce3d6f67482935c22efa231dd6cab91625a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8254
> Reviewed-on: https://webrtc-review.googlesource.com/38760
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Commit-Queue: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21555}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,perkj@webrtc.org

Change-Id: I6f720078ce21bd172e0a6471bae8c4c011e4a657
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8254
Reviewed-on: https://webrtc-review.googlesource.com/38860
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21558}
2018-01-10 15:55:04 +00:00
Per Kjellander
c73e1f4378 Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*""
This reverts commit 588c548657.

Reason for revert: 

Breaks Chrome FYI:

/b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check
  -> returned 1
ERROR at //build/split_static_library.gni:12:5: Dependency not allowed.
    static_library(target_name) {
    ^----------------------------
The item //content/renderer:renderer
can not depend on //third_party/webrtc/media:rtc_internal_video_codecs
because it is not in //third_party/webrtc/media:rtc_internal_video_codecs's visibility list: [
  //third_party/webrtc/*
  //third_party/webrtc_overrides/*
]

 https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2FLinux_Builder%2F23560%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout

Original change's description:
> GN rtc_* templates: Set default visibility to webrtc_root + "/*"
> 
> This means that by default, targets are visible to everything under
> the WebRTC root, but not visible to anything else.
> 
> API targets are manually tagged with visibility "*", so that targets
> outside the WebRTC tree can see them.
> 
> BUG=webrtc:8254
> 
> Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509
> Reviewed-on: https://webrtc-review.googlesource.com/24140
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21548}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org

Change-Id: I06620ce3d6f67482935c22efa231dd6cab91625a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8254
Reviewed-on: https://webrtc-review.googlesource.com/38760
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21555}
2018-01-10 15:14:54 +00:00
Per Kjellander
55d1809d0d Revert "Make some more targets publicly visible"
This reverts commit 60d1792562.

Reason for revert: 

Breaks Chrome FYI:

/b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check
  -> returned 1
ERROR at //build/split_static_library.gni:12:5: Dependency not allowed.
    static_library(target_name) {
    ^----------------------------
The item //content/renderer:renderer
can not depend on //third_party/webrtc/media:rtc_internal_video_codecs
because it is not in //third_party/webrtc/media:rtc_internal_video_codecs's visibility list: [
  //third_party/webrtc/*
  //third_party/webrtc_overrides/*
]

 https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2FLinux_Builder%2F23560%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout

Original change's description:
> Make some more targets publicly visible
> 
> To fix build errors introduced by
> https://webrtc-review.googlesource.com/c/src/+/24140
> 
> BUG=webrtc:8254
> NOTRY=true
> 
> Change-Id: I9cdf9cee39735368af78291134dbad70aebb7195
> Reviewed-on: https://webrtc-review.googlesource.com/38660
> Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21552}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org

Change-Id: I475ac382218fa77d33abc595f0773275d715a28e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8254
Reviewed-on: https://webrtc-review.googlesource.com/38740
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21554}
2018-01-10 15:12:13 +00:00
Karl Wiberg
60d1792562 Make some more targets publicly visible
To fix build errors introduced by
https://webrtc-review.googlesource.com/c/src/+/24140

BUG=webrtc:8254
NOTRY=true

Change-Id: I9cdf9cee39735368af78291134dbad70aebb7195
Reviewed-on: https://webrtc-review.googlesource.com/38660
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21552}
2018-01-10 14:28:32 +00:00
Karl Wiberg
588c548657 GN rtc_* templates: Set default visibility to webrtc_root + "/*"
This means that by default, targets are visible to everything under
the WebRTC root, but not visible to anything else.

API targets are manually tagged with visibility "*", so that targets
outside the WebRTC tree can see them.

BUG=webrtc:8254

Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509
Reviewed-on: https://webrtc-review.googlesource.com/24140
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21548}
2018-01-10 13:08:11 +00:00
Patrik Höglund
873e5658f1 Remove obsolete TODO.
Bug: webrtc:6828
Change-Id: Ieceae91323455c82127f33c5bf51a1b14258a199
Reviewed-on: https://webrtc-review.googlesource.com/38341
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21543}
2018-01-10 09:28:01 +00:00
Mirko Bonadei
4f024efe7f Renaming android_library android_manifest to android_manifest_for_lint.
The attribute android_manifest for android_library targets has been
removed in [1]. This CL renames it to android_manifest_for_lint (to
avoid lint errors) in all the rtc_android_library targets.

[1] - https://chromium-review.googlesource.com/c/chromium/src/+/848079

Bug: webrtc:8707
Change-Id: Ifa127790937fa49ed52d6aab0c7ce5ab03e1177b
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/37440
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21493}
2018-01-04 12:55:49 +00:00
Patrik Höglund
7613454b80 Reland: Fix circular dependency in BWE code.
Diff patch set 1 and 2 to see actual differences to the last
patch.

Bug: webrtc:6828
Change-Id: Ie0c85d41df47c2a2505bc71b20fdb3834bdeaf12
Reviewed-on: https://webrtc-review.googlesource.com/36920
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21492}
2018-01-04 12:01:29 +00:00
Olga Sharonova
44e57be3c8 Revert "Fix circular dependency in BWE code."
This reverts commit 08279b5cf5.

Reason for revert: msvc bots breaking, blocking WebRTC rolls.

Sample log:
FAILED: obj/third_party/webrtc/modules/congestion_controller/estimators/probe_bitrate_estimator.obj 
ninja -t msvc -e environment.x64 -- E:\b\c\goma_client/gomacc.exe "e:\b\c\win_toolchain\vs_files\1180cb75833ea365097e279efb2d5d7a42dee4b0\vc\tools\msvc\14.11.25503\bin\hostx64\x64/cl.exe" /nologo /showIncludes  @obj/third_party/webrtc/modules/congestion_controller/estimators/probe_bitrate_estimator.obj.rsp /c ../../third_party/webrtc/modules/congestion_controller/probe_bitrate_estimator.cc /Foobj/third_party/webrtc/modules/congestion_controller/estimators/probe_bitrate_estimator.obj /Fd"obj/third_party/webrtc/modules/congestion_controller/estimators_cc.pdb"
../../third_party/webrtc/modules/congestion_controller/probe_bitrate_estimator.cc(68): error C2220: warning treated as error - no 'object' file generated
../../third_party/webrtc/modules/congestion_controller/probe_bitrate_estimator.cc(68): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
[22699/51826] CXX obj/third_party/webrtc/modules/pacing/pacing/packet_router.obj
[22700/51826] CXX obj/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator/aimd_rate_control.obj
[22701/51826] CXX obj/third_party/webrtc/modules/desktop_capture/desktop_capture_generic/dxgi_texture_mapping.obj
[22702/51826] CXX obj/third_party/webrtc/modules/congestion_controller/estimators/acknowledged_bitrate_estimator.obj
FAILED: obj/third_party/webrtc/modules/congestion_controller/estimators/acknowledged_bitrate_estimator.obj 
ninja -t msvc -e environment.x64 -- E:\b\c\goma_client/gomacc.exe "e:\b\c\win_toolchain\vs_files\1180cb75833ea365097e279efb2d5d7a42dee4b0\vc\tools\msvc\14.11.25503\bin\hostx64\x64/cl.exe" /nologo /showIncludes  @obj/third_party/webrtc/modules/congestion_controller/estimators/acknowledged_bitrate_estimator.obj.rsp /c ../../third_party/webrtc/modules/congestion_controller/acknowledged_bitrate_estimator.cc /Foobj/third_party/webrtc/modules/congestion_controller/estimators/acknowledged_bitrate_estimator.obj /Fd"obj/third_party/webrtc/modules/congestion_controller/estimators_cc.pdb"
../../third_party/webrtc/modules/congestion_controller/acknowledged_bitrate_estimator.cc(41): error C2220: warning treated as error - no 'object' file generated
../../third_party/webrtc/modules/congestion_controller/acknowledged_bitrate_estimator.cc(41): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data

https://logs.chromium.org/v/?s=chromium%2Fbb%2Ftryserver.chromium.win%2Fwin-msvc-dbg%2F1780%2F%2B%2Frecipes%2Fsteps%2Fcompile__with_patch_%2F0%2Fstdout


Original change's description:
> Fix circular dependency in BWE code.
> 
> Bug: webrtc:6828
> Change-Id: I531ee5dea41140f085d82641253fadb9e997a378
> Reviewed-on: https://webrtc-review.googlesource.com/34641
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21350}

TBR=phoglund@webrtc.org,stefan@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:6828
Change-Id: I361050942cbd1d2b344b129c8c3a4e7b6e1c02f4
Reviewed-on: https://webrtc-review.googlesource.com/35240
Reviewed-by: Olga Sharonova <olka@webrtc.org>
Commit-Queue: Olga Sharonova <olka@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21384}
2017-12-20 13:54:36 +00:00
Patrik Höglund
08279b5cf5 Fix circular dependency in BWE code.
Bug: webrtc:6828
Change-Id: I531ee5dea41140f085d82641253fadb9e997a378
Reviewed-on: https://webrtc-review.googlesource.com/34641
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21350}
2017-12-19 09:36:40 +00:00
Patrik Höglund
3e113438b1 Fix circular dependencies in webrtc_common.
One reason for the circular deps is that common_types.h is a
historical dumping ground for various structs and defines that
are believed to be generally useful. I tried moving things out
that did not appear to be used downstream (StreamCounters,
RtpCounters etc) and moved the things that seemed used
(RtpHeader + supporting structs) to a new file api/rtp_headers.h.
This makes their place in the api more clear while moving out
the things that don't belong in the API in the first place.

I had to extract out typedefs.h from webrtc_common to resolve
another circular dependency. I believe checks includes typedefs,
but common depends on checks.

Bug: webrtc:7745
Change-Id: I725d49616b1ec0cdc8b74be7c078f7a4d46f084b
Reviewed-on: https://webrtc-review.googlesource.com/33001
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21295}
2017-12-15 14:33:26 +00:00
Mirko Bonadei
401d056891 Removing $rtc_libyuv_dir and removing useless dependencies on libyuv.
This CL removes the following GN variables: rtc_build_libyuv,
rtc_libyuv_dir (as requested in webrtc:7906).
It also removes some unneeded dependencies on //third_party/libyuv.

WebRTC targets were using public_deps to depend on //third_party/libyuv
and this created a build graph where targets that were depending on
//third_party/libyuv were not declaring the dependency to GN because
they were somehow getting it from another target that was exposing
//third_party/libyuv header files even if it wasn't directly depending
on it.

Bug: webrtc:8605, webrtc:7906
Change-Id: If71f7988fd80421dc2ad887cf94c2ac66366c3fb
Reviewed-on: https://webrtc-review.googlesource.com/32201
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21275}
2017-12-14 11:18:33 +00:00
Patrik Höglund
a8005cfd8b Fix circular dependencies between optional, array_view, and rtc_base.
This splits things out of rtc_base and makes dependencies explicit.

Bug: webrtc:6828
Change-Id: Id521896c3c43595349021c857bec216e429a0c8d
Reviewed-on: https://webrtc-review.googlesource.com/32780
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21264}
2017-12-14 06:49:11 +00:00
Patrik Höglund
d37709b659 Revert "Fix circular dependencies between optional, array_view, and rtc_base."
This reverts commit a9e0924fa7.

Reason for revert: Breaks because of RTC_LAST_SYSTEM_ERROR

Original change's description:
> Fix circular dependencies between optional, array_view, and rtc_base.
> 
> This splits things out of rtc_base and makes dependencies explicit.
> 
> Bug: webrtc:6828
> Change-Id: Ib813c7bd9e4de7ab015acb917bc09ee7204ba7bd
> Reviewed-on: https://webrtc-review.googlesource.com/31940
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21245}

TBR=phoglund@webrtc.org,kwiberg@webrtc.org

Change-Id: I1a5dcf2223f00ae7c46f9f2a12b990ab3a84397d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6828
Reviewed-on: https://webrtc-review.googlesource.com/32760
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21251}
2017-12-13 14:56:33 +00:00
Patrik Höglund
a9e0924fa7 Fix circular dependencies between optional, array_view, and rtc_base.
This splits things out of rtc_base and makes dependencies explicit.

Bug: webrtc:6828
Change-Id: Ib813c7bd9e4de7ab015acb917bc09ee7204ba7bd
Reviewed-on: https://webrtc-review.googlesource.com/31940
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21245}
2017-12-13 13:44:21 +00:00
Patrik Höglund
844ce8bb3a Move unpack_aecdump to a more public location.
This tool is used downstream, so we want to christen rtc_tools as
a kind of api dir for tools. Tools in other locations should be
considered off limits.

I chose rtc_tools because video_quality_toolchain is already there,
which is also used downstream.

Bug: None
Change-Id: I234d874c8a590ca7413357ecda26b16d9b399836
Reviewed-on: https://webrtc-review.googlesource.com/32340
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21236}
2017-12-13 10:16:40 +00:00
Robin Raymond
1c62ffa530 Normalize main(..) routines for WinUWP
In order to support WinUWP platform, all main(..) routines must be normalized to the formal int main(int argc, char* argv[]) form. A platform wrapper main is auto-created linking against the default main(...). This can only work if the linkage is exactly matching the proper formal definition and not a loosely defined main(...) alternative.

Bug: webrtc:8608
Change-Id: I606663aaea7df1792c7c5636279617b8926fa5cc
Reviewed-on: https://webrtc-review.googlesource.com/28721
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21229}
2017-12-12 14:32:56 +00:00
Mirko Bonadei
818d910392 Stop using public_deps in logging/.
Bug: webrtc:8603
Change-Id: Id0df997620a27e47067e4b21e4e8db16aec90640
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/30940
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21228}
2017-12-12 13:40:57 +00:00
Mirko Bonadei
654320666d Including libyuv headers using fully qualified paths.
Using fully qualified paths to include libyuv headers allows WebRTC to
avoid to rely on the //third_party/libyuv:libyuv_config target to
set the -I compiler flag.

Today some WebRTC targets depend on //third_party/libyuv only to
include //third_party/libyuv:libyuv_config but with fully qualified
paths this should not be needed anymore.

A follow-up CL will remove //third_party/libyuv from some targets that
don't need it because they are not including libyuv headers.

Bug: webrtc:8605
Change-Id: Icec707ca761aaf2ea8088e7f7a05ddde0de2619a
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/28220
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21209}
2017-12-11 15:51:26 +00:00
Mirko Bonadei
f5ff67ca98 Stop using public_deps in rtc_tools.
Bug: webrtc:8603
Change-Id: I8126971f80310ad077a1e536c022a296612f573a
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/30300
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21162}
2017-12-08 13:29:29 +00:00
Niels Möller
c6109dbbfb Fix awk gensub call in author_line_count.sh script.
NOTRY=TRUE

Bug: None
Change-Id: I706cf0a57e17f765bf90ccaad245a2c5573d8e0c
Reviewed-on: https://webrtc-review.googlesource.com/29740
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21109}
2017-12-06 08:16:12 +00:00
Mirko Bonadei
b5728d9b0f Stop using public_deps in modules/rtp_rtcp.
TBR=phoglund@webrtc.org

Bug: webrtc:8603
Change-Id: I86830df23db3f33a1a26098e639596bd3b86485a
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/29780
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21108}
2017-12-06 07:37:52 +00:00
Ilya Nikolaevskiy
a4259f6b66 Add new event type to RtcEventLog
Alr state is now logged by the pacer. To avoid confusion,
loopback tools will now create two separate rtc event
logs for sender and receiver calls.

Bug: webrtc:8287, webrtc:8588
Change-Id: Ib3e47d109c3a65a7ed069b9a613e6a08fe6a2f30
Reviewed-on: https://webrtc-review.googlesource.com/26880
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21084}
2017-12-05 13:13:07 +00:00
Mirko Bonadei
c3da1e61bc Fixing chromium MSVC64(dbg) build.
CL https://webrtc-review.googlesource.com/c/src/+/28120 removed a
public dependency from rtc_tools:video_quality_analysis on
common_video:common_video.

This was keeping the MSVC64(dbg) build green because was giving the
linker the opportunity to find api:optional symbols.

This CL tries to fix and adds a TODO to remove the synthetic
dependency. The dependency on api:optional should be added to
rtc_base:rtc_base_approved_generic but this triggers another
dependency cycle.

TBR=tommi@webrtc.org

Bug: webrtc:6828
Change-Id: I4e28b49fdb3ee6484a253ca7b1f1a8aafa20e915
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/29683
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21079}
2017-12-05 11:58:32 +00:00
Mirko Bonadei
0250be51be Stop using public_deps to depend on libyuv.
A lot of WebRTC targets were depending on //third_party/libyuv using
public_deps instead of deps. This causes issues because a the
inclusion of libyuv headers is not declared to the build system and
this creates hidden dependencies that put the modularity of the project
at risk.

Bug: webrtc:8603
Change-Id: Ide0ceb84eb5640ae664dc782f3a722b55c3b601a
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/28120
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21039}
2017-12-04 14:16:08 +00:00
Bjorn Terelius
2eb3188e3e Aid triaging of bugs by printing notifications about interesting parts of an event log.
Notifications are printed for gaps in seq number, capture timestamp, arrival and send times for RTP and RTCP, and high average loss.
The notifications are printed to stderr by default, but internally they are represented as subclasses to a TriageNotification base class in order to facilitate other output formats.

Initially, this is only run if the event_log_visualizer is given the flag --print_triage_notifications.

Only the first (LOG_START, LOG_END) segment is processed.

Bug: webrtc:8383
Change-Id: If43ef7f115f622fa5552dc50951a11d5f9e3cbaa
Reviewed-on: https://webrtc-review.googlesource.com/8720
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20974}
2017-12-01 12:45:51 +00:00
srte
e0572e5c16 Reland "Replaced magic numbers with constants for PacketFeedback."
This is a reland of 37b5223289
Original change's description:
> Replaced magic numbers with constants for PacketFeedback.
> 
> Bug: None
> Change-Id: Ie22475227406f4e800052b52fa644ea6966db3f1
> Reviewed-on: https://webrtc-review.googlesource.com/27100
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20938}

Bug: None
Change-Id: I131b509212345a620519b17c1c17e84532ac089c
Reviewed-on: https://webrtc-review.googlesource.com/27401
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20957}
2017-11-30 16:04:20 +00:00