Commit graph

146 commits

Author SHA1 Message Date
Artem Titov
94b57c044e Cleanup BUILD.gn files from imports like foo:foo
Repalce all occurrences of foo:foo in deps with just foo in BUILD.gn
files.

Done with Sublime regex replace.
Find: \b([-a-zA-Z0-9_]+):+\1\b
In: *.gn
Replace with: \1

Bug: None
Change-Id: I40aba1b14face687a595b852ffe443cb20197611
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127899
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27225}
2019-03-21 13:05:28 +00:00
Kári Tristan Helgason
8a1e35c1c9 Finally delete deprecated mac capturer.
Landing this CL will break video_loopback but cl 124827 fixes that.

Bug: webrtc:6898, webrtc:6333, webrtc:7861
Change-Id: Iecbbf75fab08570cc537784f7bbd11a841a2e5a6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/124828
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27012}
2019-03-07 10:35:03 +00:00
Kári Tristan Helgason
ede7cb2ec1 Rewrite video_loopback to use new mac capturer.
The old one has been deprecated for a long time.

Bug: webrtc:6333, webrtc:6898, webrtc:7861
Change-Id: Ib9b798262817e80019afcacc5b41d18957a28101
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/124827
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26993}
2019-03-06 14:37:33 +00:00
Mirko Bonadei
fc52b912a3 Implicitly suppress //build/config/clang:find_bad_constructs.
Since there is no way to enable/disable these diagnostics at runtime,
this CL moves the suppression into the rtc_* templates in order to
remove the need to explicitly add the snippet of code needed to
suppress it (currently copy/pasted in 144 locations).

The diagnostic that causes the most problems is the one about "complex
class/struct explicit ctor/dtor" [1] because WebRTC doesn't find
it useful enough.

Other diagnostics are good (for example the one that warns about
using "virtual" instead of "override", but that will be covered by
this clang-tidy check [2]) while others are Chromium related so
they have never triggered.

[1] - https://cs.chromium.org/chromium/src/tools/clang/plugins/FindBadConstructsConsumer.cpp?l=147-167&rcl=b4bebe1aa15dba7ca5fcc6456a81a55665327c3a
[2] - https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-override.html

Bug: webrtc:163
Change-Id: Icbf27efa5b369100a31e6a32df1a0913729b3b34
Reviewed-on: https://webrtc-review.googlesource.com/c/125088
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26918}
2019-03-01 10:18:17 +00:00
Peter Hanspers
bed8604664 Adding entry point for the v2 stats API.
Bug: webrtc:10345
Change-Id: I9271376ff60f5fc6e9014b7dd9a8a5682bdbf452
Reviewed-on: https://webrtc-review.googlesource.com/c/123780
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26801}
2019-02-21 18:29:16 +00:00
Niels Möller
dac03d9bb0 Move MediaConstraintsInterface to sdk/, and make it a concrete class
Bug: webrtc:9239
Change-Id: I545ebf59b078dd94bc466886616dd374e4b2e226
Reviewed-on: https://webrtc-review.googlesource.com/c/122502
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26682}
2019-02-14 12:07:07 +00:00
Mirko Bonadei
d970807e0c Remove rtc_base/scoped_ref_ptr.h.
The type rtc::scoped_refptr<T> is now part of api/. Please include it from
api/scoped_refptr.h.

More info: See: https://groups.google.com/forum/#!topic/discuss-webrtc/Mme2MSz4z4o.

Bug: webrtc:9887, webrtc:8205
No-Try: True
Change-Id: Ic6c7c81e226e59f12f7933e472f573ae097b55bf
Reviewed-on: https://webrtc-review.googlesource.com/c/119041
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26414}
2019-01-25 20:29:58 +00:00
Anders Carlsson
45340ca824 Remove legacy video codec factories.
Removes the deprecated video codec factories and the related flag and
helper classes.

Bug: webrtc:7925
Change-Id: I0a6d1666ece9ad074fefc79b626ba241765e1b98
Reviewed-on: https://webrtc-review.googlesource.com/c/113940
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26245}
2019-01-14 14:56:40 +00:00
Bjorn Terelius
b8b3c9918f Clean up visibility and dependencies of RTC event log build targets.
- Remove visibility of encoder target.
- Remove unnecessary dependency on task_queue.
- Remove CreateRtcEventLogFactory() declaration from the rtc_event_log_api target
  since the function is not defined in that target.

