webrtc/sdk/objc
Peter Thatcher 5f1aa71e0d Modify sdk/objc to support RingRTC requirements
The Objective-C++ interfaces and code are modified to support the
CallConnection classes being defined for RingRTC support. The primary
need is to add an alternative initialization of the RTCPeerConnection
object, which is the main WebRTC interface for iOS.

A new initialization method is provided to allow a custom observer to
be used. In our case, this observer is coming from the Rust RingRTC
code.

The result is that the Rust code implements the observer around the low
level WebRTC object, which is actually instantiated from the iOS side
via Objective-C/C++. The application-level CallConnection object wraps
it all up in a way that is still compatible with most normal WebRTC
operations and objects.
2020-03-20 21:18:16 -07:00
..
api Modify sdk/objc to support RingRTC requirements 2020-03-20 21:18:16 -07:00
base Add ObjC interface wrapping new GetImplementations method. 2019-08-23 12:06:36 +00:00
components Added new Apple devices. 2019-10-31 10:09:15 +00:00
Framework Reland "Remove the injectable bitrate allocation strategy API." 2019-07-17 10:20:45 +00:00
helpers Added new Apple devices. 2019-10-31 10:09:15 +00:00
native Reduce verbosity of logging around playout underrun count on iOS. 2019-11-14 09:49:39 +00:00
unittests Fix build errors of RTCAudioDeviceTests 2019-10-08 15:28:33 +00:00
DEPS Remove +api from internal DEPS files. 2019-01-28 11:17:00 +00:00
Info.plist Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00
OWNERS Update sdk/objc ownership 2018-05-08 11:48:32 +00:00
README.md Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00

WebRTC Obj-C SDK

This directory contains the Obj-C SDK for WebRTC. This includes wrappers for the C++ PeerConnection API and some platform specific components for iOS and macOS.

Organization

  • api/

    Wrappers around classes and functions in the C++ API for creating and configuring peer connections, etc.

  • base/

    This directory contains some base protocols and classes that are used by both the platform specific components and the SDK wrappers.

  • components/

    These are the platform specific components. Contains components for handling audio, capturing and rendering video, encoding and decoding using the platform's hardware codec implementation and for representing video frames in the platform's native format.

  • helpers/

    These files are not WebRTC specific, but are general helper classes and utilities for the Cocoa platforms.

  • native/

    APIs for wrapping the platform specific components and using them with the C++ API.

  • unittests/

    This directory contains the tests.