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;
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;
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);
}
}
+ 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)) {