From c8a7b144c62b5f4fadf574367c3d5a731f8f81ca Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Fri, 12 Sep 2014 14:32:41 +0200 Subject: [PATCH] fix problem when receiving a pause request after putting the other party in pause. --- coreapi/callbacks.c | 10 +++++++--- tester/call_tester.c | 4 ++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/coreapi/callbacks.c b/coreapi/callbacks.c index c5ca51964..4a23e5240 100644 --- a/coreapi/callbacks.c +++ b/coreapi/callbacks.c @@ -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: diff --git a/tester/call_tester.c b/tester/call_tester.c index effc17844..6831ee04c 100644 --- a/tester/call_tester.c +++ b/tester/call_tester.c @@ -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);