From a28f19b7a27091cd6a9cd58aed70cea5eae1ffd5 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 15 Mar 2013 09:24:47 -0500 Subject: [PATCH] FS-5011 update to this version and repost the same trace if you still have problems --- src/switch_core_io.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/switch_core_io.c b/src/switch_core_io.c index 696de1cab0..4298942eb6 100644 --- a/src/switch_core_io.c +++ b/src/switch_core_io.c @@ -104,7 +104,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(switch_core_sessi { switch_io_event_hook_read_frame_t *ptr; switch_status_t status = SWITCH_STATUS_FALSE; - int need_codec, perfect, do_bugs = 0, do_resample = 0, is_cng = 0; + int need_codec, perfect, do_bugs = 0, do_resample = 0, is_cng = 0, tap_only = 0; switch_codec_implementation_t codec_impl; unsigned int flag = 0; int i; @@ -251,6 +251,8 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(switch_core_sessi switch_media_bug_t *bp; switch_bool_t ok = SWITCH_TRUE; int prune = 0; + + tap_only = 1; switch_thread_rwlock_rdlock(session->bug_rwlock); @@ -268,6 +270,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(switch_core_sessi } if (bp->ready) { + if (!switch_test_flag(bp, SMBF_TAP_NATIVE_READ) && !switch_test_flag(bp, SMBF_TAP_NATIVE_WRITE)) { + tap_only = 0; + } + if (switch_test_flag(bp, SMBF_TAP_NATIVE_READ)) { if (bp->callback) { bp->native_read_frame = *frame; @@ -331,6 +337,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(switch_core_sessi need_codec = 0; } + if (tap_only) { + need_codec = 0; + } + if (switch_test_flag(session, SSF_READ_TRANSCODE) && !need_codec && switch_core_codec_ready(session->read_codec)) { switch_core_session_t *other_session;