diff --git a/sflphone-common/src/managerimpl.cpp b/sflphone-common/src/managerimpl.cpp index 2a15b40bacfb793847214661200e79e71c1e9652..99ef0079b9345fdeae5039cb994fc6cab78497d5 100644 --- a/sflphone-common/src/managerimpl.cpp +++ b/sflphone-common/src/managerimpl.cpp @@ -2101,6 +2101,8 @@ void ManagerImpl::initConfigFile (bool load_user_value, std::string alternate) { ALSA_CARD_ID_IN, ALSA_DFT_CARD), AUDIO); _config.addDefaultValue(std::pair<std::string, std::string>( ALSA_CARD_ID_OUT, ALSA_DFT_CARD), AUDIO); + _config.addDefaultValue(std::pair<std::string, std::string>( + ALSA_CARD_ID_RING, ALSA_DFT_CARD), AUDIO); _config.addDefaultValue(std::pair<std::string, std::string>( AUDIO_SAMPLE_RATE, DFT_SAMPLE_RATE), AUDIO); _config.addDefaultValue(std::pair<std::string, std::string>( @@ -2786,6 +2788,8 @@ void ManagerImpl::selectAudioDriver (void) { if (!alsalayer->soundCardIndexExist(numCardRing, SFL_PCM_RINGTONE)) { _debug(" Card with index %i doesn't exist or cannot ringtone. Switch to 0.", numCardRing); + numCardRing = ALSA_DFT_CARD_ID; + setConfig(AUDIO, ALSA_CARD_ID_RING, ALSA_DFT_CARD_ID); } } @@ -2858,14 +2862,13 @@ void ManagerImpl::switchAudioManager (void) { SFL_PCM_BOTH, alsaPlugin); if (_audiodriver -> getErrorMessage() != -1) - notifyErrClient(_audiodriver -> getErrorMessage()); + notifyErrClient(_audiodriver -> getErrorMessage()); _debug ("Manager: Current device: %i ", type); - _debug ("Manager: Has current call: %i ", hasCurrentCall()); if (hasCurrentCall()) - _audiodriver->startStream(); + _audiodriver->startStream(); // ost::MutexLock unlock (*getAudioLayerMutex()); getAudioLayerMutex()->leave();