[commit] r4108 - in freeswitch/trunk/src: include mod/applications/mod_conference
Author: anthm Date: Fri Feb 2 15:28:34 2007 New Revision: 4108 Modified: freeswitch/trunk/src/include/switch_utils.h freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Log: fix sample calc Modified: freeswitch/trunk/src/include/switch_utils.h ============================================================================== --- freeswitch/trunk/src/include/switch_utils.h (original) +++ freeswitch/trunk/src/include/switch_utils.h Fri Feb 2 15:28:34 2007 @@ -50,6 +50,7 @@ #define vsnprintf apr_vsnprintf #endif +#define switch_bytes_per_frame(rate, interval) (uint32_t)((float)rate / (1000.0f / (float)interval)); #define SWITCH_SMAX 32767 #define SWITCH_SMIN -32768 Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Fri Feb 2 15:28:34 2007 @@ -634,8 +634,7 @@ { conference_obj_t *conference = (conference_obj_t *) obj; conference_member_t *imember, *omember; - uint32_t divider = 1000 / conference->interval; - uint32_t samples = (conference->rate / divider); + uint32_t samples = switch_bytes_per_frame(conference->rate, conference->interval); uint32_t bytes = samples * 2; uint8_t ready = 0; switch_timer_t timer = {0}; @@ -1419,8 +1418,7 @@ switch_frame_t write_frame = {0}; uint8_t data[SWITCH_RECCOMMENDED_BUFFER_SIZE]; switch_timer_t timer = {0}; - uint32_t divider = 1000 / member->conference->interval; - uint32_t samples = (member->conference->rate / divider); + uint32_t samples = switch_bytes_per_frame(member->conference->rate, member->conference->interval); uint32_t bytes = samples * 2; channel = switch_core_session_get_channel(member->session); @@ -1666,8 +1664,7 @@ switch_file_handle_t fh = {0}; conference_member_t smember = {0}, *member; conference_record_t *rec = (conference_record_t *) obj; - uint32_t divider = 1000 / rec->conference->interval; - uint32_t samples = (rec->conference->rate / divider); + uint32_t samples = switch_bytes_per_frame(rec->conference->rate, rec->conference->interval); uint32_t bytes = samples * 2; uint32_t mux_used; char *vval;
participants (1)
-
Freeswitch SVN