ice: decouple instantiation and initialization of ICE transport
Instantiation and initialization of ICE are done in a single stage (in the class constructor). To initialize the ICE instance, connection information must first be gathered asynchronously. However, when sharing ICE media instance between subcalls, it's better to have a valid ICE instance as soon as possible (even if not fully initialized) to proceed with the call initialization process, then wait for ICE initialization to start the call. Thus, the ICE instantiation will be performed synchronously as soon as the parent (main) call is created, then it will be initialized asynchronously when the connection info are ready. Gitlab: #619 Change-Id: I9c97516238f1a690603975ec968c8c6733155d4a
Showing
- src/ice_transport.cpp 36 additions, 37 deletionssrc/ice_transport.cpp
- src/ice_transport.h 4 additions, 6 deletionssrc/ice_transport.h
- src/jamidht/connectionmanager.cpp 6 additions, 8 deletionssrc/jamidht/connectionmanager.cpp
- src/jamidht/jamiaccount.cpp 16 additions, 8 deletionssrc/jamidht/jamiaccount.cpp
- src/media/video/sinkclient.cpp 1 addition, 1 deletionsrc/media/video/sinkclient.cpp
- src/sip/sipaccount.cpp 2 additions, 0 deletionssrc/sip/sipaccount.cpp
- src/sip/sipcall.cpp 28 additions, 20 deletionssrc/sip/sipcall.cpp
- src/sip/sipcall.h 7 additions, 0 deletionssrc/sip/sipcall.h
- test/unitTest/ice/ice.cpp 20 additions, 30 deletionstest/unitTest/ice/ice.cpp
Loading