only flush on break when its a blocking situation

This commit is contained in:
Anthony Minessale 2012-02-27 13:26:50 -06:00
parent 0c715f1286
commit 3a0767865d
1 changed files with 6 additions and 3 deletions

View File

@ -3097,9 +3097,12 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_
if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_BREAK) || (bytes && bytes == 4 && *((int *) &rtp_session->recv_msg) == UINT_MAX)) {
switch_clear_flag_locked(rtp_session, SWITCH_RTP_FLAG_BREAK);
do_2833(rtp_session, session);
bytes = 0;
return_cng_frame();
if (!switch_test_flag(rtp_session, SWITCH_RTP_FLAG_NOBLOCK) || switch_test_flag(rtp_session, SWITCH_RTP_FLAG_PROXY_MEDIA) || switch_test_flag(rtp_session, SWITCH_RTP_FLAG_UDPTL) || (bytes && bytes < 5) || (!bytes && poll_loop)) {
do_2833(rtp_session, session);
bytes = 0;
return_cng_frame();
}
}
if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_FLUSH)) {