Bug: None
Change-Id: Id9edee86f358d08ea063d62bd96e9653c5b06d55
Reviewed-on: https://webrtc-review.googlesource.com/c/116060
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26215}
2019-01-11 11:05:12 +00:00
Aaron Golden
fb4e9bc9a2 Add a missing NULL check before releasing a texture ref.
This causes a crash if the NV12 texture cache attempts to upload textures
for a frame with a NULL backing CVPixelBufferRef.

Bug: webrtc:10175
Change-Id: I6866dcde5ace745cbd95b762254294aa8406c2a5
Reviewed-on: https://webrtc-review.googlesource.com/c/115430
Commit-Queue: Chuck Hays <haysc@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26140}
2019-01-04 21:08:05 +00:00
Anders Carlsson
24d8ec3dbb Set @rpath in AppRTCMobile for macOS.
Without this, the application can't find the WebRTC dynamic library
when started from the built app bundle (debugging in Xcode worked).

Bug: webrtc:10111
Change-Id: I1610948aae070fe9938e873ce073e05ba7255c7d
Reviewed-on: https://webrtc-review.googlesource.com/c/113805
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25949}
2018-12-10 14:07:52 +00:00
Mirko Bonadei
e3abb8134f Decouple //rtc_base:rtc_base_tests_utils from gunit.
This CL decouples //rtc_base:rtc_base_tests_utils from gunit by
moving gunit helpers (rtc_base/gunit.h) and rtc_base/testclient.h
(which depends on gunit helpers) to their own build target.

It also removes some unused dependencies in the WebRTC build graph.

Bug: None
Change-Id: Ia9820e84ff697da39b351eef73c45f6e4bdf2623
Reviewed-on: https://webrtc-review.googlesource.com/c/111861
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25769}
2018-11-23 12:52:46 +00:00
Mirko Bonadei
2ff3f49700 Move webrtc::CreatePeerConnectionFactory definition next to decl.
This CL moves webrtc::CreatePeerConnectionFactory definitions out of
pc:create_pc_factory and merges it with its declaration in the api/
directory.

In order to avoid circular dependencies a new build target is created:
* api:create_peerconnection_factory

Bug: webrtc:9862
Change-Id: Ie215c94460cba026f5bf7d11c9a5aa03792064af
Reviewed-on: https://webrtc-review.googlesource.com/c/111186
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25744}
2018-11-22 09:07:51 +00:00
Jiawei Ou
4aeb35b6d0 Explicitly retain self in objc blocks to avoid compiler warning.
Implicitly retaining self pointer (assuming this is intended behavior) causes compiler warning `-Wimplicit-retain-self`. We should do it explicitly.

Bug: webrtc:9971
Change-Id: If77a67168d8a65ced78d5119b9a7332391d20bc9
Reviewed-on: https://webrtc-review.googlesource.com/c/109641
Commit-Queue: Jiawei Ou <ouj@fb.com>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25609}
2018-11-12 19:45:17 +00:00
Alessio Bazzica
b768e8800f Reland "Isolating APM API build target: making :api an actual target."
This reverts commit 61c6e5643e.

Reason for revert: downstream projects prepared for this change

Original change's description:
> Revert "Isolating APM API build target: making :api an actual target."
> 
> This reverts commit a7f77a7c05.
> 
> Reason for revert: breaking downstream
> 
> Original change's description:
> > Isolating APM API build target: making :api an actual target.
> > 
> > This CL is part of a refactoring work to unblock other CLs
> > that would generate a circular dependency when including
> > modules/audio_processing. It will also allow to easily move
> > the APM interface part under //api.
> > 
> > More in detail, this change moves the APM interface files from
> > the build target modules/audio_processing to
> > modules/audio_processing:api. It also adds :api as dependency
> > where needed.
> > 
> > Bug: webrtc:9535
> > Change-Id: I72829e22d08ba4d75985f0421e6e8bf0216ebecd
> > Reviewed-on: https://webrtc-review.googlesource.com/c/109501
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#25539}
> 
> TBR=saza@webrtc.org,alessiob@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org
> 
> Change-Id: I974c6237311e7c06970aa62e5f6940f3aa80113d
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9535
> Reviewed-on: https://webrtc-review.googlesource.com/c/109820
> Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25540}

TBR=saza@webrtc.org,alessiob@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org

