From 8315b954fd22d42547ab72c1f7eb854136998928 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 5 Nov 2010 12:26:30 -0500 Subject: [PATCH] tweak --- src/switch_core_io.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/switch_core_io.c b/src/switch_core_io.c index 42f45859d1..cd25622b5d 100644 --- a/src/switch_core_io.c +++ b/src/switch_core_io.c @@ -666,18 +666,19 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(switch_core_sess return status; } + switch_mutex_lock(session->codec_write_mutex); + if (!(frame->codec && frame->codec->implementation)) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "%s has received a bad frame with no codec!\n", switch_channel_get_name(session->channel)); switch_channel_hangup(session->channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); + switch_mutex_unlock(session->codec_write_mutex); return SWITCH_STATUS_FALSE; } switch_assert(frame->codec != NULL); switch_assert(frame->codec->implementation != NULL); - switch_mutex_lock(session->codec_write_mutex); - if (!(switch_core_codec_ready(session->write_codec) && frame->codec) || !switch_channel_ready(session->channel) || !switch_channel_media_ready(session->channel)) { switch_mutex_unlock(session->codec_write_mutex);