]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
MODENDP-169
authorAnthony Minessale <anthony.minessale@gmail.com>
Tue, 13 Jan 2009 17:56:35 +0000 (17:56 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Tue, 13 Jan 2009 17:56:35 +0000 (17:56 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11160 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_portaudio/mod_portaudio.c
src/switch_rtp.c

index 8dc4cd00b69ee1847804e952028b90fd2dfa9998..88bc0dd69829ca1036bb8b93d614cd457bfeda19 100644 (file)
@@ -801,6 +801,7 @@ static switch_status_t load_config(void)
        }
 
        globals.indev = globals.outdev = globals.ringdev = -1;
+       globals.sample_rate = 8000;
 
        if ((settings = switch_xml_child(cfg, "settings"))) {
                for (param = switch_xml_child(settings, "param"); param; param = param->next) {
@@ -821,7 +822,7 @@ static switch_status_t load_config(void)
                                globals.sample_rate = atoi(val);
                        } else if (!strcmp(var, "codec-ms")) {
                                int tmp = atoi(val);
-                               if (SWITCH_ACCEPTABLE_INTERVAL(tmp)) {
+                               if (switch_check_interval(globals.sample_rate, tmp)) {
                                        globals.codec_ms = tmp;
                                } else {
                                        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING,
index 15cc864ff6f1e13c6ccb4920bad3487513f51f6d..18603a98704a4e13df100b6212a1fe61f90a8eaa 100644 (file)
@@ -1007,6 +1007,13 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_activate_ice(switch_rtp_t *rtp_sessio
        return SWITCH_STATUS_SUCCESS;
 }
 
+static void ping_socket(switch_rtp_t *rtp_session)
+{
+       uint32_t o = UINT_MAX;
+       switch_size_t len = sizeof(o);
+       switch_socket_sendto(rtp_session->sock_input, rtp_session->local_addr, 0, (void *) &o, &len);
+}
+
 SWITCH_DECLARE(void) switch_rtp_break(switch_rtp_t *rtp_session)
 {
        if (!switch_rtp_ready(rtp_session)) {
@@ -1023,9 +1030,7 @@ SWITCH_DECLARE(void) switch_rtp_break(switch_rtp_t *rtp_session)
        }
 
        if (rtp_session->sock_input) {
-               uint32_t o = UINT_MAX;
-               switch_size_t len = sizeof(o);
-               switch_socket_sendto(rtp_session->sock_input, rtp_session->local_addr, 0, (void *) &o, &len);
+               ping_socket(rtp_session);
        }
        switch_mutex_unlock(rtp_session->flag_mutex);
 }
@@ -1037,6 +1042,7 @@ SWITCH_DECLARE(void) switch_rtp_kill_socket(switch_rtp_t *rtp_session)
        if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_IO)) {
                switch_clear_flag(rtp_session, SWITCH_RTP_FLAG_IO);
                if (rtp_session->sock_input) {
+                       ping_socket(rtp_session);
                        switch_socket_shutdown(rtp_session->sock_input, SWITCH_SHUTDOWN_READWRITE);
                }
                if (rtp_session->sock_output && rtp_session->sock_output != rtp_session->sock_input) {