Change-Id: Ic8ed4cc3baf43d639ce13cae256c007728c3ad92
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9535
Reviewed-on: https://webrtc-review.googlesource.com/c/109884
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25547}
2018-11-07 14:30:06 +00:00
Alessio Bazzica
61c6e5643e Revert "Isolating APM API build target: making :api an actual target."
This reverts commit a7f77a7c05.

Reason for revert: breaking downstream

Original change's description:
> Isolating APM API build target: making :api an actual target.
> 
> This CL is part of a refactoring work to unblock other CLs
> that would generate a circular dependency when including
> modules/audio_processing. It will also allow to easily move
> the APM interface part under //api.
> 
> More in detail, this change moves the APM interface files from
> the build target modules/audio_processing to
> modules/audio_processing:api. It also adds :api as dependency
> where needed.
> 
> Bug: webrtc:9535
> Change-Id: I72829e22d08ba4d75985f0421e6e8bf0216ebecd
> Reviewed-on: https://webrtc-review.googlesource.com/c/109501
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25539}

TBR=saza@webrtc.org,alessiob@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org

Change-Id: I974c6237311e7c06970aa62e5f6940f3aa80113d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9535
Reviewed-on: https://webrtc-review.googlesource.com/c/109820
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25540}
2018-11-07 11:28:03 +00:00
Alessio Bazzica
a7f77a7c05 Isolating APM API build target: making :api an actual target.
This CL is part of a refactoring work to unblock other CLs
that would generate a circular dependency when including
modules/audio_processing. It will also allow to easily move
the APM interface part under //api.

More in detail, this change moves the APM interface files from
the build target modules/audio_processing to
modules/audio_processing:api. It also adds :api as dependency
where needed.

Bug: webrtc:9535
Change-Id: I72829e22d08ba4d75985f0421e6e8bf0216ebecd
Reviewed-on: https://webrtc-review.googlesource.com/c/109501
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25539}
2018-11-07 10:34:51 +00:00
Artem Titarenko
34fc346a0c Add support for computing iOS code coverage
Also disable failing PosixSignalDeliveryTest* tests for iOS

Bug: chromium:844647
Change-Id: I64bb233bef2f06f6778f2d475b6d3ad685fb9143
Reviewed-on: https://webrtc-review.googlesource.com/c/105641
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25524}
2018-11-06 15:18:51 +00:00
Qingsi Wang
59844ce57e Revert "Use the factory instead of using the builtin code path in VideoCodecInitializer."
This reverts commit be142178aa.

Reason for revert: breaking internal projects

Original change's description:
> Use the factory instead of using the builtin code path in `VideoCodecInitializer`.
> 
> Bug: webrtc:9513
> Change-Id: Ia299ae1044a3ff4c91e208200938cba540bdcea6
> Reviewed-on: https://webrtc-review.googlesource.com/c/94782
> Commit-Queue: Jiawei Ou <ouj@fb.com>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Seth Hampson <shampson@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25456}

TBR=brandtr@webrtc.org,magjed@webrtc.org,sakal@webrtc.org,nisse@webrtc.org,andersc@webrtc.org,tommi@webrtc.org,kthelgason@webrtc.org,sprang@webrtc.org,srte@webrtc.org,perkj@webrtc.org,tkchin@webrtc.org,shampson@webrtc.org,glaznev@webrtc.org,ouj@fb.com,qingsi@webrtc.org

Change-Id: I8040ccabe3ae6464d72c7696adb663c1dd275b63
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9513
Reviewed-on: https://webrtc-review.googlesource.com/c/108980
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25459}
2018-11-01 04:46:02 +00:00
Jiawei Ou
be142178aa Use the factory instead of using the builtin code path in VideoCodecInitializer.
Bug: webrtc:9513
Change-Id: Ia299ae1044a3ff4c91e208200938cba540bdcea6
Reviewed-on: https://webrtc-review.googlesource.com/c/94782
Commit-Queue: Jiawei Ou <ouj@fb.com>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25456}
2018-10-31 22:47:02 +00:00
Yves Gerey
21cddffd99 Harmonize paths to dependent targets.
This CL consistently use:
 * relative paths for WebRTC dependent targets (test_support)
 * absolute paths for shared dependent targets (abseil)
This is a necessary (but insufficient) step to build WebRTC tests
from Chromium tree (rtc_include_tests=true), since test/ doesn't
sit anymore in the top level directory.

