Hello.
I am using Baresip as a library in iOS.
I have already posted a PR that allows compiling baresip-ios project using modern iOS sdk. There were some problems. Thanks for accepting commits from that PR.
Currently, the audiounit module is the one that allows iOS support. But it is not up to date with modern iOS API. Some API, like AudioSessionInitialize, has been deprecated a long time ago. Also, I found cases where the logic is not written in a way iOS API expects. That may cause some other issues. For, example, in iOS API there is only a single IO Audio Unit, but the Baresip audiounit module initializes several instances of that. There are other places where the implementation should be changed too (from my point of view).
On top of that, usually, iOS devs use VoIP solutions with the iOS CallKit integration which may want to control when to configure iOS Audio Session, start, stop, reinit iOS Audio Units, etc. Even without CallKit, in most cases, iOS Audio Session should be under developer control. Currently, it is not possible since Baresip audiounit module does not provide that kind of API.
I would like to update the audiounit module but I am not professional in c language and Baresip architecture. Anyway, I have the first question:
- Is it possible to write some functions inside audiounit module so they will be accessible at the time audiounit module is already initialized? In this scenario there should be some functions to determine when audiounit module is accessible. Or is there some other Baresip API so I can use to access hidden functions inside audiounit module (from the Baresip architecture point of view)?
Thanks.
