Commit graph

15 commits

Author SHA1 Message Date
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
Anders Carlsson
9823ee47d3 Fix native api in preparation for native_api example.
Add native api conversions for video frames and video renderer. This
also requires some changes to sdk/BUILD to avoid cyclic dependencies.

Bug: webrtc:8832
Change-Id: Ibf21e63bdcae195dcb61d63f9262e6a8dc4fa790
Reviewed-on: https://webrtc-review.googlesource.com/57142
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22340}
2018-03-08 13:22:13 +00:00
Kári Tristan Helgason
0d3c9a3f2b Delete RTCAVFoundationVideoSource and related classes.
Bug: webrtc:8852
Change-Id: Ie073fe3f7bafc3d22fafef51f659e340d5a9250f
Reviewed-on: https://webrtc-review.googlesource.com/48620
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21985}
2018-02-12 14:41:25 +00:00
Anders Carlsson
3ff50fba59 Create experimental Obj-C++ API.
This can be used to wrap Objective-C components in C++ classes, so users
can use the WebRTC C++ API directly together with the iOS specific
components provided by our SDK.

Bug: webrtc:8832
Change-Id: I6d34f7ec62d51df8d3a5340a2e17d30ae73e13e8
Reviewed-on: https://webrtc-review.googlesource.com/46162
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21850}
2018-02-01 16:36:24 +00:00
Anders Carlsson
dd8c16574e Enable building WebRTC without built-in software codecs
This CL adds a GN build flag to include builtin software codecs
(enabled by default).

When setting the flag to false, libvpx can also be excluded. The
benefit is that the resulting binary is smaller.

Replaces https://webrtc-review.googlesource.com/c/src/+/29203

Bug: webrtc:7925
Change-Id: Id330ea8a43169e449ee139eca18e4557cc932e10
Reviewed-on: https://webrtc-review.googlesource.com/36340
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21818}
2018-01-31 08:33:59 +00:00
Anders Carlsson
4418376d16 iOS: Move the fallback logic to the initWithNative… initializer.
This makes it possible to only inject 1 or 0 video codec factories when
consuming the API using the PeerConnectionFactory+Native header.

Bug: webrtc:7925
Change-Id: I671d8dcdbdf2198a31f3890ff6b416441bd32d48
Reviewed-on: https://webrtc-review.googlesource.com/42661
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21715}
2018-01-22 14:20:33 +00:00
Anders Carlsson
565e3e07d7 iOS: Fall back to legacy video codec factory if injecting nil.
This allows a user to only injecting the decoder or encoder factory.
This behavior also matches how it is implemented for Android.

Bug: webrtc:7925
Change-Id: I3dfca6ea2eaeea437b5b78da2373bd6f7cedc8fa
Reviewed-on: https://webrtc-review.googlesource.com/40860
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21695}
2018-01-19 14:47:05 +00:00
Yura Yaroshevich
bf567120bd Exposed setOptions via RTCPeerConnectionFactory
Exposed setOptions API for iOS SDK via RTCPeerConnectionFactory method
to provide ability to disable encryption and control which network
adapters are ignored.
Only subset of webrtc::PeerConnectionFactoryInterface::Options options
are exposed via iOS SDK, additional options can be exposed as requested.
Android SDK has already exposed setOption API via Java's PeerConnection
constructor, there changes provide similar functionaly to iOS SDK.

Bug: webrtc:8712
Change-Id: Ia2de38cf382afc1bad9bbec6c6eac21ad29aee89
Reviewed-on: https://webrtc-review.googlesource.com/34900
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21504}
2018-01-05 18:10:29 +00:00
Sam Zackrisson
6124aacd98 Add AudioProcessing parameter to RTCPeerConnectionFactory native constructor
This allows Objective C(++) users to supply their own implementations of the webrtc::AudioProcessing module.

Bug: webrtc:8163
Change-Id: I2302610c9b45b2f483146d6fe7d82be419b33ee2
Reviewed-on: https://webrtc-review.googlesource.com/18180
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20668}
2017-11-14 09:31:56 +00:00
Sean Rosenbaum
e5c4265619 Allow external audio device module to be passed in to the objc peer connection factory interface.
Bug: webrtc:8466
Change-Id: I87091cb32206f5f3bed310ec23963bcc053c59db
Reviewed-on: https://webrtc-review.googlesource.com/16734
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Sean Rosenbaum <srosenba@google.com>
Cr-Commit-Position: refs/heads/master@{#20479}
2017-10-30 16:46:19 +00:00
Anders Carlsson
7e04281870 Injectable software video codecs in Obj-C.
When injecting video codec factories in the Obj-C SDK, use the new
peer connection API that uses webrtc::Video{De,En}CoderFactory classes
and does not automatically add internal software codecs. Instead the
injected factory can support internal VP8 and VP9 codecs through the
included Obj-C classes RTCVideo{De,En}coderVP{8,9}.

When not explicitly injecting any video codec factory, the old code
path is still used and injects only H264 as an external codec and
the internal codec factory is used.

Bug: webrtc:7925
Change-Id: I657d30dfde71da9c0be341e213ab9f97a04caa58
Reviewed-on: https://webrtc-review.googlesource.com/3620
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20175}
2017-10-06 07:36:34 +00:00
Magnus Jedvert
02e7a1981a Remove unnecessary video factory references in PeerConnectionFactory
The video codec factories should be owned by the video engine instead
of by the PeerConnectionFactory.

Bug: None
Change-Id: If63d47cef565138d51377af3fc9ea973950c9390
Reviewed-on: https://webrtc-review.googlesource.com/1601
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20002}
2017-09-27 14:41:46 +00:00
Magnus Jedvert
835cc0c646 Remove unnecessary audio references in PeerConnectionFactory
We currently pass in a lot of audio parameters to PeerConnectionFactory
which we never use. This CL removes them.

All these parameters are reference counted, so they are not needed for
lifetime management (unless we do something crazy). Even if we want to
switch from reference counting to std::unique_ptrs in the future, the
voice engine is a more suitable owner than PeerConnectionFactory. The
PeerConnectionFactory already owns a MediaEngine which in turn owns a
VoiceEngine.

Bug: webrtc:7613
Change-Id: I393cf0d29ffa762a3a13475f6fbe00b8565f4c07
Reviewed-on: https://webrtc-review.googlesource.com/1600
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19931}
2017-09-23 14:36:14 +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/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactory.mm (Browse further)