fix problem when receiving a pause request after putting the other party in pause.

This commit is contained in:
Simon Morlat 2014-09-12 14:32:41 +02:00
parent af5c5a5528
commit c8a7b144c6
2 changed files with 11 additions and 3 deletions

View file

@ -514,7 +514,7 @@ static void call_resumed(LinphoneCore *lc, LinphoneCall *call){
}
static void call_paused_by_remote(LinphoneCore *lc, LinphoneCall *call){
/*when we are resumed, increment session id, because sdp is changed (a=recvonly appears)*/
/*when we are paused, increment session id, because sdp is changed (a=recvonly appears)*/
linphone_call_increment_local_media_description(call);
/* we are being paused */
if(lc->vtable.display_status)
@ -582,7 +582,7 @@ static void call_updating(SalOp *op, bool_t is_update){
case LinphoneCallPausedByRemote:
if (sal_media_description_has_dir(rmd,SalStreamSendRecv) || sal_media_description_has_dir(rmd,SalStreamRecvOnly)){
call_resumed(lc,call);
}else call_paused_by_remote(lc,call);
}else call_updated_by_remote(lc,call,is_update);
break;
/*SIP UPDATE CASE*/
case LinphoneCallOutgoingRinging:
@ -599,7 +599,11 @@ static void call_updating(SalOp *op, bool_t is_update){
}
break;
case LinphoneCallPaused:
call_updated_by_remote(lc,call,is_update);
if (sal_media_description_has_dir(rmd,SalStreamSendOnly) || sal_media_description_has_dir(rmd,SalStreamInactive)){
call_paused_by_remote(lc,call);
}else{
call_updated_by_remote(lc,call,is_update);
}
break;
case LinphoneCallUpdating:
case LinphoneCallPausing:

View file

@ -2297,6 +2297,10 @@ static void call_transfer_existing_call_outgoing_call(void) {
MSList* lcs=ms_list_append(NULL,marie->lc);
const MSList* calls;
linphone_core_use_files (pauline->lc,TRUE);
linphone_core_use_files (laure->lc,TRUE);
lcs=ms_list_append(lcs,pauline->lc);
lcs=ms_list_append(lcs,laure->lc);