refactor: fix comments
Applying code guidelines. No side effects.
This commit is contained in:
parent
19a86d55a5
commit
43d89f0258
|
@ -35,7 +35,7 @@ extern double desa2(circ_buffer_t *b, size_t i)
|
||||||
x2sq = x2 * x2;
|
x2sq = x2 * x2;
|
||||||
|
|
||||||
d = 2.0 * ((x2sq) - (x1 * x3));
|
d = 2.0 * ((x2sq) - (x1 * x3));
|
||||||
if(d == 0.0) return 0.0;
|
if (d == 0.0) return 0.0;
|
||||||
|
|
||||||
n = ((x2sq) - (x0 * x4)) - ((x1 * x1) - (x0 * x2)) - ((x3 * x3) - (x2 * x4));
|
n = ((x2sq) - (x0 * x4)) - ((x1 * x1) - (x0 * x2)) - ((x3 * x3) - (x2 * x4));
|
||||||
|
|
||||||
|
@ -46,14 +46,10 @@ extern double desa2(circ_buffer_t *b, size_t i)
|
||||||
result = 0.5 * acos(n/d);
|
result = 0.5 * acos(n/d);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(ISNAN(result)){
|
if (ISNAN(result)) result = 0.0;
|
||||||
result = 0.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -65,14 +65,12 @@ extern void compute_table(void)
|
||||||
|
|
||||||
acos_table_file = fopen(ACOS_TABLE_FILENAME, "w");
|
acos_table_file = fopen(ACOS_TABLE_FILENAME, "w");
|
||||||
|
|
||||||
|
for (i = 0; i < (1 << 25); i++) {
|
||||||
for(i = 0; i < (1 << 25); i++){
|
|
||||||
f = acosf(float_from_index(i));
|
f = acosf(float_from_index(i));
|
||||||
ret = fwrite(&f, sizeof(f), 1, acos_table_file);
|
ret = fwrite(&f, sizeof(f), 1, acos_table_file);
|
||||||
assert(ret != 0);
|
assert(ret != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ret = fclose(acos_table_file);
|
ret = fclose(acos_table_file);
|
||||||
assert(ret != EOF);
|
assert(ret != EOF);
|
||||||
}
|
}
|
||||||
|
@ -82,12 +80,12 @@ extern void init_fast_acosf(void)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if(acos_table == NULL){
|
if (acos_table == NULL) {
|
||||||
ret = access(ACOS_TABLE_FILENAME, F_OK);
|
ret = access(ACOS_TABLE_FILENAME, F_OK);
|
||||||
if(ret == 0) compute_table();
|
if(ret == 0) compute_table();
|
||||||
|
|
||||||
acos_fd = open(ACOS_TABLE_FILENAME, O_RDONLY);
|
acos_fd = open(ACOS_TABLE_FILENAME, O_RDONLY);
|
||||||
if(acos_fd == -1) perror("Could not open file " ACOS_TABLE_FILENAME);
|
if (acos_fd == -1) perror("Could not open file " ACOS_TABLE_FILENAME);
|
||||||
assert(acos_fd != -1);
|
assert(acos_fd != -1);
|
||||||
acos_table = (float *)mmap(
|
acos_table = (float *)mmap(
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -136,5 +134,3 @@ static float float_from_index(uint32_t d)
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -128,10 +128,10 @@ static switch_bool_t avmd_callback(switch_media_bug_t * bug, void *user_data, sw
|
||||||
static void init_avmd_session_data(avmd_session_t *avmd_session, switch_core_session_t *fs_session);
|
static void init_avmd_session_data(avmd_session_t *avmd_session, switch_core_session_t *fs_session);
|
||||||
|
|
||||||
|
|
||||||
/*! \brief The avmd session data initialization function
|
/*! \brief The avmd session data initialization function.
|
||||||
* @author Eric des Courtis
|
* @author Eric des Courtis
|
||||||
* @param avmd_session A reference to a avmd session
|
* @param avmd_session A reference to a avmd session.
|
||||||
* @param fs_session A reference to a FreeSWITCH session
|
* @param fs_session A reference to a FreeSWITCH session.
|
||||||
*/
|
*/
|
||||||
static void init_avmd_session_data(avmd_session_t *avmd_session, switch_core_session_t *fs_session)
|
static void init_avmd_session_data(avmd_session_t *avmd_session, switch_core_session_t *fs_session)
|
||||||
{
|
{
|
||||||
|
@ -159,7 +159,7 @@ static void init_avmd_session_data(avmd_session_t *avmd_session, switch_core_se
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*! \brief The callback function that is called when new audio data becomes available
|
/*! \brief The callback function that is called when new audio data becomes available.
|
||||||
*
|
*
|
||||||
* @author Eric des Courtis
|
* @author Eric des Courtis
|
||||||
* @param bug A reference to the media bug.
|
* @param bug A reference to the media bug.
|
||||||
|
@ -203,7 +203,7 @@ static switch_bool_t avmd_callback(switch_media_bug_t * bug, void *user_data, sw
|
||||||
return SWITCH_TRUE;
|
return SWITCH_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! \brief FreeSWITCH module loading function
|
/*! \brief FreeSWITCH module loading function.
|
||||||
*
|
*
|
||||||
* @author Eric des Courtis
|
* @author Eric des Courtis
|
||||||
* @return Load success or failure.
|
* @return Load success or failure.
|
||||||
|
@ -255,7 +255,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_avmd_load)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! \brief FreeSWITCH application handler function.
|
/*! \brief FreeSWITCH application handler function.
|
||||||
* This handles calls made from applications such as LUA and the dialplan
|
* This handles calls made from applications such as LUA and the dialplan.
|
||||||
*
|
*
|
||||||
* @author Eric des Courtis
|
* @author Eric des Courtis
|
||||||
* @return Success or failure of the function.
|
* @return Success or failure of the function.
|
||||||
|
@ -321,7 +321,7 @@ SWITCH_STANDARD_APP(avmd_start_function)
|
||||||
switch_channel_set_private(channel, "_avmd_", bug);
|
switch_channel_set_private(channel, "_avmd_", bug);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! \brief Called when the module shuts down
|
/*! \brief Called when the module shuts down.
|
||||||
*
|
*
|
||||||
* @author Eric des Courtis
|
* @author Eric des Courtis
|
||||||
* @return The success or failure of the function.
|
* @return The success or failure of the function.
|
||||||
|
@ -476,10 +476,10 @@ end:
|
||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! \brief Process one frame of data with avmd algorithm
|
/*! \brief Process one frame of data with avmd algorithm.
|
||||||
* @author Eric des Courtis
|
* @author Eric des Courtis
|
||||||
* @param session An avmd session
|
* @param session An avmd session.
|
||||||
* @param frame A audio frame
|
* @param frame An audio frame.
|
||||||
*/
|
*/
|
||||||
static void avmd_process(avmd_session_t *session, switch_frame_t *frame)
|
static void avmd_process(avmd_session_t *session, switch_frame_t *frame)
|
||||||
{
|
{
|
||||||
|
@ -506,9 +506,7 @@ static void avmd_process(avmd_session_t *session, switch_frame_t *frame)
|
||||||
b = &session->b;
|
b = &session->b;
|
||||||
|
|
||||||
/*! If beep has already been detected skip the CPU heavy stuff */
|
/*! If beep has already been detected skip the CPU heavy stuff */
|
||||||
if(session->state.beep_state == BEEP_DETECTED){
|
if (session->state.beep_state == BEEP_DETECTED) return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*! Precompute values used heavily in the inner loop */
|
/*! Precompute values used heavily in the inner loop */
|
||||||
sine_len_i = SINE_LEN(session->rate);
|
sine_len_i = SINE_LEN(session->rate);
|
||||||
|
@ -523,12 +521,12 @@ static void avmd_process(avmd_session_t *session, switch_frame_t *frame)
|
||||||
//switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session->session), SWITCH_LOG_INFO, "<<< AVMD sine_len_i=%d >>>\n", sine_len_i);
|
//switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session->session), SWITCH_LOG_INFO, "<<< AVMD sine_len_i=%d >>>\n", sine_len_i);
|
||||||
|
|
||||||
/*! INNER LOOP -- OPTIMIZATION TARGET */
|
/*! INNER LOOP -- OPTIMIZATION TARGET */
|
||||||
for(pos = session->pos; pos < (GET_CURRENT_POS(b) - P); pos++){
|
for (pos = session->pos; pos < (GET_CURRENT_POS(b) - P); pos++) {
|
||||||
if ((pos % sine_len_i) == 0) {
|
if ((pos % sine_len_i) == 0) {
|
||||||
/*! Get a desa2 frequency estimate every sine len */
|
/*! Get a desa2 frequency estimate every sine len */
|
||||||
f = desa2(b, pos);
|
f = desa2(b, pos);
|
||||||
|
|
||||||
if(f < MIN_FREQUENCY_R(session->rate) || f > MAX_FREQUENCY_R(session->rate)) {
|
if (f < MIN_FREQUENCY_R(session->rate) || f > MAX_FREQUENCY_R(session->rate)) {
|
||||||
v = 99999.0;
|
v = 99999.0;
|
||||||
RESET_SMA_BUFFER(&session->sma_b);
|
RESET_SMA_BUFFER(&session->sma_b);
|
||||||
RESET_SMA_BUFFER(&session->sqa_b);
|
RESET_SMA_BUFFER(&session->sqa_b);
|
||||||
|
@ -543,24 +541,20 @@ static void avmd_process(avmd_session_t *session, switch_frame_t *frame)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! If variance is less than threshold then we have detection */
|
/*! If variance is less than threshold then we have detection */
|
||||||
if(v < VARIANCE_THRESHOLD){
|
if (v < VARIANCE_THRESHOLD) {
|
||||||
|
|
||||||
switch_channel_set_variable_printf(channel, "avmd_total_time", "%d", (int)(switch_micro_time_now() - session->start_time) / 1000);
|
switch_channel_set_variable_printf(channel, "avmd_total_time", "%d", (int)(switch_micro_time_now() - session->start_time) / 1000);
|
||||||
switch_channel_execute_on(channel, "execute_on_avmd_beep");
|
switch_channel_execute_on(channel, "execute_on_avmd_beep");
|
||||||
|
|
||||||
/*! Throw an event to FreeSWITCH */
|
/*! Throw an event to FreeSWITCH */
|
||||||
status = switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, AVMD_EVENT_BEEP);
|
status = switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, AVMD_EVENT_BEEP);
|
||||||
if(status != SWITCH_STATUS_SUCCESS) {
|
if (status != SWITCH_STATUS_SUCCESS) return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Beep-Status", "stop");
|
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Beep-Status", "stop");
|
||||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session->session));
|
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Unique-ID", switch_core_session_get_uuid(session->session));
|
||||||
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-command", "avmd");
|
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-command", "avmd");
|
||||||
|
|
||||||
if ((switch_event_dup(&event_copy, event)) != SWITCH_STATUS_SUCCESS) {
|
if ((switch_event_dup(&event_copy, event)) != SWITCH_STATUS_SUCCESS) return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch_core_session_queue_event(session->session, &event);
|
switch_core_session_queue_event(session->session, &event);
|
||||||
switch_event_fire(&event_copy);
|
switch_event_fire(&event_copy);
|
||||||
|
|
Loading…
Reference in New Issue