Commit graph

28 commits

Author SHA1 Message Date
Jonas Olsson
6b1985de95 Reimplement rtc::ToString and rtc::FromString without streams.
Bug: webrtc:8982
Change-Id: I3977435b035fdebef449732301d6e77fc899e7ba
Reviewed-on: https://webrtc-review.googlesource.com/86941
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24319}
2018-08-16 16:14:01 +00:00
Artem Titov
8a3ab0e7ea Revert "Add framesRendered to StatsReport"
This reverts commit dcfa938f9e.

Reason for revert: This CL blocks rolling WebRTC into chromium

Original change's description:
> Add framesRendered to StatsReport
> 
> Bug: webrtc:9568
> Change-Id: I6976f4c48b67f6a81f57260a91966debbef38eb4
> Reviewed-on: https://webrtc-review.googlesource.com/90840
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24121}

TBR=steveanton@webrtc.org,solenberg@webrtc.org,joachimr@fb.com

Change-Id: Ia58feefd0ab557bb39ff79840dc8fa5004fee753
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9568
Reviewed-on: https://webrtc-review.googlesource.com/90900
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24134}
2018-07-27 14:53:07 +00:00
Joachim Reiersen
dcfa938f9e Add framesRendered to StatsReport
Bug: webrtc:9568
Change-Id: I6976f4c48b67f6a81f57260a91966debbef38eb4
Reviewed-on: https://webrtc-review.googlesource.com/90840
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24121}
2018-07-26 22:50:02 +00:00
Artem Titov
a76af0ca2e Move base64.h to the proper location.
Move base64.h to the proper location and put redirect header into the
old place to be able to switch downstream users on new location.

Bug: webrtc:8366
Change-Id: I5191fe631d32178d2efd1315ca9abd4250102291
Reviewed-on: https://webrtc-review.googlesource.com/88223
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24069}
2018-07-23 15:40:36 +00:00
Karl Wiberg
918f50c5d1 Use absl::make_unique and absl::WrapUnique directly
Instead of going through our wrappers in ptr_util.h.

This CL was generated by the following script:

  git grep -l ptr_util | xargs perl -pi -e 's,#include "rtc_base/ptr_util.h",#include "absl/memory/memory.h",'
  git grep -l MakeUnique | xargs perl -pi -e 's,\b(rtc::)?MakeUnique\b,absl::make_unique,g'
  git grep -l WrapUnique | xargs perl -pi -e 's,\b(rtc::)?WrapUnique\b,absl::WrapUnique,g'
  git checkout -- rtc_base/ptr_util{.h,_unittest.cc}
  git cl format

Followed by manually adding dependencies on
//third_party/abseil-cpp/absl/memory until `gn check` stopped
complaining.

Bug: webrtc:9473
Change-Id: I89ccd363f070479b8c431eb2c3d404a46eaacc1c
Reviewed-on: https://webrtc-review.googlesource.com/86600
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23850}
2018-07-05 10:59:49 +00:00
Yves Gerey
665174fdbb Reformat the WebRTC code base
Running clang-format with chromium's style guide.

The goal is n-fold:
 * providing consistency and readability (that's what code guidelines are for)
 * preventing noise with presubmit checks and git cl format
 * building on the previous point: making it easier to automatically fix format issues
 * you name it

Please consider using git-hyper-blame to ignore this commit.

Bug: webrtc:9340
Change-Id: I694567c4cdf8cee2860958cfe82bfaf25848bb87
Reviewed-on: https://webrtc-review.googlesource.com/81185
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23660}
2018-06-19 14:00:39 +00:00
Seth Hampson
845e87877e Name change from stream label to stream id for spec compliance.
Bug: webrtc:7932
Change-Id: I66f33597342394083256f050cac2a00a68042302
Reviewed-on: https://webrtc-review.googlesource.com/59280
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22276}
2018-03-02 20:44:48 +00:00
Taylor Brandstetter
c392866d86 Implement certificate chain stats.
There was an implementation, but it relied on SSLCertificate::GetChain,
which was never implemented. Except in the fake certificate classes
used by the stats collector tests, hence the tests were passing.

