]> sjero.net Git - linphone/commitdiff
Merge branch 'master' of git.savannah.nongnu.org:/srv/git/linphone
authorJehan Monnier <jehan.monnier@linphone.org>
Mon, 24 Jan 2011 09:42:48 +0000 (10:42 +0100)
committerJehan Monnier <jehan.monnier@linphone.org>
Mon, 24 Jan 2011 09:42:48 +0000 (10:42 +0100)
Conflicts:
coreapi/linphonecall.c
mediastreamer2

1  2 
coreapi/linphonecall.c
coreapi/linphonecore.c

index 7254e94ac47b3575720eee1a22be3f2380929be7,577de7187c665bb439a5b87075e806d868de43a7..cea826a25aacfdb285ce3f6e9418d5125679cb5b
@@@ -974,45 -995,7 +989,46 @@@ void linphone_call_stop_media_streams(L
  **/
  void linphone_call_send_vfu_request(LinphoneCall *call)
  {
-       sal_call_send_vfu_request(call->op);
+       if (LinphoneCallStreamsRunning == linphone_call_get_state(call))
+               sal_call_send_vfu_request(call->op);
  }
  #endif
 +
 +void linphone_call_enable_echo_cancellation(LinphoneCall *call, bool_t enable) {
 +      if (call!=NULL && call->audiostream!=NULL && call->audiostream->ec){
 +              bool_t bypass_mode = !enable;
 +              ms_filter_call_method(call->audiostream->ec,MS_ECHO_CANCELLER_SET_BYPASS_MODE,&bypass_mode);
 +      }
 +}
 +bool_t linphone_call_echo_cancellation_enabled(LinphoneCall *call) {
 +      if (call!=NULL && call->audiostream!=NULL && call->audiostream->ec){
 +              bool_t val;
 +              ms_filter_call_method(call->audiostream->ec,MS_ECHO_CANCELLER_GET_BYPASS_MODE,&val);
 +              return !val;
 +      } else {
 +              return linphone_core_echo_cancellation_enabled(call->core);
 +      }
 +}
 +
 +void linphone_call_enable_echo_limiter(LinphoneCall *call, bool_t val){
 +      if (call!=NULL && call->audiostream!=NULL ) {
 +              if (val) {
 +              const char *type=lp_config_get_string(call->core->config,"sound","el_type","mic");
 +              if (strcasecmp(type,"mic")==0)
 +                      audio_stream_enable_echo_limiter(call->audiostream,ELControlMic);
 +              else if (strcasecmp(type,"full")==0)
 +                      audio_stream_enable_echo_limiter(call->audiostream,ELControlFull);
 +              } else {
 +                      audio_stream_enable_echo_limiter(call->audiostream,ELInactive);
 +              }
 +      }
 +}
 +
 +bool_t linphone_call_echo_limiter_enabled(const LinphoneCall *call){
 +      if (call!=NULL && call->audiostream!=NULL ){
 +              return call->audiostream->el_type !=ELInactive ;
 +      } else {
 +              return linphone_core_echo_limiter_enabled(call->core);
 +      }
 +}
 +
Simple merge