]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
tweak media bugs timeout
authorAnthony Minessale <anthony.minessale@gmail.com>
Wed, 19 Nov 2008 01:24:37 +0000 (01:24 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Wed, 19 Nov 2008 01:24:37 +0000 (01:24 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10453 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/switch_core_io.c

index 4ef58e111e38b47c1801bfccf12ff00fbc1a2227..a8d803229be3f21392f0abf8893fc447d527a616 100644 (file)
@@ -318,15 +318,12 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(switch_core_sessi
                                        switch_mutex_lock(bp->read_mutex);
                                        switch_buffer_write(bp->raw_read_buffer, read_frame->data, read_frame->datalen);
                                        if (bp->callback) {
-                                               if (bp->callback(bp, bp->user_data, SWITCH_ABC_TYPE_READ) == SWITCH_FALSE
-                                                       || (bp->stop_time && bp->stop_time <= switch_timestamp(NULL))) {
-                                                       ok = SWITCH_FALSE;
-                                               }
+                                               ok = bp->callback(bp, bp->user_data, SWITCH_ABC_TYPE_READ);
                                        }
                                        switch_mutex_unlock(bp->read_mutex);
                                }
-
-                               if (switch_test_flag(bp, SMBF_READ_REPLACE)) {
+                               
+                               if (ok && switch_test_flag(bp, SMBF_READ_REPLACE)) {
                                        do_bugs = 0;
                                        if (bp->callback) {
                                                bp->read_replace_frame_in = read_frame;
@@ -336,6 +333,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(switch_core_sessi
                                                }
                                        }
                                }
+                               
+                               if (bp->stop_time && bp->stop_time <= switch_timestamp(NULL)) {
+                                       ok = SWITCH_FALSE;
+                               }
 
                                if (ok == SWITCH_FALSE) {
                                        bp->ready = 0;