Commit graph

116 commits

Author SHA1 Message Date
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
Oleh Prypin
da04e06e04 Fix paths that were trying to go above the root by using too many "../.."
This doesn't cause problems because seems like GN just ignores these attempts and confines everything to the root.

Bug: None
Change-Id: Ief50b6e10f3950b319d0bde547f91dcc7f237cda
Reviewed-on: https://webrtc-review.googlesource.com/90041
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24063}
2018-07-23 10:25:03 +00:00
Mirko Bonadei
879f7881b4 Add missing dependencies on //third_party/abseil-cpp/absl/memory.
Abseil uses -isystem and -imsvc because of some warnings, these two
flags are not used by "gn check", this introduced some regressions.

CL https://chromium-review.googlesource.com/c/chromium/src/+/1124478
will try to switch back absl to -I.

Bug: None
Change-Id: I52e857ef1d11831393c35a1bee09479b83827bad
Reviewed-on: https://webrtc-review.googlesource.com/88121
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23923}
2018-07-11 07:56:07 +00:00
Danil Chapovalov
196100efa6 Replace rtc::Optional with absl::optional
This is a no-op change because rtc::Optional is an alias to absl::optional

This CL generated by running script passing top level directories except rtc_base and api

find $@ -type f \( -name \*.h -o -name \*.cc -o -name \*.mm \) \
-exec sed -i 's|rtc::Optional|absl::optional|g' {} \+ \
-exec sed -i 's|rtc::nullopt|absl::nullopt|g' {} \+ \
-exec sed -i 's|#include "api/optional.h"|#include "absl/types/optional.h"|' {} \+

find $@ -type f -name BUILD.gn \
-exec sed -r -i 's|"[\./api]*:optional"|"//third_party/abseil-cpp/absl/types:optional"|' {} \+;

git cl format

Bug: webrtc:9078
Change-Id: I9465c172e65ba6e6ed4e4fdc35b0b265038d6f71
Reviewed-on: https://webrtc-review.googlesource.com/84584
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23697}
2018-06-21 09:32:56 +00:00
Jiawei Ou
ae810c10b4 Create a peer connection factory builder
Similar to the builder on android: https://cs.chromium.org/chromium/src/third_party/webrtc/sdk/android/api/org/webrtc/PeerConnectionFactory.java?rcl=b90e63c620877712e45ee320cfa25cb825bf5373&l=134

1. A builder will allow us to choose what module factories to provide and use default for the others.
2. A helper category is added to provide helpers functions for creating common builders.

Bug: None
Change-Id: I5889bdd7dc2a2aeded62ef5f2c2381edd07089b3
Reviewed-on: https://webrtc-review.googlesource.com/83280
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23696}
2018-06-21 09:22:50 +00:00
Yura Yaroshevich
5297bd21b1 Fixed crash when PCF is destroyed before PC in ObjC
Bug: webrtc:9231
Change-Id: Iaf18257b8f38fa786d462bca5f860f9a7b1cc2d0
Reviewed-on: https://webrtc-review.googlesource.com/78800
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23674}
2018-06-20 06:45:17 +00:00
Florent Castelli
abe301fe6c Add HeaderExtensions to RtpParameters
Bug: webrtc:7580
Change-Id: I4fcf3e8bc4975a6b2baa6f24a17c254d2bf521d9
Reviewed-on: https://webrtc-review.googlesource.com/78288
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23584}
2018-06-12 17:01:40 +00:00
Anders Carlsson
358f2e0760 Broadcast extension for AppRTCMobile on iOS
This provides an environment for testing out using WebRTC from an iOS
extension. It implements a ReplayKit broadcast extension for live
streaming games and screensharing.

The extension is only supported on iOS 11+ and is guarded by a build
flag.

Bug: webrtc:9335
Change-Id: Id218d6c73ef7599f5953c5a1e0e62e5d0dc4f10b
Reviewed-on: https://webrtc-review.googlesource.com/80000
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23504}
2018-06-04 08:49:21 +00:00
Anders Carlsson
79ce820a13 Obj-C SDK for parsing and generating H264 ProfileLevelIds.
Expose this functionality in the Obj-C SDK to make it nicer to use for
Obj-C clients.

Bug: None
Change-Id: I5cb511af8799ac0fda15153d16f2550b848b93b2
Reviewed-on: https://webrtc-review.googlesource.com/80481
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23488}
2018-06-01 11:23:31 +00:00
Anders Carlsson
533c7d0204 Add missing header file to WebRTC iOS SDK.
This header is missing from the public headers when building the
framework.