Instead of implementing GetChain, we decided (in
https://webrtc-review.googlesource.com/c/src/+/6500) to add
methods that return a SSLCertChain directly, since it results in a
somewhat cleaner object model.

So this CL switches everything to use the "chain" methods, and gets
rid of the obsolete methods and member variables.

Bug: webrtc:8920
Change-Id: Ie9d7d53654ba859535462521b54c788adec7badf
Reviewed-on: https://webrtc-review.googlesource.com/56961
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22177}
2018-02-24 00:44:06 +00:00
Steve Anton
5b38731f0b Use fake PeerConnection for RTCStatsCollector tests
This removes use of the MockPeerConnection and replaces it with the
FakePeerConnectionForStats testing class.

Bug: webrtc:8764
Change-Id: I78553c5a4e4d68cb6666a83f443f72f7c25488dc
Reviewed-on: https://webrtc-review.googlesource.com/46940
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21882}
2018-02-03 00:47:27 +00:00
Steve Anton
3871f6f9d4 Rewrite StatsCollector tests to use a fake PeerConnection
This removes use of the MockPeerConnection and replaces it with a fake
implementation of PeerConnection tailored to the needs of
StatsCollector and (soon) RTCStatsCollector.

The stats collector tests really care about the PeerConnection only so
much as to set up scenarios to test the StatsCollector with. Since each
scenario (e.g., adding a track) affects the results of multiple methods
(e.g., voice_channel and SessionStats), the tests were needing to
manually configure these dependent operations which was tedious, error
prone and difficult to change. The new fake lets the tests express the
scenario more concisely (e.g., AddVoiceChannel) while filling in all
the affected methods on the PeerConnection automatically. Furthermore,
this can be expanded to use with the RTCStatsCollector and to cover
more scenarios in the future.

Bug: webrtc:8764
Change-Id: I195074174684256543f7cdc27c3834e5ff0b4702
Reviewed-on: https://webrtc-review.googlesource.com/43521
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21778}
2018-01-26 19:40:02 +00:00
Steve Anton
be5e208b3e Add FakePeerConnectionBase
This provides an intermediate class for defining default, null
implementations of all the PeerConnectionInterface/
PeerConnectionInternal methods. Specific fake PeerConnections then can
inherit from this and only override the methods pertaining to the
scenarios it will be used in.

Bug: webrtc:8764
Change-Id: I7614303b5673747244053b54b839e58aada43d10
Reviewed-on: https://webrtc-review.googlesource.com/43245
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21752}
2018-01-25 01:04:06 +00:00
Harald Alvestrand
75ceef2ab4 Pivot old stats generation to iterate senders/receivers
This is the old-style-stats equivalent of CL 34360.

Bug: webrtc:8616
Change-Id: I12573eb305a8f1ecf8134b87ab14e33eaec5ba22
Reviewed-on: https://webrtc-review.googlesource.com/37080
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21497}
2018-01-04 14:58:19 +00:00
Steve Anton
741164813a Remove SessionStats.proxy_to_transport
The stats collectors would only ever call this on the signaling
thread, so they might as well just ask the voice/video channel
their transport_name directly.

Bug: None
Change-Id: I8dd36210ff22d222b45b5f5e22c253f601cdc79e
Reviewed-on: https://webrtc-review.googlesource.com/34581
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21339}
2017-12-18 23:37:47 +00:00
Gustaf Ullberg
7c5597aff2 Remove unused enum (kStatsValueNameEchoCancellationQualityMin).
Removing enum that was left behind when the metric aec_quality_min was
removed.

