]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FSRTP-19: Fix SWITCH_IO_FLAG_NOBLOCK needed for mod_sangoma_codec
authorMichael Jerris <mike@jerris.com>
Sat, 25 Sep 2010 14:19:52 +0000 (10:19 -0400)
committerMichael Jerris <mike@jerris.com>
Sat, 25 Sep 2010 14:20:09 +0000 (10:20 -0400)
src/switch_rtp.c

index 969309ec89f27bdae33308c7831a35e2b17fc346..b5c98fc24734dbcc81b0fa456dfe6ba2fc574020 100644 (file)
@@ -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();
                        }
                }