diff --git a/linphone/coreapi/linphonecore.c b/linphone/coreapi/linphonecore.c index c5a07d1b4ddb3c24381235d04670652ebf045688..5a20735680785aace5b2f7f96b37fffd853ae470 100644 --- a/linphone/coreapi/linphonecore.c +++ b/linphone/coreapi/linphonecore.c @@ -1616,6 +1616,9 @@ void linphone_core_init_media_streams(LinphoneCore *lc){ audio_stream_set_echo_canceler_params(lc->audiostream,len,delay,framesize); } audio_stream_enable_automatic_gain_control(lc->audiostream,linphone_core_agc_enabled(lc)); + if (lc->a_rtp) + rtp_session_set_transports(lc->audiostream->session,lc->a_rtp,lc->a_rtcp); + #ifdef VIDEO_ENABLED if (lc->video_conf.display || lc->video_conf.capture) lc->videostream=video_stream_new(linphone_core_get_video_port(lc),linphone_core_ipv6_enabled(lc)); @@ -2584,6 +2587,11 @@ void linphone_core_stop_waiting(LinphoneCore *lc){ } } +void linphone_core_set_audio_transports(LinphoneCore *lc, RtpTransport *rtp, RtpTransport *rtcp){ + lc->a_rtp=rtp; + lc->a_rtcp=rtcp; +} + void net_config_uninit(LinphoneCore *lc) { net_config_t *config=&lc->net_conf; diff --git a/linphone/coreapi/linphonecore.h b/linphone/coreapi/linphonecore.h index 9a14f7d76bc738f041f9de37ca39f57aabdc54aa..be0a5f983e963e13b01750b07c881db98e4f180c 100644 --- a/linphone/coreapi/linphonecore.h +++ b/linphone/coreapi/linphonecore.h @@ -480,6 +480,7 @@ typedef struct _LinphoneCore struct _AudioStream *audiostream; /**/ struct _VideoStream *videostream; struct _VideoStream *previewstream; + RtpTransport *a_rtp,*a_rtcp; struct _RtpProfile *local_profile; MSList *bl_reqs; MSList *subscribers; /* unknown subscribers */ @@ -773,6 +774,9 @@ const MSList * linphone_core_get_sip_setups(LinphoneCore *lc); void linphone_core_uninit(LinphoneCore *lc); void linphone_core_destroy(LinphoneCore *lc); +/*for advanced users:*/ +void linphone_core_set_audio_transports(LinphoneCore *lc, RtpTransport *rtp, RtpTransport *rtcp); + /* end of lecacy api */ /*internal use only */