]> sjero.net Git - linphone/commitdiff
Delete LinphoneCallUpdated state and add LinphoneCallUpdating state.
authorGhislain MARY <ghislain.mary@belledonne-communications.com>
Mon, 1 Oct 2012 15:15:43 +0000 (17:15 +0200)
committerGhislain MARY <ghislain.mary@belledonne-communications.com>
Tue, 2 Oct 2012 09:12:39 +0000 (11:12 +0200)
coreapi/callbacks.c
coreapi/linphonecall.c
coreapi/linphonecore.c
coreapi/linphonecore.h

index 4e5661b35a01d6be20a0c82f08545224cc45e47d..7f901195f0ce9f3f84d22e24615b52a51638843b 100644 (file)
@@ -302,11 +302,7 @@ static void call_accepted(SalOp *op){
                        linphone_core_update_streams (lc,call,md);
                        linphone_call_set_state(call,LinphoneCallPausedByRemote,"Call paused by remote");
                }else{
-                       if (call->state==LinphoneCallStreamsRunning){
-                               /*media was running before, the remote as acceted a call modification (that is
-                                       a reinvite made by us. We must notify the application this reinvite was accepted*/
-                               linphone_call_set_state(call, LinphoneCallUpdated, "Call updated");
-                       }else{
+                       if (call->state!=LinphoneCallUpdating){
                                if (call->state==LinphoneCallResuming){
                                        if (lc->vtable.display_status){
                                                lc->vtable.display_status(lc,_("Call resumed."));
@@ -343,11 +339,6 @@ static void call_ack(SalOp *op){
        if (call->media_pending){
                SalMediaDescription *md=sal_call_get_final_media_description(op);
                if (md && !sal_media_description_empty(md)){
-                       if (call->state==LinphoneCallStreamsRunning){
-                               /*media was running before, the remote as acceted a call modification (that is
-                                       a reinvite made by us. We must notify the application this reinvite was accepted*/
-                               linphone_call_set_state(call, LinphoneCallUpdated, "Call updated");
-                       }
                        linphone_core_update_streams (lc,call,md);
                        linphone_call_set_state (call,LinphoneCallStreamsRunning,"Connected (streams running)");
                }else{
index b2f53e5a5d898dd324e4bda41857156283d1dd0d..9d82476bc1a24f88c50e330bebfa802ba7d59ff7 100644 (file)
@@ -520,8 +520,8 @@ const char *linphone_call_state_to_string(LinphoneCallState cs){
                        return "LinphoneCallUpdatedByRemote";
                case LinphoneCallIncomingEarlyMedia:
                        return "LinphoneCallIncomingEarlyMedia";
-               case LinphoneCallUpdated:
-                       return "LinphoneCallUpdated";
+               case LinphoneCallUpdating:
+                       return "LinphoneCallUpdating";
                case LinphoneCallReleased:
                        return "LinphoneCallReleased";
        }
@@ -1828,7 +1828,7 @@ static void handle_ice_events(LinphoneCall *call, OrtpEvent *ev){
                        linphone_call_delete_ice_session(call);
                }
                switch (call->state) {
-                       case LinphoneCallStreamsRunning:
+                       case LinphoneCallUpdating:
                                linphone_core_start_update_call(call->core, call);
                                break;
                        case LinphoneCallUpdatedByRemote:
@@ -1838,10 +1838,12 @@ static void handle_ice_events(LinphoneCall *call, OrtpEvent *ev){
                                linphone_call_stop_media_streams_for_ice_gathering(call);
                                linphone_core_proceed_with_invite_if_ready(call->core, call, NULL);
                                break;
-                       default:
+                       case LinphoneCallIdle:
                                linphone_call_stop_media_streams_for_ice_gathering(call);
                                linphone_core_notify_incoming_call(call->core, call);
                                break;
+                       default:
+                               break;
                }
        } else if (evt == ORTP_EVENT_ICE_LOSING_PAIRS_COMPLETED) {
                linphone_core_start_accept_call_update(call->core, call);
index 93c1a8cf3d6642ae53b62e4f4dd64282d17e9ab0..dd0072d0ac39586399ec455d4b348841abdad796 100644 (file)
@@ -2564,6 +2564,7 @@ int linphone_core_start_update_call(LinphoneCore *lc, LinphoneCall *call){
 int linphone_core_update_call(LinphoneCore *lc, LinphoneCall *call, const LinphoneCallParams *params){
        int err=0;
        if (params!=NULL){
+               linphone_call_set_state(call,LinphoneCallUpdating,"Updating call");
 #ifdef VIDEO_ENABLED
                bool_t has_video = call->params.has_video;
                if ((call->ice_session != NULL) && (call->videostream != NULL) && !params->has_video) {
@@ -2571,7 +2572,7 @@ int linphone_core_update_call(LinphoneCore *lc, LinphoneCall *call, const Linpho
                        call->videostream->ice_check_list = NULL;
                }
                call->params = *params;
-               if ((call->ice_session != NULL) && (ice_session_state(call->ice_session) != IS_Completed) && !has_video && params->has_video) {
+               if ((call->ice_session != NULL) && !has_video && params->has_video) {
                        /* Defer call update until the ICE candidates gathering process has finished. */
                        ms_message("Defer call update to gather ICE candidates");
                        update_local_media_description(lc, call);
@@ -5030,7 +5031,7 @@ bool_t linphone_core_sound_resources_locked(LinphoneCore *lc){
                        case LinphoneCallConnected:
                        case LinphoneCallRefered:
                        case LinphoneCallIncomingEarlyMedia:
-                       case LinphoneCallUpdated:
+                       case LinphoneCallUpdating:
                                return TRUE;
                        default:
                                break;
index 179ff0ce9c769220ccd9efb6504018a62f1a831a..53ad38e9e88b91670d34cefa7f4eb4b19cf57167 100644 (file)
@@ -343,7 +343,7 @@ typedef enum _LinphoneCallState{
        LinphoneCallPausedByRemote, /**<The call is paused by remote end*/
        LinphoneCallUpdatedByRemote, /**<The call's parameters change is requested by remote end, used for example when video is added by remote */
        LinphoneCallIncomingEarlyMedia, /**<We are proposing early media to an incoming call */
-       LinphoneCallUpdated, /**<The remote accepted the call update initiated by us */
+       LinphoneCallUpdating, /**<A call update has been initiated by us */
        LinphoneCallReleased /**< The call object is no more retained by the core */
 } LinphoneCallState;