mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-16 16:58:35 +00:00
FS-5011 update to this version and repost the same trace if you still have problems
This commit is contained in:
parent
efaa3a6d3d
commit
a28f19b7a2
@ -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_io_event_hook_read_frame_t *ptr;
|
||||||
switch_status_t status = SWITCH_STATUS_FALSE;
|
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;
|
switch_codec_implementation_t codec_impl;
|
||||||
unsigned int flag = 0;
|
unsigned int flag = 0;
|
||||||
int i;
|
int i;
|
||||||
@ -252,6 +252,8 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(switch_core_sessi
|
|||||||
switch_bool_t ok = SWITCH_TRUE;
|
switch_bool_t ok = SWITCH_TRUE;
|
||||||
int prune = 0;
|
int prune = 0;
|
||||||
|
|
||||||
|
tap_only = 1;
|
||||||
|
|
||||||
switch_thread_rwlock_rdlock(session->bug_rwlock);
|
switch_thread_rwlock_rdlock(session->bug_rwlock);
|
||||||
|
|
||||||
for (bp = session->bugs; bp; bp = bp->next) {
|
for (bp = session->bugs; bp; bp = bp->next) {
|
||||||
@ -268,6 +270,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(switch_core_sessi
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (bp->ready) {
|
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 (switch_test_flag(bp, SMBF_TAP_NATIVE_READ)) {
|
||||||
if (bp->callback) {
|
if (bp->callback) {
|
||||||
bp->native_read_frame = *frame;
|
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;
|
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)) {
|
if (switch_test_flag(session, SSF_READ_TRANSCODE) && !need_codec && switch_core_codec_ready(session->read_codec)) {
|
||||||
switch_core_session_t *other_session;
|
switch_core_session_t *other_session;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user