livedigital iOS SDK Architecture
Underlying dependencies
livedigitalSDK helps you to build a video conference application using relatively high-level abstractions. There are several underlying layers under the hood, that hide all the details of WebRTC usage, signaling and other low-level tasks. Here they are top to bottom:
Component | Language |
---|---|
Application | Swift |
livedigitalSDK | Swift |
Mediasoup-Client-Swift | ObjC / Swift |
libmediasoupclient | C++ |
WebRTC | C++ / ObjC |
SDK architecture
LivedigitalClient
is actually any class in the host app that wants to use livedigital service. Normally it will implement at least two protocols: LivedigitalEngineDelegate
and ChannelSessionDelegate
. An instance of StocklivedigitalEngine
is also owned by LivedigitalClient
.
You may connect to one or several channels. ChannelSession
instance corresponds to such connection.
AudioSource
and VideoSource
correspond to microphone and camera respectively, which are used to broadcast media content into channel.
Peer
instances correspond to other channel members. To manage subscription to someone’s audio or video stream, you use Consumer
objects of this peer.