Bug: webrtc:8563
Change-Id: I8a8c68659abc6465ef42f002f73bd2607e953ac5
Reviewed-on: https://webrtc-review.googlesource.com/33004
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21321}
2017-12-18 11:56:48 +00:00
Ivo Creusen
56d460902e Use the new AudioProcessing statistics everywhere.
The new interface uses optionals instead of default values, and only values that are actually used are included. To make it easy to add/remove stats in the future, the struct itself is copied around on all layers, instead of copying the values one by one. This CL also fixes a bug which caused several APM statistics to get stuck at a fixed level when there are no more receive streams (after some period where there were receive streams). Since APM doesn't know this happens, an argument was added to the GetStats call to pass this information down to APM.

Bug: webrtc:8563, b/67926135
Change-Id: I96cc008353355bb520c4523f5c5379860f73ee24
Reviewed-on: https://webrtc-review.googlesource.com/25621
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20877}
2017-11-24 18:17:39 +00:00
Oskar Sundbom
36f8f3eaab Optional: Use nullopt and implicit construction in /pc
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

TBR=pthatcher@webrtc.org

Bug: None
Change-Id: If41c462dc3ddff664d0b70d249d760e2ca4c8ab3
Reviewed-on: https://webrtc-review.googlesource.com/23576
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20820}
2017-11-21 17:53:37 +00:00
Mirko Bonadei
c61ce0d0cd Fixing some clang-tidy findings.
Bug: None
Change-Id: I949c1ff35284ce79c99e8f76148f63b8bba965a9
Reviewed-on: https://webrtc-review.googlesource.com/24041
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20818}
2017-11-21 16:43:07 +00:00
Ivo Creusen
ae02609645 Add parallel stats interface with optional stats to APM.
This new parallel GetStatistics function uses Optionals to indicate if stats are valid or not, and no longer relies on default values. It also takes an argument to indicate if receive streams are present, and if not several stats will not be set.

Bug: b/67926135
Change-Id: I175de1c65c414bea6ec9ca8b0b16f07cb2308d9f
Reviewed-on: https://webrtc-review.googlesource.com/17942
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20789}
2017-11-20 13:13:20 +00:00
Steve Anton
8699a3229f Have BaseChannel take MediaChannel as unique_ptr
Bug: None
Change-Id: I9a0c67cc364623b7c17824271edfbd782f88dbfb
Reviewed-on: https://webrtc-review.googlesource.com/18300
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20594}
2017-11-07 18:46:06 +00:00
Steve Anton
75737c0c6a Merge WebRtcSession into PeerConnection
This literally copies & pastes the code from WebRtcSession into
PeerConnection as private methods. The only other changes were to
inline the WebRtcSession construction/initialization/destruction
into PeerConnection and fix issues using rtc::Bind on the
reference-counted PeerConnection.

Bug: webrtc:8323
Change-Id: Ib3f071ac10d18566a21a3b04813b1d4ec691ef3c
Reviewed-on: https://webrtc-review.googlesource.com/15160
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20574}
2017-11-06 21:15:20 +00:00
Steve Anton
ba818675b9 Prepare WebRtcSession to be merged into PeerConnection
This commit prepares WebRtcSession so that it can be cleanly
copy & pasted into PeerConnection in the next commit. To accomplish
this, the following was done:
1. Added a pointer to the owning PeerConnection to WebRtcSession.
2. Replace WebRtcSession state enum with signaling state.
3. All signals/observers only observed by PeerConnection were
   replaced with direct calls to PeerConnection methods.
4. All duplicated fields were moved to PeerConnection.
5. The remaining tests that still use WebRtcSession for mocks were
   updated to minimize dependence on WebRtcSession construction.

Bug: webrtc:8323
Change-Id: Ifc1a4ee819dcc9beca5363291012f7d5563ff7b1
Reviewed-on: https://webrtc-review.googlesource.com/9020
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20573}
2017-11-06 21:11:19 +00:00
Steve Anton
36b29d1df3 Enable cpplint in pc/
Enable cpplint check in the PRESUBMIT for pc/ and fix all existing
warnings.

