From 40fd07b9b3a1e91e0ee9016ff86479728df3cb9b Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Mon, 14 Nov 2011 13:50:17 +0100 Subject: [PATCH] fix potential crash at end of conference --- coreapi/conference.c | 8 ++++---- coreapi/private.h | 1 + mediastreamer2 | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/coreapi/conference.c b/coreapi/conference.c index f72531b99..51623babe 100644 --- a/coreapi/conference.c +++ b/coreapi/conference.c @@ -43,6 +43,7 @@ static void remove_local_endpoint(LinphoneConference *ctx){ ctx->local_endpoint=NULL; audio_stream_stop(ctx->local_participant); ctx->local_participant=NULL; + rtp_profile_destroy(ctx->local_dummy_profile); } } @@ -96,9 +97,9 @@ static void add_local_endpoint(LinphoneConference *conf,LinphoneCore *lc){ lc->sound_conf.lsd_card : lc->sound_conf.play_sndcard; MSSndCard *captcard=lc->sound_conf.capt_sndcard; const MSAudioConferenceParams *params=ms_audio_conference_get_params(conf->conf); - RtpProfile *prof=make_dummy_profile(params->samplerate); + conf->local_dummy_profile=make_dummy_profile(params->samplerate); - audio_stream_start_full(st, prof, + audio_stream_start_full(st, conf->local_dummy_profile, "127.0.0.1", 65000, 65001, @@ -114,8 +115,7 @@ static void add_local_endpoint(LinphoneConference *conf,LinphoneCore *lc){ conf->local_participant=st; conf->local_endpoint=ms_audio_endpoint_get_from_stream(st,FALSE); ms_audio_conference_add_member(conf->conf,conf->local_endpoint); - /*normally and exceptionnaly, the profile is no more accessed past this point*/ - rtp_profile_destroy(prof); + } float linphone_core_get_conference_local_input_volume(LinphoneCore *lc){ diff --git a/coreapi/private.h b/coreapi/private.h index 657cd47fd..685390689 100644 --- a/coreapi/private.h +++ b/coreapi/private.h @@ -405,6 +405,7 @@ struct _LinphoneConference{ MSAudioConference *conf; AudioStream *local_participant; MSAudioEndpoint *local_endpoint; + RtpProfile *local_dummy_profile; bool_t local_muted; }; diff --git a/mediastreamer2 b/mediastreamer2 index f7bf94591..4ee916b3f 160000 --- a/mediastreamer2 +++ b/mediastreamer2 @@ -1 +1 @@ -Subproject commit f7bf945917f71afc050edb0968e3262201572a34 +Subproject commit 4ee916b3fcae0aba38a0d595079298242c9ac2cd