We also make sure that target declarations and uses are
consistent in regard to build_with_chromium flag.

Bug: webrtc:9943
Bug: webrtc:9855
Change-Id: I21dea98894df2fd4bfe2fd7ee7b71ba971e0ab5b
Reviewed-on: https://webrtc-review.googlesource.com/c/108720
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25445}
2018-10-31 10:04:59 +00:00
Artem Titarenko
42b43157a4 Add iOS SDK unit tests for nalu_rewriter
Bug: webrtc:9939
Change-Id: I6848786009ee10ffed60743d9e3a2acaf65540c6
Reviewed-on: https://webrtc-review.googlesource.com/c/108440
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25422}
2018-10-30 08:45:14 +00:00
Benjamin Wright
8c27ccac75 Promotoing webrtc::CryptoOptions to RTCConfiguration.
With the expanding use cases for webrtc::CryptoOptions it makes more sense for
it to be be available per peer connection instead of only as a factory option.

To support backwards compatability for now this code will support the factory
method of setting crypto options by default. However it will completely
overwrite these settings if an RTCConfiguration.crypto_options is provided.

Got LGTM offline from Sami, adding him to TBR if he has any further comments.

TBR=sakal@webrtc.org

Bug: webrtc:9891
Change-Id: I86914cab69284ad82afd7285fd84ec5f4f2c4986
Reviewed-on: https://webrtc-review.googlesource.com/c/107029
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25375}
2018-10-25 17:59:48 +00:00
Jiawei Ou
c9e6b969a4 Add necessary frameworks to sdk objc audio targets.
These two dependency is not needed if other libraries or the app takes in the framework. But it will have a linker error they are included alone. It is just more "correct" this way.

Bug: webrtc:9853
Change-Id: I20858de197f34e554904f82e3d6c19ff596226bf
Reviewed-on: https://webrtc-review.googlesource.com/c/104963
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Jiawei Ou <ouj@fb.com>
Cr-Commit-Position: refs/heads/master@{#25188}
2018-10-15 20:05:49 +00:00
Piotr (Peter) Slatala
e0c2e97474 Pass MediaTransportFactory to PeerConnectionFactory.
And use RTCConfiguration to enable/disable it on a per connection basis.

With the advent of MediaTransportInterface, we need to be able to enable
it on the per PeerConnection basis.

At this point PeerConnection will not take any action when the
MediaTransportInterface is set; this code will land a bit later, and
will be accompanied by the tests that verify correct setup (hence no tests right now).

At this point this is just a method stub to enable further development.

Bug: webrtc:9719
Change-Id: I1f77d650cb03bf1191aa0b35669cd32f1b68446f
Reviewed-on: https://webrtc-review.googlesource.com/c/103860
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25053}
2018-10-08 18:11:06 +00:00
Niels Möller
4dc66c53d0 Move EncodedImage class to api/video/
Bug: webrtc:9378
Change-Id: I8fb3b19cad0ad428abc6c8e6b507180d461882ba
Reviewed-on: https://webrtc-review.googlesource.com/c/104002
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25033}
2018-10-08 07:37:10 +00:00
Mirko Bonadei
311c13b3c2 Remove noop system_wrappers_default build target.
After the removal of field_trial_default, metrics_default and
runtime_enabled_features_default, this build target doesn't build
anything and can be safely removed.

Bug: webrtc:9631
Change-Id: Iee1111e065ffefe0b4b9a695ee67a594e6d82caa
Reviewed-on: https://webrtc-review.googlesource.com/c/103702
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24976}
2018-10-04 10:25:37 +00:00
Benjamin Wright
ddf1a3e209 Add FrameEncryptor/FrameDecryptor support to Objective C API for WebRTC.
This change adds bindings so that native FrameEncryptor and native FrameDecryptor
objects can be set on the objective C RTCRtpSender and RTCRtpReceiver objects.

Bug: webrtc:9681
Change-Id: Iec4006ea020d6ab6adcc0ad068dcd8fb2738063d
Reviewed-on: https://webrtc-review.googlesource.com/c/103020
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24936}
2018-10-02 18:34:32 +00:00
Mirko Bonadei
e0d455b409 Remove runtime_enabled_feature.
This features is not needed anymore, with this CL it is also possible
to address two issues:
- The need to pick a default implementation.
- The need to use -Wno-global-constructors.