Bug: webrtc:5583
Change-Id: If39994692ab6f6f3c83c74f23850f02fdfe810e8
Reviewed-on: https://webrtc-review.googlesource.com/16540
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20482}
2017-10-30 18:08:29 +00:00
Steve Anton
978b876fd2 Move clients of WebRtcSession to use PeerConnection
This change is part of the work to merge WebRtcSession into
PeerConnection. To make that work easier, this moves all clients
of WebRtcSession to use shims added to PeerConnection. That way
when the classes are merged they won't need to be modified.

Bug: webrtc:8183
Change-Id: I5758a5954b91d235faf810c8bf4bf9f6f31d83c1
Reviewed-on: https://webrtc-review.googlesource.com/5040
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20090}
2017-10-02 17:16:09 +00:00
Alex Loiko
bf66794c06 Revert "Move clients of WebRtcSession to use PeerConnection"
This reverts commit 3dc4d4a21f.

Reason for revert: breaks internal project

Original change's description:
> Move clients of WebRtcSession to use PeerConnection
> 
> This change is part of the work to merge WebRtcSession into
> PeerConnection. To make that work easier, this moves all clients
> of WebRtcSession to use shims added to PeerConnection. That way
> when the classes are merged they won't need to be modified.
> 
> Bug: webrtc:8183
> Change-Id: I43de7acf7e38c9fcf2dbf55d50eb05e73767c251
> Reviewed-on: https://webrtc-review.googlesource.com/4320
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20030}

TBR=steveanton@webrtc.org,deadbeef@webrtc.org

Change-Id: I13f335b24c26753429cd08a4ca3e295eed5660ff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8183
Reviewed-on: https://webrtc-review.googlesource.com/4700
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20035}
2017-09-29 10:44:38 +00:00
Steve Anton
3dc4d4a21f Move clients of WebRtcSession to use PeerConnection
This change is part of the work to merge WebRtcSession into
PeerConnection. To make that work easier, this moves all clients
of WebRtcSession to use shims added to PeerConnection. That way
when the classes are merged they won't need to be modified.

Bug: webrtc:8183
Change-Id: I43de7acf7e38c9fcf2dbf55d50eb05e73767c251
Reviewed-on: https://webrtc-review.googlesource.com/4320
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20030}
2017-09-29 01:06:26 +00:00
Patrik Höglund
563934e726 Clean up dependencies of peerconnection_unittest.
There were a number of unused includes and undeclared
dependencies. I removed the includes that were causing
problems and added dependencies for the includes that
turned out to be needed.

Bug: webrtc:7239,webrtc:6828
Change-Id: I5b57f9b8411d969e96eaa46fb49101b7b7c32284
Reviewed-on: https://webrtc-review.googlesource.com/1185
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19858}
2017-09-15 12:51:00 +00:00
Mirko Bonadei
92ea95e34a Fixing WebRTC after moving from src/webrtc to src/
In https://webrtc-review.googlesource.com/c/src/+/1560 we moved WebRTC
from src/webrtc to src/ (in order to preserve an healthy git history).
This CL takes care of fixing header guards, #include paths, etc...

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org


Bug: chromium:611808
Change-Id: Iea91618212bee0af16aa3f05071eab8f93706578
Reviewed-on: https://webrtc-review.googlesource.com/1561
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19846}
2017-09-15 05:02:56 +00:00
Mirko Bonadei
bb547203bf Moving src/webrtc into src/.
In order to eliminate the WebRTC Subtree mirror in Chromium, 
WebRTC is moving the content of the src/webrtc directory up
to the src/ directory.

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org

Bug: chromium:611808
Change-Id: Iac59c5b51b950f174119565bac87955a7994bc38
Reviewed-on: https://webrtc-review.googlesource.com/1560
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19845}
2017-09-15 04:25:06 +00:00
Renamed from webrtc/pc/statscollector_unittest.cc (Browse further)