Bug: None
Change-Id: I7ce3a57d5fa34d344239dfddcc6e29aee35a2ded
Reviewed-on: https://webrtc-review.googlesource.com/79942
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23453}
2018-05-30 15:35:31 +00:00
Florent Castelli
dacec71b16 Add Rtcp parameters for PeerConnection senders
Bug: webrtc:7580
Change-Id: Ibcf5e849a1f11f21fa75f6d006fecf1cd54f8552
Reviewed-on: https://webrtc-review.googlesource.com/78063
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23407}
2018-05-28 09:28:59 +00:00
Peter Hanspers
8d95e3b211 Moving iOS Audio Device to sdk.
This change forks the existing iOS audio device module and audio device
from modules/audio_device/ into sdk/objc/Framework. It also updates
RTCPeerConnectionFactory to use the forked implementation.

The unit tests are re-implemented as XCTests.

(was: https://webrtc-review.googlesource.com/c/src/+/67300)

Bug: webrtc:9120
Change-Id: I46c09900246f75ca5285aeb38f7b8b295784ffac
Reviewed-on: https://webrtc-review.googlesource.com/76741
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23238}
2018-05-15 10:33:01 +00:00
Peter Hanspers
43619a4f4a Revert "Moving iOS Audio Device to sdk."
This reverts commit 08da28dd60.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Moving iOS Audio Device to sdk.
> 
> This change forks the existing iOS audio device module and audio device
> from modules/audio_device/ into sdk/objc/Framework. It also updates
> RTCPeerConnectionFactory to use the forked implementation.
> 
> The unit tests are re-implemented as XCTests.
> 
> (was: https://webrtc-review.googlesource.com/c/src/+/67300)
> 
> Bug: webrtc:9120
> Change-Id: I07340505137b16c2dd487569ad0112f984557bba
> Reviewed-on: https://webrtc-review.googlesource.com/75125
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23208}

TBR=andersc@webrtc.org,kthelgason@webrtc.org,peterhanspers@webrtc.org

Change-Id: Ibbf8d53eaef386bc3033dc71e9490d5e48911fc9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9120
Reviewed-on: https://webrtc-review.googlesource.com/76460
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23211}
2018-05-14 10:41:20 +00:00
Peter Hanspers
08da28dd60 Moving iOS Audio Device to sdk.
This change forks the existing iOS audio device module and audio device
from modules/audio_device/ into sdk/objc/Framework. It also updates
RTCPeerConnectionFactory to use the forked implementation.

The unit tests are re-implemented as XCTests.

(was: https://webrtc-review.googlesource.com/c/src/+/67300)

Bug: webrtc:9120
Change-Id: I07340505137b16c2dd487569ad0112f984557bba
Reviewed-on: https://webrtc-review.googlesource.com/75125
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23208}
2018-05-14 09:25:49 +00:00
Niels Möller
c6ce9c5938 New file api/video/BUILD.gn
Build targets involving files under api/video/ are moved into this
file, from api/BUILD.gn. In addition, drop "_api" part of target
names, and move the header file api/videosinkinterface.h to
api/video/video_sink_interface.h.

Bug: webrtc:9253
Change-Id: I2896d3f063db8dff902bc29738578395b2fcc155
Reviewed-on: https://webrtc-review.googlesource.com/75500
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23207}
2018-05-14 06:57:38 +00:00
Max Morin
826738b78c Revert "Moving iOS Audio Device to sdk."
This reverts commit a167212657.

Reason for revert: Breaks Chromium build.
Log:
https://ci.chromium.org/buildbot/chromium.webrtc.fyi/ios-device/
Writing """\
additional_target_cpus = [ "arm64" ]
goma_dir = "/b/c/goma_client"
ios_enable_code_signing = false
is_component_build = false
is_debug = false
target_cpu = "arm"
target_os = "ios"
use_goma = true
""" to /b/c/b/ios_device/src/out/Release-iphoneos/args.gn.
/b/c/b/ios_device/src/buildtools/mac/gn gen //out/Release-iphoneos --check
  -> returned 1
ERROR at //third_party/webrtc/sdk/BUILD.gn:108:9: Can't load input file.
        "../../rtc_base:checks",
        ^----------------------
Unable to load:
  /b/c/b/ios_device/src/third_party/rtc_base/BUILD.gn
I also checked in the secondary tree for:
  /b/c/b/ios_device/src/build/secondary/third_party/rtc_base/BUILD.gn

