]> sjero.net Git - linphone/commitdiff
Merge branch 'master' into dev_multicall
authorSimon Morlat <simon.morlat@linphone.org>
Fri, 21 May 2010 12:58:39 +0000 (14:58 +0200)
committerSimon Morlat <simon.morlat@linphone.org>
Fri, 21 May 2010 12:58:39 +0000 (14:58 +0200)
1  2 
coreapi/linphonecore.c
coreapi/linphonecore.h
coreapi/private.h
coreapi/sal.h
coreapi/sal_eXosip2.c
gtk-glade/incall_view.c
gtk-glade/main.c

index e45a1213c832fa0de4edf517b5e2ae7a43a7c6e3,f62449e62e88f84ad56b245a07f9be215a7a0c92..a1589933d1e0d14ea86c8fa6263868bcec204837
@@@ -2198,14 -2313,16 +2217,19 @@@ void linphone_core_start_media_streams(
        end:
                ms_free(cname);
                linphone_address_destroy(me);
 -              lc->call->state=LCStateAVRunning;
 +              call->state=LinphoneCallAVRunning;
  }
  
+ static void linphone_call_log_fill_stats(LinphoneCallLog *log, AudioStream *st){
+       audio_stream_get_local_rtp_stats (st,&log->local_stats);
+ }
  void linphone_core_stop_media_streams(LinphoneCore *lc, LinphoneCall *call){
 +#ifdef PRINTF_DEBUG
 +      printf("%s(%d)\n",__FUNCTION__,__LINE__);
 +#endif
        if (lc->audiostream!=NULL) {
+               linphone_call_log_fill_stats (call->log,lc->audiostream);
                audio_stream_stop(lc->audiostream);
                lc->audiostream=NULL;
        }
Simple merge
Simple merge
diff --cc coreapi/sal.h
Simple merge
index 6091f18dbaa7ccd214751846eba1d40f4b31358a,d9612fe11ceb5eb5ebc0ba5827d23aedc41710a2..32bd677a62e90c372984a91b84bd10997aa9f13c
@@@ -1706,39 -1715,7 +1731,42 @@@ char *sal_address_as_string_uri_only(co
  void sal_address_destroy(SalAddress *u){
        osip_from_free((osip_from_t*)u);
  }
+ void sal_set_keepalive_period(Sal *ctx,unsigned int value) {
+       eXosip_set_option (EXOSIP_OPT_UDP_KEEP_ALIVE, &value);
+ }
  
 +/**
 + * Send a re-Invite used to hold the current call
 + *
 + * @ingroup call_control
 + * @param lc the LinphoneCore object
 + * @param url the destination of the call (sip address).
 +**/
 +int sal_call_hold(SalOp *h, bool_t holdon)
 +{
 +      int err=0;
 +
 +      osip_message_t *reinvite;
 +      if(eXosip_call_build_request(h->did,"INVITE",&reinvite) != OSIP_SUCCESS)
 +              return -1;
 +      if(reinvite==NULL)
 +              return -2;
 +      osip_message_set_subject(reinvite,osip_strdup("Phone Call Hold"));
 +      osip_message_set_allow(reinvite, "INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO");
 +      if (h->base.root->session_expires!=0){
 +              osip_message_set_header(reinvite, "Session-expires", "200");
 +              osip_message_set_supported(reinvite, "timer");
 +      }
 +      //add something to say that the distant sip phone will be in sendonly/sendrecv mode
 +      if (h->base.local_media){
 +              h->sdp_offering=TRUE;
 +              set_hold_status_to_desc(h->base.local_media,holdon);
 +              set_sdp_from_desc(reinvite,h->base.local_media);
 +      }else h->sdp_offering=FALSE;
 +      eXosip_lock();
 +      err = eXosip_call_send_request(h->did, reinvite);
 +      eXosip_unlock();
 +      
 +      return err;
 +}
 +
Simple merge
Simple merge