提交 e786772a authored 作者: Michael Jerris's avatar Michael Jerris

don't destroy a codec that has not been created (MODAPP-101)

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8875 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 2d9184f6
...@@ -495,6 +495,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_eavesdrop_session(switch_core_session ...@@ -495,6 +495,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_eavesdrop_session(switch_core_session
switch_status_t status = SWITCH_STATUS_FALSE; switch_status_t status = SWITCH_STATUS_FALSE;
switch_channel_t *channel = switch_core_session_get_channel(session); switch_channel_t *channel = switch_core_session_get_channel(session);
switch_codec_t *read_codec = switch_core_session_get_read_codec(session); switch_codec_t *read_codec = switch_core_session_get_read_codec(session);
int codec_initialized = 0;
if ((tsession = switch_core_session_locate(uuid))) { if ((tsession = switch_core_session_locate(uuid))) {
struct eavesdrop_pvt *ep = NULL; struct eavesdrop_pvt *ep = NULL;
...@@ -554,6 +555,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_eavesdrop_session(switch_core_session ...@@ -554,6 +555,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_eavesdrop_session(switch_core_session
goto end; goto end;
} }
codec_initialized = 1;
switch_core_session_set_read_codec(session, &codec); switch_core_session_set_read_codec(session, &codec);
write_frame.codec = &codec; write_frame.codec = &codec;
write_frame.data = buf; write_frame.data = buf;
...@@ -683,8 +686,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_eavesdrop_session(switch_core_session ...@@ -683,8 +686,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_eavesdrop_session(switch_core_session
} }
end: end:
if ( codec_initialized )
switch_core_codec_destroy(&codec); switch_core_codec_destroy(&codec);
if (bug) { if (bug) {
switch_core_media_bug_remove(tsession, &bug); switch_core_media_bug_remove(tsession, &bug);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论