Bug: webrtc:9631, webrtc:9693
Change-Id: Id3daf34179fbc8db26969fc701ccbfa7182c6a9b
Reviewed-on: https://webrtc-review.googlesource.com/102543
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24904}
2018-10-01 07:03:25 +00:00
Mirko Bonadei
17f4878419 Remove deprecated field_trial_default and metrics_default.
This CL removes some deprecated build targets (and their headers)
from system_wrappers:
- field_trial_api
- field_trial_default
- metrics_api
- metrics_default

It also refreshes all the dependencies on field_trial.h and metrics.h.

A nice side effect is that it is finally possible to remove 'nogncheck'
from the following files (when it was used with field_trial_default
and metrics_default):
- sdk/objc/api/peerconnection/RTCMetricsSampleInfo+Private.h
- sdk/android/src/jni/pc/peerconnectionfactory.cc
- sdk/objc/api/peerconnection/RTCFieldTrials.mm

Bug: webrtc:9631
Change-Id: Ib621f41ef8ad0aba4fe1c1d7e749c044afc956c3
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/100524
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24878}
2018-09-28 07:21:07 +00:00
Artem Titarenko
17ad64e41f Reland "Added support of getting coverage on mac"
This is a reland of 207cfdfbd8
This was not a cause of bug chromium:888061

Original change's description:
> Added support of getting coverage on mac
>
> Bug: chromium:844647
> Change-Id: Ia358d3a1dfc9a53149d68f811652f38245a0b408
> Reviewed-on: https://webrtc-review.googlesource.com/101041
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Artem Titarenko <artit@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24779}

Bug: chromium:844647
Change-Id: I14ecd48f2c6e5cf4978110b6aefae02222d3ff1e
Reviewed-on: https://webrtc-review.googlesource.com/101780
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24817}
2018-09-25 08:31:30 +00:00
Artem Titarenko
ee414728e9 Revert "Added support of getting coverage on mac"
This reverts commit 207cfdfbd8.

Reason for revert: Triaging bug chromium:888061

Original change's description:
> Added support of getting coverage on mac
> 
> Bug: chromium:844647
> Change-Id: Ia358d3a1dfc9a53149d68f811652f38245a0b408
> Reviewed-on: https://webrtc-review.googlesource.com/101041
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Artem Titarenko <artit@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24779}

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

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

Bug: chromium:844647
Change-Id: Icd4708d57ac3d0c8d13127c8bc263069d6d2b44c
Reviewed-on: https://webrtc-review.googlesource.com/101540
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24788}
2018-09-24 08:59:41 +00:00
Artem Titarenko
207cfdfbd8 Added support of getting coverage on mac
Bug: chromium:844647
Change-Id: Ia358d3a1dfc9a53149d68f811652f38245a0b408
Reviewed-on: https://webrtc-review.googlesource.com/101041
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24779}
2018-09-20 07:27:55 +00:00
Sergey Silkin
9c147ddc91 Revert "Add SSLConfig object to IceServer."
This reverts commit 4f085434b9.

Reason for revert: breaks downstream projects.

Original change's description:
> Add SSLConfig object to IceServer.
> 
> This is a rollforward of https://webrtc-review.googlesource.com/c/src/+/96020,
> with the addition of setting the old tlsCertPolicy, tlsAlpnProtocols and
> tlsEllipticCurves in the RTCIceServer initializer, for backwards compatibility.
> 
> Bug: webrtc:9662
> Change-Id: I28706ed4ff5abe3f7f913f105779f0e5412aeac5
> Reviewed-on: https://webrtc-review.googlesource.com/98762
> Commit-Queue: Diogo Real <diogor@google.com>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24696}

TBR=steveanton@webrtc.org,sakal@webrtc.org,kwiberg@webrtc.org,kthelgason@webrtc.org,qingsi@webrtc.org,benwright@webrtc.org,diogor@google.com

Change-Id: I1cb64b63fec688b4ac90c2fa368eaf0bc11046af
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9662
Reviewed-on: https://webrtc-review.googlesource.com/99880
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24701}
2018-09-12 10:46:04 +00:00
Diogo Real
4f085434b9 Add SSLConfig object to IceServer.
This is a rollforward of https://webrtc-review.googlesource.com/c/src/+/96020,
with the addition of setting the old tlsCertPolicy, tlsAlpnProtocols and
tlsEllipticCurves in the RTCIceServer initializer, for backwards compatibility.

