From: Michael Jerris Date: Sat, 25 Sep 2010 14:19:52 +0000 (-0400) Subject: FSRTP-19: Fix SWITCH_IO_FLAG_NOBLOCK needed for mod_sangoma_codec X-Git-Tag: v1.2-rc1~291^2~40^2~44 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bc30415380cbcc2f7229ea0d35e6ccde830ee383;p=thirdparty%2Ffreeswitch.git FSRTP-19: Fix SWITCH_IO_FLAG_NOBLOCK needed for mod_sangoma_codec --- diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 969309ec89..b5c98fc247 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -2308,6 +2308,10 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_ pt = 20000; } + if ((io_flags & SWITCH_IO_FLAG_NOBLOCK)) { + pt = 0; + } + poll_status = switch_poll(rtp_session->read_pollfd, 1, &fdr, pt); if (rtp_session->dtmf_data.out_digit_dur > 0) { do_2833(rtp_session); @@ -2333,7 +2337,7 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_ } } - if (rtp_session->dtmf_data.out_digit_dur == 0 || switch_test_flag(rtp_session, SWITCH_RTP_FLAG_VIDEO)) { + if ((!(io_flags & SWITCH_IO_FLAG_NOBLOCK)) && (rtp_session->dtmf_data.out_digit_dur == 0 || switch_test_flag(rtp_session, SWITCH_RTP_FLAG_VIDEO))) { return_cng_frame(); } }