mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-07-01 13:22:40 +00:00
FS-9806: [mod_loopback] mod_loopback: bowout is always done even if set to false loopback_bowout_on_execute=false,loopback_bowout=false #resolve
This commit is contained in:
parent
fae3d9693d
commit
634490495f
@ -293,6 +293,7 @@ static switch_status_t channel_on_init(switch_core_session_t *session)
|
|||||||
|
|
||||||
|
|
||||||
switch_channel_set_flag(channel, CF_ACCEPT_CNG);
|
switch_channel_set_flag(channel, CF_ACCEPT_CNG);
|
||||||
|
switch_channel_set_flag(channel, CF_AUDIO);
|
||||||
|
|
||||||
if ((vars = (switch_event_t *) switch_channel_get_private(channel, "__loopback_vars__"))) {
|
if ((vars = (switch_event_t *) switch_channel_get_private(channel, "__loopback_vars__"))) {
|
||||||
switch_event_header_t *h;
|
switch_event_header_t *h;
|
||||||
@ -1172,7 +1173,7 @@ static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *sessi
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch_channel_set_state(channel, CS_INIT);
|
switch_channel_set_state(channel, CS_INIT);
|
||||||
|
switch_channel_set_flag(channel, CF_AUDIO);
|
||||||
return SWITCH_CAUSE_SUCCESS;
|
return SWITCH_CAUSE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6162,16 +6162,12 @@ static switch_status_t perform_write(switch_core_session_t *session, switch_fram
|
|||||||
{
|
{
|
||||||
switch_io_event_hook_write_frame_t *ptr;
|
switch_io_event_hook_write_frame_t *ptr;
|
||||||
switch_status_t status = SWITCH_STATUS_FALSE;
|
switch_status_t status = SWITCH_STATUS_FALSE;
|
||||||
switch_rtp_engine_t *a_engine;
|
|
||||||
switch_media_handle_t *smh;
|
switch_media_handle_t *smh;
|
||||||
|
|
||||||
switch_assert(session != NULL);
|
switch_assert(session != NULL);
|
||||||
|
|
||||||
if (!(smh = session->media_handle)) {
|
if ((smh = session->media_handle)) {
|
||||||
return SWITCH_STATUS_FALSE;
|
switch_rtp_engine_t *a_engine = &smh->engines[SWITCH_MEDIA_TYPE_AUDIO];
|
||||||
}
|
|
||||||
|
|
||||||
a_engine = &smh->engines[SWITCH_MEDIA_TYPE_AUDIO];
|
|
||||||
|
|
||||||
if (a_engine && a_engine->write_fb && !(flags & SWITCH_IO_FLAG_QUEUED)) {
|
if (a_engine && a_engine->write_fb && !(flags & SWITCH_IO_FLAG_QUEUED)) {
|
||||||
switch_frame_t *dupframe = NULL;
|
switch_frame_t *dupframe = NULL;
|
||||||
@ -6182,6 +6178,7 @@ static switch_status_t perform_write(switch_core_session_t *session, switch_fram
|
|||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (session->bugs && !(frame->flags & SFF_NOT_AUDIO)) {
|
if (session->bugs && !(frame->flags & SFF_NOT_AUDIO)) {
|
||||||
switch_media_bug_t *bp;
|
switch_media_bug_t *bp;
|
||||||
@ -14305,7 +14302,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(switch_core_sess
|
|||||||
switch_assert(session != NULL);
|
switch_assert(session != NULL);
|
||||||
switch_assert(frame != NULL);
|
switch_assert(frame != NULL);
|
||||||
|
|
||||||
if (!switch_channel_ready(session->channel)) {
|
if (!switch_channel_up_nosig(session->channel)) {
|
||||||
return SWITCH_STATUS_FALSE;
|
return SWITCH_STATUS_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user