Original change's description:
> Moving iOS Audio Device to sdk.
> 
> This change forks the existing iOS audio device module and audio device
> from modules/audio_device/ into sdk/objc/Framework. It also updates
> RTCPeerConnectionFactory to use the forked implementation.
> 
> The unit tests are re-implemented as XCTests.
> 
> Bug: webrtc:9120
> Change-Id: Ie60cafae796efbd7966d21ff6877c92cbe850fb7
> Reviewed-on: https://webrtc-review.googlesource.com/67300
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23163}

TBR=andersc@webrtc.org,kthelgason@webrtc.org,peterhanspers@webrtc.org

Change-Id: Iebe52e9775409a3bdd6d5e44f4f985d56b859cbe
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9120
Reviewed-on: https://webrtc-review.googlesource.com/75220
Reviewed-by: Max Morin <maxmorin@webrtc.org>
Commit-Queue: Max Morin <maxmorin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23166}
2018-05-08 11:00:37 +00:00
Peter Hanspers
a167212657 Moving iOS Audio Device to sdk.
This change forks the existing iOS audio device module and audio device
from modules/audio_device/ into sdk/objc/Framework. It also updates
RTCPeerConnectionFactory to use the forked implementation.

The unit tests are re-implemented as XCTests.

Bug: webrtc:9120
Change-Id: Ie60cafae796efbd7966d21ff6877c92cbe850fb7
Reviewed-on: https://webrtc-review.googlesource.com/67300
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23163}
2018-05-08 08:46:25 +00:00
Karl Wiberg
7ba22b8eea Break out the part of the iSAC codec that's used for Voice Activity Detection
The audio processing code is using parts of the iSAC codec to do voice
activity detection (VAD), but it's undesirable for it to pull in the
entire iSAC codec as a dependency. So this CL factors out the parts of
iSAC that's needed for VAD to a separate build target.

Bug: webrtc:8396
Change-Id: I884e25d8fd0bc815fca664352b0573b4b173880e
Reviewed-on: https://webrtc-review.googlesource.com/69640
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23110}
2018-05-04 08:53:34 +00:00
Peter Hanspers
1c62b986d9 Adding a Metal RGB renderer.
The new RTCMTLRGBRenderer dynamically handles both the kCVPixelFormatType_32BGRA
and the kCVPixelFormatType_32ARGB pixel formats.

Change-Id: I935532f762eff74c4b84fea9b855191f4c321fb7
Bug: webrtc:9200
Reviewed-on: https://webrtc-review.googlesource.com/72482
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23100}
2018-05-03 12:57:41 +00:00
Magnus Jedvert
8b4e92d0a5 ObjC SDK: Stop using built-in SW video codecs
This CL removes the use of default built-in SW in the ObjC layer. If a
client want to depend on the video SW codecs, they must inject them
explicitly.

Bug: webrtc:7925
Change-Id: If752e7f02109ff768dc5ec38d935203de85987c2
Reviewed-on: https://webrtc-review.googlesource.com/69800
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23073}
2018-05-02 10:15:56 +00:00
Yura Yaroshevich
0f77feae6d Init max supported H.264 profile at runtime on iOS
Bug: webrtc:9134, webrtc:7992
Change-Id: Id24c570bf3296298901f61ee817a3d7c3f8c6347
Reviewed-on: https://webrtc-review.googlesource.com/71560
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23034}
2018-04-26 15:01:07 +00:00
Anders Carlsson
1f433e46db Mark built-in software video codecs as poisonous.
The goal is to make these injectable, and only VP8 and VP9 specific
targets should depend on them.

Bug: webrtc:7925
Change-Id: Ie9239a54d197fe70c93de0582797211fef6997a2
Reviewed-on: https://webrtc-review.googlesource.com/72082
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23021}
2018-04-25 11:34:33 +00:00
Karl Wiberg
bb23c838f5 GN hack to tag targets as poisonous (and use it with audio codecs)
Only specially taggged targets may transitively depend on poisonous
targets. We first apply it to audio codecs.

This makes it much clearer exactly what parts of the code still have
dependencies on the audio codecs (and we want to eventually get rid of
pretty much all of them).

Bug: webrtc:8396, webrtc:9121
Change-Id: Iba5c2e806c702b5cfe881022674705f647896d43
Reviewed-on: https://webrtc-review.googlesource.com/69520
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22979}
2018-04-23 13:41:47 +00:00
Kári Tristan Helgason
06d094f3e6 Add renderer-agnostic delegate protocol.
The MTL renderer should also have a way to notify it's delegate
that it's content size changed.

The plan is to introduce this new protocol, move existing clients over
to implementing it in favour of RTCEAGLVideoViewDelegate, and then finally
removing the old protocol.

