提交 4b29f7c3 authored 作者: Anthony Minessale's avatar Anthony Minessale

possible fix for FSCORE-30

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5214 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 f32a3a42
...@@ -751,9 +751,14 @@ static void do_2833(switch_rtp_t *rtp_session) ...@@ -751,9 +751,14 @@ static void do_2833(switch_rtp_t *rtp_session)
rtp_session->dtmf_data.out_digit_packet[2] = (unsigned char) (duration >> 8); rtp_session->dtmf_data.out_digit_packet[2] = (unsigned char) (duration >> 8);
rtp_session->dtmf_data.out_digit_packet[3] = (unsigned char) duration; rtp_session->dtmf_data.out_digit_packet[3] = (unsigned char) duration;
if (loops != 1) {
rtp_session->dtmf_data.out_digit_seq++;
}
for (x = 0; x < loops; x++) { for (x = 0; x < loops; x++) {
rtp_session->dtmf_data.out_digit_seq++; if (loops == 1) {
rtp_session->dtmf_data.out_digit_seq++;
}
switch_rtp_write_manual(rtp_session, switch_rtp_write_manual(rtp_session,
rtp_session->dtmf_data.out_digit_packet, rtp_session->dtmf_data.out_digit_packet,
4, 4,
...@@ -769,6 +774,8 @@ static void do_2833(switch_rtp_t *rtp_session) ...@@ -769,6 +774,8 @@ static void do_2833(switch_rtp_t *rtp_session)
if (loops == 1) { if (loops == 1) {
rtp_session->last_write_seq = 0; rtp_session->last_write_seq = 0;
} else {
rtp_session->dtmf_data.out_digit_seq = 0;
} }
} }
...@@ -1409,7 +1416,7 @@ static int rtp_common_write(switch_rtp_t *rtp_session, void *data, uint32_t data ...@@ -1409,7 +1416,7 @@ static int rtp_common_write(switch_rtp_t *rtp_session, void *data, uint32_t data
} }
if (rtp_session->last_write_seq >0 && rtp_session->last_write_seq <= rtp_session->dtmf_data.out_digit_seq) { if (rtp_session->last_write_seq > 0 && rtp_session->last_write_seq <= rtp_session->dtmf_data.out_digit_seq) {
send = 0; send = 0;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论