Skip to main content
Your application interacts with two interfaces: IRemoteSDK (created once per process) and IAudioProcessor (one per live audio stream).

IRemoteSDK

The top-level object. Create one per process with the CreateRemoteSDK() factory, initialise it once, then use it to create and destroy audio processors.
sanas::remote::GetSDKVersion() is a free function (returns const char*) available without an SDK instance.

IAudioProcessor

Represents one live audio stream. Create one per concurrent call or session; each runs independently.
Keep the shared_ptr<IAudioProcessor> alive for as long as you use the processor, and never call DestroyAudioProcessor or Shutdown from inside a callback — see Threading & Lifetime Rules.