Bug: b/73147161
Change-Id: I908d7b2667e44e02a58066d701a48efec0e98d14
Reviewed-on: https://webrtc-review.googlesource.com/70243
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22944}
2018-04-19 16:18:49 +00:00
Niels Möller
2cb7b5ebef Convert BitrateAdjuster from webrtc::Clock to rtc::TimeMillis.
We can then also drop the system_wrappers dependency from the common_video
build target.

Bug: webrtc:6733
Change-Id: I501113d100322d1ebc51b2286970697a24b70a43
Reviewed-on: https://webrtc-review.googlesource.com/70381
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22934}
2018-04-19 09:22:08 +00:00
Karl Wiberg
5817d3dfaa AudioCodingModule::Create(): Require caller to supply an AudioDecoderFactory
So that we don't have to be capable of creating one ourselves, which
requires a dependency on the audio decoders.

BUG=webrtc:5801, webrtc:8396

Change-Id: I80749ec3b86cba73994307046d05964f59167d44
Reviewed-on: https://webrtc-review.googlesource.com/18440
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22774}
2018-04-06 15:10:27 +00:00
Anders Carlsson
fe9d8178df Reland "Add unit tests for RTCCVPixelBuffer and ObjCVideoTrackSource."
This is a reland of 4ea50c2b42

Original change's description:
> Add unit tests for RTCCVPixelBuffer and ObjCVideoTrackSource.
> 
> This CL also fixes a couple of bugs found in the toI420 method for
> RTCCVPixelBuffers backed by RGB CVPixelBuffers.
> 
> Bug: webrtc:9007
> Change-Id: I19ab8177f4b124a503cfda9f0166bd960f668982
> Reviewed-on: https://webrtc-review.googlesource.com/64940
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22656}

Bug: webrtc:9007
Change-Id: I2a787c64f8d23ffc4ef2419fc258d965f8a9480b
Reviewed-on: https://webrtc-review.googlesource.com/66341
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22706}
2018-04-03 11:35:40 +00:00
JT Teh
35d052c2a3 Revert "Add unit tests for RTCCVPixelBuffer and ObjCVideoTrackSource."
This reverts commit 4ea50c2b42.

Reason for revert: This change is causing crashes in video calls.

RTCCVPixelBuffer.mm - line 120
Compare is asserting as 420f is not 420v

Original change's description:
> Add unit tests for RTCCVPixelBuffer and ObjCVideoTrackSource.
>
> This CL also fixes a couple of bugs found in the toI420 method for
> RTCCVPixelBuffers backed by RGB CVPixelBuffers.
>
> Bug: webrtc:9007
> Change-Id: I19ab8177f4b124a503cfda9f0166bd960f668982
> Reviewed-on: https://webrtc-review.googlesource.com/64940
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22656}

TBR=andersc@webrtc.org,kthelgason@webrtc.org

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

Bug: webrtc:9007
Change-Id: I500514ce05dd0555f8c4a05010ad52bd67c2fed3
Reviewed-on: https://webrtc-review.googlesource.com/65561
Commit-Queue: JT Teh <jtteh@webrtc.org>
Reviewed-by: JT Teh <jtteh@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22686}
2018-03-30 00:49:48 +00:00
Anders Carlsson
4ea50c2b42 Add unit tests for RTCCVPixelBuffer and ObjCVideoTrackSource.
This CL also fixes a couple of bugs found in the toI420 method for
RTCCVPixelBuffers backed by RGB CVPixelBuffers.

Bug: webrtc:9007
Change-Id: I19ab8177f4b124a503cfda9f0166bd960f668982
Reviewed-on: https://webrtc-review.googlesource.com/64940
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22656}
2018-03-28 16:47:06 +00:00
Anders Carlsson
c3d1e09a25 Make sure RTCMTLVideoView.h ends up in framework headers.
Needs to be added to the array before the array is copied to the
sources and public_headers arrays.

Bug: None
Change-Id: If41fd1c882dd17e4007b62c9c7a49f196849dd12
Reviewed-on: https://webrtc-review.googlesource.com/63640
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22531}
2018-03-21 12:44:58 +00:00
Anders Carlsson
7311918269 Add an example app for iOS native API.
Demonstrates how to use the iOS native API to wrap components into
C++ classes.

This CL also introduces a native API wrapper for the capturer.

The C++ code is forked from the corresponding CL for Android at
https://webrtc-review.googlesource.com/c/src/+/60540

Bug: webrtc:8832
Change-Id: I12d9f30e701c0222628e329218f6d5bfca26e6e0
Reviewed-on: https://webrtc-review.googlesource.com/61422
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22484}
2018-03-19 09:31:06 +00:00