Mac loopback input audio device
Review guidelines
Produced code must conform to:
- Coding style for liblinphone project
- Liblinphone API design guide for liblinphone public API addons or changes
- Software development good practice BC's guide
In addition, from a pure C++ usage, it is recommended to follow the C++ Core Guidelines.
Review comments should, whenever possible, be supported by references to relevant documents mentionned above. All comments and discussions between reviewers and developers must remain respectful and constructive. By grounding discussions in shared references, code reviews should help foster constructive debate and contribute to the collective adoption and dissemination of good practices across the team.
Logique implémentée suite à des test sur un device à 4 channels input : 2 "normaux" et 2 Loopback. On crée alors une deuxième MSSndCard pour ce device : le device d'origine pour l'input normal, le deuxième pour l'input loopback.
Dans la fonction readRenderProc où on extrait les buffer l'audio unit, il faut une gestion particulière dans ce cas : Le buffer est rempli sur une logique entrelacée, donc pour récupérer les données des channels loopback on est obligé de récupérer toutes les données, y compris celles des normaux qui précèdent.
A partir de là, on filtre pour ne garder que celles qui nous intéressent.