Bug: webrtc:9662
Change-Id: I28706ed4ff5abe3f7f913f105779f0e5412aeac5
Reviewed-on: https://webrtc-review.googlesource.com/98762
Commit-Queue: Diogo Real <diogor@google.com>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24696}
2018-09-11 23:28:46 +00:00
Kári Tristan Helgason
b2d2489e81 Remove RTCUIApplicationStatusObserver.
This component was added to work around an issue in iOS 8, which is
no longer supported by WebRTC. It's removal is made more urgent by
the fact that it prevents WebRTC being used by iOS extensions.

Bug: webrtc:9335
Change-Id: I2a3327534fe6d5014c34a9e908096d825e8149e3
Reviewed-on: https://webrtc-review.googlesource.com/87822
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24688}
2018-09-11 14:19:11 +00:00
Mirko Bonadei
96ede16a4e Enable -Wexit-time-destructors and -Wglobal-constructors.
This CL enables -Wexit-time-destructors and -Wglobal-constructors on
rtc_static_library and rtc_source_set build targets.

It also adds the possibility to suppress these warnings because
they trigger in a few places.

The long term goal is to avoid regressions on this and remove all the
suppressions.

Bug: webrtc:9693
Change-Id: I4c1ecc137ef9e87ec5e66981ce95d96fb082727c
Reviewed-on: https://webrtc-review.googlesource.com/98380
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24604}
2018-09-06 12:43:20 +00:00
Anders Carlsson
37bbf799d2 Generate umbrella header for macOS framework.
Similarly to how it is done for iOS.

Bug: webrtc:9627
Change-Id: I7e4e3495d28a0a098531250bfdcf93d272e27b9d
Reviewed-on: https://webrtc-review.googlesource.com/98162
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24594}
2018-09-06 08:27:18 +00:00
Ying Wang
1d52d2c24d Revert "Add SSLConfig object to IceServer."
This reverts commit 7f1ffcccce.

Reason for revert: Speculative revert

Original change's description:
> Add SSLConfig object to IceServer.
> 
> This is being added to allow greater configurability to TLS connections.
> tlsAlpnProtocols, tlsEllipticCurves and tlsCertPolicy will be removed from IceServer in a
> follow-up CL.
> 
> Bug: webrtc:9662
> Change-Id: I33cb804b02c26c662ed2a28c76f9a9dc2df40f36
> Reviewed-on: https://webrtc-review.googlesource.com/96020
> Commit-Queue: Diogo Real <diogor@google.com>
> Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
> Reviewed-by: Benjamin Wright <benwright@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24559}

TBR=steveanton@webrtc.org,sakal@webrtc.org,kthelgason@webrtc.org,juberti@webrtc.org,emadomara@webrtc.org,qingsi@webrtc.org,benwright@webrtc.org,diogor@google.com

Change-Id: Iae9fc68b77f743876bda36fc2a04f6d791aae8e2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9662
Reviewed-on: https://webrtc-review.googlesource.com/98000
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24563}
2018-09-05 08:15:29 +00:00
Diogo Real
7f1ffcccce Add SSLConfig object to IceServer.
This is being added to allow greater configurability to TLS connections.
tlsAlpnProtocols, tlsEllipticCurves and tlsCertPolicy will be removed from IceServer in a
follow-up CL.

Bug: webrtc:9662
Change-Id: I33cb804b02c26c662ed2a28c76f9a9dc2df40f36
Reviewed-on: https://webrtc-review.googlesource.com/96020
Commit-Queue: Diogo Real <diogor@google.com>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24559}
2018-09-04 22:46:19 +00:00
Anders Carlsson
4e5af96606 Include i420 buffers in Obj-C framework again.
These headers was lost in the cleanup CL for the Obj-C directories. This
puts them back in the framework headers.

Note that since the protocol and interface was split into two different
headers, and all public framework headers are put into a flat directory
structure, I had to rename the implementation files so they would not collide
in the framework header directory.

Bug: webrtc:9701
Change-Id: I42d4c1e02bdfa4e114575f527c4c42a19be8fb52
Reviewed-on: https://webrtc-review.googlesource.com/97330
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24539}
2018-09-03 15:06:18 +00:00
Anders Carlsson
7bca8ca4e2 Obj-C SDK Cleanup
This CL separates the files under sdk/objc into logical directories, replacing
the previous file layout under Framework/.

