FS-10770: [freeswitch-core] Make nack buffer bigger by default

This commit is contained in:
Anthony Minessale 2017-11-02 14:50:02 -05:00 committed by Muteesa Fred
parent d395223fa2
commit 5a6f4679cd
1 changed files with 19 additions and 1 deletions

View File

@ -423,6 +423,7 @@ struct switch_rtp {
switch_payload_t recv_te;
switch_payload_t cng_pt;
switch_mutex_t *flag_mutex;
switch_mutex_t *nack_mutex;
switch_mutex_t *read_mutex;
switch_mutex_t *write_mutex;
switch_mutex_t *ice_mutex;
@ -4210,6 +4211,7 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_create(switch_rtp_t **new_rtp_session
rtp_session->session = session;
switch_mutex_init(&rtp_session->flag_mutex, SWITCH_MUTEX_NESTED, pool);
switch_mutex_init(&rtp_session->nack_mutex, SWITCH_MUTEX_NESTED, pool);
switch_mutex_init(&rtp_session->read_mutex, SWITCH_MUTEX_NESTED, pool);
switch_mutex_init(&rtp_session->write_mutex, SWITCH_MUTEX_NESTED, pool);
switch_mutex_init(&rtp_session->ice_mutex, SWITCH_MUTEX_NESTED, pool);
@ -6475,7 +6477,12 @@ static switch_status_t process_rtcp_report(switch_rtp_t *rtp_session, rtcp_msg_t
for (i = 0; i < ntohs(extp->header.length) - 2; i++) {
handle_nack(rtp_session, *nack);
//handle_nack(rtp_session, *nack);
switch_mutex_lock(rtp_session->nack_mutex);
if (rtp_session->nack_idx < MAX_NACKS) {
rtp_session->nack_buf[rtp_session->nack_idx++] = *nack;
}
switch_mutex_unlock(rtp_session->nack_mutex);
nack++;
}
@ -8603,6 +8610,17 @@ SWITCH_DECLARE(int) switch_rtp_write_frame(switch_rtp_t *rtp_session, switch_fra
return 0;
}
switch_mutex_lock(rtp_session->nack_mutex);
if (rtp_session->nack_idx) {
int i = 0;
for(i = 0; i < rtp_session->nack_idx; i++) {
handle_nack(rtp_session, rtp_session->nack_buf[i]);
}
rtp_session->nack_idx = 0;
}
switch_mutex_unlock(rtp_session->nack_mutex);
//if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO]) {
// rtp_session->flags[SWITCH_RTP_FLAG_DEBUG_RTP_READ]++;
// rtp_session->flags[SWITCH_RTP_FLAG_DEBUG_RTP_WRITE]++;