I have implemented the functionality for early connection announcement as well as late connection transfer to routing-side applications.
This is in order to allow establishing audio connections from routing side before the AudioManager (or even the entire lLinux sub-system) has started. Once the AM is up, such connections need to be announced to it, so it can synchronize its internal database. On the other hand, some stream might be required to survive AM shutdown. Therefore the responsibility for it can be transferred to the routing-side application.
Changes comprise:
Routing-side interfaces IAmRoutingSend and IAmRoutingReceive
Control-side interfaces IAmControlSend and IAmControlReceive
AudioManager daemons core and database implementation
Documentation update
Unit-tests (google-test) to validate the new features
New, required methods in interfaces have empty default implementation. Thus recompilation is required, but adaptation in customer code only if the new feature shall be used.
I have implemented the functionality for early connection announcement as well as late connection transfer to routing-side applications. This is in order to allow establishing audio connections from routing side before the AudioManager (or even the entire lLinux sub-system) has started. Once the AM is up, such connections need to be announced to it, so it can synchronize its internal database. On the other hand, some stream might be required to survive AM shutdown. Therefore the responsibility for it can be transferred to the routing-side application.
Changes comprise:
New, required methods in interfaces have empty default implementation. Thus recompilation is required, but adaptation in customer code only if the new feature shall be used.