A long term goal is to have some system set up to generate the files under
sdk/objc/api (the PeerConnection API wrappers) from the C++ code. In the shorter
term the goal is to abstract out shared concepts from these classes in order to
make them as uniform as possible.

The separation into base/, components/, and helpers/ are to differentiate between
the base layer's common protocols, various utilities and the actual platform
specific components.

The old directory layout that resembled a framework's internal layout is not
necessary, since it is generated by the framework target when building it.

Bug: webrtc:9627
Change-Id: Ib084fd83f050ae980649ca99e841f4fb0580bd8f
Reviewed-on: https://webrtc-review.googlesource.com/94142
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24493}
2018-08-30 10:42:41 +00:00
Kári Tristan Helgason
be3d455df0 Add RTCCertificate to framework headers.
Bug: webrtc:9498
Change-Id: I3902d73741f78ab58188b0d4c6865afce9eff104
Reviewed-on: https://webrtc-review.googlesource.com/94481
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24305}
2018-08-16 08:40:19 +00:00
Michael Iedema
ccee56beee Add certificate generate/set functionality to bring iOS closer to JS API
The JS API supports two operations which have never been implemented in
the iOS counterpart:
 - generate a new certificate
 - use this certificate when creating a new PeerConnection

Both functions are illustrated in the generateCertificate example code:
 - https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/generateCertificate

Currently, on iOS, a new certificate is automatically generated for
every PeerConnection with no programmatic way to set a specific
certificate.

Work sponsored by |pipe|

Bug: webrtc:9498
Change-Id: Ic1936c3de8b8bd18aef67c784727b72f90e7157c
Reviewed-on: https://webrtc-review.googlesource.com/87303
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24276}
2018-08-13 22:25:15 +00:00
Mirko Bonadei
2ad8c43ae7 Change visibility of some build targets that are publicly used.
Bug: None
Change-Id: I9b0dc56364648ac4d4fa4b8bb67af44700621b24
Reviewed-on: https://webrtc-review.googlesource.com/93282
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24256}
2018-08-10 09:56:51 +00:00
Mirko Bonadei
8e5014a392 Remove definition and usage of macro GTEST_RELATIVE_PATH.
The macro GTEST_RELATIVE_PATH is obsolete and since it is always
defined this CL just removes it.

Bug: webrtc:9564
Change-Id: Ieafa5b77351c4df87864588ba6b3de8f60d54e89
Reviewed-on: https://webrtc-review.googlesource.com/92080
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24226}
2018-08-08 11:00:11 +00:00
Kári Tristan Helgason
9014324bb1 Support compiling with the lastest iOS SDK.
Bug: None
Change-Id: I2bc4b4f3eba9c5f6b3a94fce076dc575c5be057d
Reviewed-on: https://webrtc-review.googlesource.com/90720
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24163}
2018-08-01 09:17:59 +00:00
Kári Tristan Helgason
e3a38421cf Include RTCMTLVideoView even on archs without metal.
This makes fixes some weirdness with the order of architectures in
fat binaries, and with the umbrella header generation.

Bug: webrtc:9573
Change-Id: Ibf4318c761da58e724820eba623d37b4739e6860
Reviewed-on: https://webrtc-review.googlesource.com/91421
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24160}
2018-08-01 08:31:30 +00:00
Mirko Bonadei
17aff35e1d Enable clang::find_bad_constructs for sdk/ (part 1).
This CL removes //build/config/clang:find_bad_constructs from the
suppressed_configs list, which means that clang:find_bad_constructs
is now enabled on these translation units.

Bug: webrtc:9251, webrtc:163
Change-Id: I6f03c46e772ccf4d15951a4b9d4e12015d539e58
Reviewed-on: https://webrtc-review.googlesource.com/90408
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24113}
2018-07-26 12:16:31 +00:00
Niels Möller
a12c42a6b2 Delete root header file typedef.h.
Usage replaced with stdint.h, rtc_base/system/arch.h and
rtc_base/system/unused.h, as appropriate.

Bug: webrtc:6854
Change-Id: I97225465d14b969903d92979e2df3c3c05d35f18
Reviewed-on: https://webrtc-review.googlesource.com/90249
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24100}
2018-07-25 14:59:26 +00:00