Link Search Menu Expand Document

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

Architecture diagram

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.