mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-13 15:50:59 +00:00
add new flag to frames to denote pass thru frames that are not audio
This commit is contained in:
parent
bcd1e14711
commit
cb9abe0268
@ -1203,7 +1203,8 @@ typedef enum {
|
||||
SFF_PROXY_PACKET = (1 << 5),
|
||||
SFF_DYNAMIC = (1 << 6),
|
||||
SFF_ZRTP = (1 << 7),
|
||||
SFF_UDPTL_PACKET = (1 << 8)
|
||||
SFF_UDPTL_PACKET = (1 << 8),
|
||||
SFF_NOT_AUDIO = (1 << 9)
|
||||
} switch_frame_flag_enum_t;
|
||||
typedef uint32_t switch_frame_flag_t;
|
||||
|
||||
|
@ -265,6 +265,13 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(switch_core_sessi
|
||||
do_bugs = 1;
|
||||
need_codec = 1;
|
||||
}
|
||||
|
||||
if (((*frame)->flags & SFF_NOT_AUDIO)) {
|
||||
do_resample = 0;
|
||||
do_bugs = 0;
|
||||
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;
|
||||
@ -792,6 +799,13 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(switch_core_sess
|
||||
do_resample = TRUE;
|
||||
}
|
||||
|
||||
|
||||
if ((frame->flags & SFF_NOT_AUDIO)) {
|
||||
do_resample = 0;
|
||||
do_bugs = 0;
|
||||
need_codec = 0;
|
||||
}
|
||||
|
||||
if (switch_test_flag(session, SSF_WRITE_TRANSCODE) && !need_codec && switch_core_codec_ready(session->write_codec)) {
|
||||
switch_core_session_t *other_session;
|
||||
const char *uuid = switch_channel_get_variable(switch_core_session_get_channel(session), SWITCH_SIGNAL_BOND_VARIABLE);
|
||||
|
@ -3131,6 +3131,11 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_
|
||||
}
|
||||
}
|
||||
|
||||
if (((rtp_session->cng_pt && rtp_session->recv_msg.header.pt == rtp_session->cng_pt) || rtp_session->recv_msg.header.pt == 13)) {
|
||||
*flags |= SFF_NOT_AUDIO;
|
||||
}
|
||||
|
||||
|
||||
/* ignore packets not meant for us unless the auto-adjust window is open */
|
||||
if (bytes) {
|
||||
if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_AUTOADJ)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user