mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-02-02 03:09:23 +00:00
First changes to have the LinphoneCore instance own the factory object instead of sharing
it through a static variable.
This commit is contained in:
parent
a1c8d9f99c
commit
570266ea36
7 changed files with 45 additions and 22 deletions
|
|
@ -285,9 +285,11 @@ LocalConference::LocalConference(LinphoneCore *core, const Conference::Params *p
|
|||
m_recordEndpoint(NULL),
|
||||
m_localDummyProfile(NULL),
|
||||
m_terminated(FALSE) {
|
||||
|
||||
MSAudioConferenceParams ms_conf_params;
|
||||
ms_conf_params.samplerate = lp_config_get_int(m_core->config, "sound","conference_rate",16000);
|
||||
m_conf=ms_audio_conference_new(&ms_conf_params);
|
||||
m_conf=ms_audio_conference_new(&ms_conf_params, core->factory);
|
||||
|
||||
}
|
||||
|
||||
LocalConference::~LocalConference() {
|
||||
|
|
|
|||
|
|
@ -2349,7 +2349,8 @@ void linphone_call_init_audio_stream(LinphoneCall *call){
|
|||
setup_dtls_params(call, &audiostream->ms);
|
||||
media_stream_reclaim_sessions(&audiostream->ms, &call->sessions[call->main_audio_stream_index]);
|
||||
}else{
|
||||
call->audiostream=audio_stream_new_with_sessions(&call->sessions[call->main_audio_stream_index]);
|
||||
call->audiostream=audio_stream_new_with_sessions(&call->sessions[call->main_audio_stream_index], lc->factory);
|
||||
|
||||
}
|
||||
audiostream=call->audiostream;
|
||||
if (call->media_ports[call->main_audio_stream_index].rtp_port==-1){
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#include <mediastreamer2/zrtp.h>
|
||||
#include <mediastreamer2/dtls_srtp.h>
|
||||
#include "mediastreamer2/mediastream.h"
|
||||
#include "mediastreamer2/msfactory.h"
|
||||
#include "mediastreamer2/mseventqueue.h"
|
||||
#include "mediastreamer2/msvolume.h"
|
||||
#include "mediastreamer2/msequalizer.h"
|
||||
|
|
@ -1185,7 +1186,8 @@ static bool_t linphone_core_codec_supported(LinphoneCore *lc, SalStreamType type
|
|||
} else if (type == SalText) {
|
||||
return TRUE;
|
||||
}
|
||||
return ms_filter_codec_supported(mime);
|
||||
//ms_filter_codec_supported(mime)
|
||||
return ms_factory_codec_supported (lc->factory, mime );
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1613,7 +1615,8 @@ static void linphone_core_register_default_codecs(LinphoneCore *lc){
|
|||
/*default enabled audio codecs, in order of preference*/
|
||||
#if defined(__arm__) || defined(_M_ARM)
|
||||
/*hack for opus, that needs to be disabed by default on ARM single processor, otherwise there is no cpu left for video processing*/
|
||||
if (ms_get_cpu_count()==1) opus_enabled=FALSE;
|
||||
//if (ms_get_cpu_count()==1) opus_enabled=FALSE;
|
||||
if (ms_factory_get_cpu_count(lc->factory)==1) opus_enabled=FALSE;
|
||||
#endif
|
||||
linphone_core_register_payload_type(lc,&payload_type_opus,"useinbandfec=1",opus_enabled);
|
||||
linphone_core_register_payload_type(lc,&payload_type_silk_wb,NULL,TRUE);
|
||||
|
|
@ -1703,15 +1706,22 @@ static void linphone_core_init(LinphoneCore * lc, const LinphoneCoreVTable *vtab
|
|||
linphone_core_set_state(lc,LinphoneGlobalStartup,"Starting up");
|
||||
ortp_init();
|
||||
linphone_core_activate_log_serialization_if_needed();
|
||||
|
||||
if (lc->factory == NULL){
|
||||
lc->factory = ms_factory_new();
|
||||
ms_factory_init_voip(lc->factory);
|
||||
ms_factory_init_plugins(lc->factory);
|
||||
|
||||
ms_init();
|
||||
}
|
||||
//ms_init();
|
||||
|
||||
linphone_core_register_default_codecs(lc);
|
||||
linphone_core_register_offer_answer_providers(lc);
|
||||
/* Get the mediastreamer2 event queue */
|
||||
/* This allows to run event's callback in linphone_core_iterate() */
|
||||
lc->msevq=ms_factory_create_event_queue(ms_factory_get_fallback());
|
||||
|
||||
//lc->msevq=ms_factory_create_event_queue(ms_factory_get_fallback());
|
||||
lc->msevq=ms_factory_create_event_queue(lc->factory);
|
||||
|
||||
lc->sal=sal_init();
|
||||
sal_set_http_proxy_host(lc->sal, linphone_core_get_http_proxy_host(lc));
|
||||
sal_set_http_proxy_port(lc->sal, linphone_core_get_http_proxy_port(lc));
|
||||
|
|
@ -6455,7 +6465,12 @@ static void linphone_core_uninit(LinphoneCore *lc)
|
|||
if (lc->supported_formats) ms_free(lc->supported_formats);
|
||||
linphone_core_message_storage_close(lc);
|
||||
linphone_core_call_log_storage_close(lc);
|
||||
ms_exit();
|
||||
//ms_exit();
|
||||
ms_factory_uninit_voip(lc->factory);
|
||||
ms_factory_uninit_plugins(lc->factory);
|
||||
ms_factory_destroy(lc->factory);
|
||||
// TODO : set to null
|
||||
|
||||
linphone_core_set_state(lc,LinphoneGlobalOff,"Off");
|
||||
linphone_core_deactivate_log_serialization_if_needed();
|
||||
ms_list_free_with_data(lc->vtable_refs,(void (*)(void *))v_table_reference_destroy);
|
||||
|
|
|
|||
|
|
@ -94,8 +94,9 @@ void linphone_core_set_payload_type_number(LinphoneCore *lc, PayloadType *pt, in
|
|||
}
|
||||
|
||||
const char *linphone_core_get_payload_type_description(LinphoneCore *lc, PayloadType *pt){
|
||||
if (ms_filter_codec_supported(pt->mime_type)){
|
||||
MSFilterDesc *desc=ms_filter_get_encoder(pt->mime_type);
|
||||
//if (ms_filter_codec_supported(pt->mime_type)){
|
||||
if (ms_factory_codec_supported(lc->factory, pt->mime_type)){
|
||||
MSFilterDesc *desc=ms_factory_get_encoder(lc->factory, pt->mime_type);
|
||||
#ifdef ENABLE_NLS
|
||||
return dgettext("mediastreamer",desc->text);
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -860,6 +860,7 @@ void linphone_task_list_free(LinphoneTaskList *t);
|
|||
|
||||
struct _LinphoneCore
|
||||
{
|
||||
MSFactory* factory;
|
||||
MSList* vtable_refs;
|
||||
Sal *sal;
|
||||
LinphoneGlobalState state;
|
||||
|
|
|
|||
|
|
@ -2344,20 +2344,20 @@ static void video_call_using_policy_AVPF_implicit_caller_and_callee(void) {
|
|||
linphone_core_manager_destroy(callee);
|
||||
linphone_core_manager_destroy(caller);
|
||||
}
|
||||
static void video_call_base_avpf(LinphoneCoreManager* pauline,LinphoneCoreManager* marie, bool_t using_policy,LinphoneMediaEncryption mode, bool_t callee_video_enabled, bool_t caller_video_enabled) {
|
||||
linphone_core_set_avpf_mode(pauline->lc,LinphoneAVPFEnabled);
|
||||
linphone_core_set_avpf_mode(marie->lc,LinphoneAVPFEnabled);
|
||||
video_call_base_3(pauline,marie,using_policy,mode,callee_video_enabled,caller_video_enabled);
|
||||
end_call(pauline, marie);
|
||||
static void video_call_base_avpf(LinphoneCoreManager* caller,LinphoneCoreManager* callee, bool_t using_policy,LinphoneMediaEncryption mode, bool_t callee_video_enabled, bool_t caller_video_enabled) {
|
||||
linphone_core_set_avpf_mode(caller->lc,LinphoneAVPFEnabled);
|
||||
linphone_core_set_avpf_mode(callee->lc,LinphoneAVPFEnabled);
|
||||
video_call_base_3(caller,callee,using_policy,mode,callee_video_enabled,caller_video_enabled);
|
||||
end_call(caller, callee);
|
||||
}
|
||||
|
||||
static void video_call_avpf(void) {
|
||||
LinphoneCoreManager* pauline = linphone_core_manager_new("pauline_rc");
|
||||
LinphoneCoreManager* marie = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "marie_rc" : "marie_tcp_rc");
|
||||
LinphoneCoreManager* callee = linphone_core_manager_new("marie_rc");
|
||||
LinphoneCoreManager* caller = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc");
|
||||
|
||||
video_call_base_avpf(pauline,marie,FALSE,LinphoneMediaEncryptionNone,TRUE,TRUE);
|
||||
linphone_core_manager_destroy(pauline);
|
||||
linphone_core_manager_destroy(marie);
|
||||
video_call_base_avpf(caller,callee,FALSE,LinphoneMediaEncryptionNone,TRUE,TRUE);
|
||||
linphone_core_manager_destroy(callee);
|
||||
linphone_core_manager_destroy(caller);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -2985,7 +2985,8 @@ static void call_with_mkv_file_player(void) {
|
|||
BC_ASSERT_PTR_NOT_NULL(player);
|
||||
if (player){
|
||||
int res = linphone_player_open(player,hellomkv,on_eof,marie);
|
||||
if(!ms_filter_codec_supported("opus")) {
|
||||
//if(!ms_filter_codec_supported("opus")) {
|
||||
if(!ms_factory_codec_supported(marie->lc->factory, "opus") && !ms_factory_codec_supported(pauline->lc->factory, "opus")){
|
||||
BC_ASSERT_EQUAL(res, -1, int, "%d");
|
||||
end_call(marie, pauline);
|
||||
goto end;
|
||||
|
|
|
|||
|
|
@ -36,7 +36,9 @@ void send_dtmf_base(LinphoneCoreManager **pmarie, LinphoneCoreManager **ppauline
|
|||
LinphoneCall *marie_call = NULL;
|
||||
|
||||
if (use_opus) {
|
||||
if (!ms_filter_codec_supported("opus")) {
|
||||
//if (!ms_filter_codec_supported("opus")) {
|
||||
if(!ms_factory_codec_supported(marie->lc->factory, "opus") && !ms_factory_codec_supported(pauline->lc->factory, "opus")){
|
||||
|
||||
ms_warning("Opus not supported, skipping test.");
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue