提交 06a9cae1 authored 作者: Anthony Minessale's avatar Anthony Minessale

fix MODAPP-22

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6058 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 36dac926
...@@ -491,8 +491,9 @@ static switch_status_t conference_add_member(conference_obj_t * conference, conf ...@@ -491,8 +491,9 @@ static switch_status_t conference_add_member(conference_obj_t * conference, conf
switch_mutex_lock(member->audio_in_mutex); switch_mutex_lock(member->audio_in_mutex);
switch_mutex_lock(member->audio_out_mutex); switch_mutex_lock(member->audio_out_mutex);
switch_mutex_lock(member->flag_mutex); switch_mutex_lock(member->flag_mutex);
switch_mutex_lock(conference->member_mutex); switch_mutex_lock(conference->member_mutex);
switch_clear_flag(conference, CFLAG_DESTRUCT);
member->conference = conference; member->conference = conference;
member->next = conference->members; member->next = conference->members;
member->energy_level = conference->energy_level; member->energy_level = conference->energy_level;
...@@ -4149,7 +4150,7 @@ SWITCH_STANDARD_APP(conference_function) ...@@ -4149,7 +4150,7 @@ SWITCH_STANDARD_APP(conference_function)
goto done; goto done;
} }
} }
if (conference->special_announce) { if (conference->special_announce) {
conference_local_play_file(conference, session, conference->special_announce, CONF_DEFAULT_LEADIN); conference_local_play_file(conference, session, conference->special_announce, CONF_DEFAULT_LEADIN);
} }
...@@ -4326,6 +4327,14 @@ SWITCH_STANDARD_APP(conference_function) ...@@ -4326,6 +4327,14 @@ SWITCH_STANDARD_APP(conference_function)
switch_buffer_destroy(&member.audio_buffer); switch_buffer_destroy(&member.audio_buffer);
switch_buffer_destroy(&member.mux_buffer); switch_buffer_destroy(&member.mux_buffer);
if (conference) {
switch_mutex_lock(conference->mutex);
if (switch_test_flag(conference, CFLAG_DYNAMIC) && conference->count == 0) {
switch_set_flag_locked(conference, CFLAG_DESTRUCT);
}
switch_mutex_unlock(conference->mutex);
}
/* Release the config registry handle */ /* Release the config registry handle */
if (cxml) { if (cxml) {
switch_xml_free(cxml); switch_xml_free(cxml);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论