uint32_t interval = read_codec->implementation->microseconds_per_frame / 1000;
uint32_t csamples = switch_bytes_per_frame(member->conference->rate, member->conference->interval);
uint32_t samples = switch_bytes_per_frame(member->conference->rate, interval);
- uint32_t tsamples = switch_bytes_per_frame(read_codec->implementation->samples_per_second, interval) / 2;
+ uint32_t tsamples = switch_bytes_per_frame(read_codec->implementation->samples_per_second, interval);
uint32_t low_count = 0, bytes = samples * 2;
call_list_t *call_list = NULL, *cp = NULL;
return -1;
}
+ if (rtp_session->recv_msg.header.pt == 9 /* && G722 RFC != LAME */) {
+ uint32_t rfc_sucks = ntohl(rtp_session->recv_msg.header.ts);
+ rfc_sucks *= 2;
+ rtp_session->recv_msg.header.ts = htonl(rfc_sucks);
+ }
+
if (rtp_session->jb && bytes && rtp_session->recv_msg.header.pt == rtp_session->payload) {
if (rtp_session->recv_msg.header.m) {
stfu_n_reset(rtp_session->jb);
}
send_msg = rtp_session->send_msg;
-
+ if (payload == 9 /* && G722 RFC != LAME */) {
+ ts /= 2;
+ }
send_msg.header.seq = htons(mseq);
send_msg.header.ts = htonl(ts);
send_msg.header.ssrc = htonl(ssrc);