/ home / Documentation / v3 / libmediasoupclient / Design

libmediasoupclient v3 Design

libmediasoupclient is a C++ library based on libwebrtc for building mediasoup based C++ client side applications.


libwebrtc API

The application is responsible of using the API exposed by libwebrtc to create instances of webrtc::MediaStreamTrackInterface (audio and video tracks) and use them to feed the API methods of libmediasoupclient.

This is: libmediasoupclient does not expose any “track factory” API. The application must use libwebrtc for that.

Multi Threading

libmediasoup client does not implement multi-threading. All API methods marked as @async block the current thread until the underlaying operation is terminated. Such underlaying operation can be an operation executed by the libwebrtc stack or an operation executed by the user.