diff --git a/ABOUT-NLS b/ABOUT-NLS index ec20977..773f699 100644 Binary files a/ABOUT-NLS and b/ABOUT-NLS differ diff --git a/console/commands.c b/console/commands.c index 4725317..aeed033 100644 --- a/console/commands.c +++ b/console/commands.c @@ -1229,6 +1229,7 @@ static int lpc_cmd_soundcard(LinphoneCore *lc, char *args) { linphonec_out("Using wav files instead of soundcard.\n"); linphone_core_use_files(lc,TRUE); + linphone_core_set_ringer_device(lc,NULL); return 1; } diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index 4a0c385..5415576 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -2605,6 +2605,7 @@ void linphone_core_notify_incoming_call(LinphoneCore *lc, LinphoneCall *call){ MSSndCard *ringcard=lc->sound_conf.lsd_card ?lc->sound_conf.lsd_card : lc->sound_conf.ring_sndcard; ms_message("Starting local ring..."); lc->ringstream=ring_start(lc->sound_conf.local_ring,2000,ringcard); + ms_debug("Finished local ring call"); } else { @@ -2616,12 +2617,14 @@ void linphone_core_notify_incoming_call(LinphoneCore *lc, LinphoneCall *call){ call->ringing_beep=TRUE; linphone_core_play_tone(lc); } - + ms_debug("setting incoming call"); linphone_call_set_state(call,LinphoneCallIncomingReceived,"Incoming call"); + ms_debug("setting incoming call"); if (call->state==LinphoneCallIncomingReceived){ + ms_debug("sending RINGING signal"); sal_call_notify_ringing(call->op,propose_early_media || ringback_tone!=NULL); - + ms_debug("sent RINGING signal"); if (propose_early_media || ringback_tone!=NULL){ linphone_call_set_state(call,LinphoneCallIncomingEarlyMedia,"Incoming call early media"); md=sal_call_get_final_media_description(call->op); @@ -3495,7 +3498,11 @@ bool_t linphone_core_sound_device_can_playback(LinphoneCore *lc, const char *dev * @param devid the device name as returned by linphone_core_get_sound_devices() **/ int linphone_core_set_ringer_device(LinphoneCore *lc, const char * devid){ - MSSndCard *card=get_card_from_string_id(devid,MS_SND_CARD_CAP_PLAYBACK); + if (devid == NULL) { + lc->sound_conf.ring_sndcard=NULL; + return 0; + } + MSSndCard *card=get_card_from_string_id(devid,MS_SND_CARD_CAP_PLAYBACK); lc->sound_conf.ring_sndcard=card; if (card && linphone_core_ready(lc)) lp_config_set_string(lc->config,"sound","ringer_dev_id",ms_snd_card_get_string_id(card));