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 can be found in below pull requests
Routing-side interfaces IAmRoutingSend and IAmRoutingReceive
Control-side interfaces IAmControlSend and IAmControlReceive
AudioManager daemons core and database implementation
Registration and transparent pass-through functions in PluginRoutingInterfaceDBus
Proper handling in generic controller (PluginControlInterfaceGeneric)
Documentation update in both AudioManager and Generic Controller to cover new features
Unit-tests (google-test) for daemon and generic controller to validate the new features
For the unit test of the generic controller I borrowed some infrastructure from the still not merged branch GC_unit_tests.
Additionally, an introduction page to the generic controller is added, which is pretty-printed in the repositories browser view.
Your comments on the new functionality as well as its implementation are appreciated.
Sr. Software Developer
ESE Engineering und Software-Entwicklung GmbH
Am Alten Bahnhof 16
D - 38122 Braunschweig
tel: +49 (0)531 23 880-30
fax: +49 (0)531 23 880-33
Geschäftsführer: Klaus Janz, Clemens Seifert, Lars Schnieder
Handelsregister Braunschweig HRB 5288