From c6c9311fcca4a926cf0821ff7ecac3febe6ed479 Mon Sep 17 00:00:00 2001 From: Andrey Volk Date: Wed, 28 Jun 2023 19:13:50 +0300 Subject: [PATCH] Unsorted changes --- libs/miniupnpc/miniupnpc.c | 2 ++ libs/xmlrpc-c/include/xmlrpc-c/string_int.h | 5 ----- libs/xmlrpc-c/lib/abyss/src/server.c | 3 --- libs/xmlrpc-c/lib/abyss/src/thread_fork.c | 4 ---- libs/xmlrpc-c/lib/libutil/asprintf.c | 3 --- .../applications/mod_conference/conference_api.c | 4 +++- .../applications/mod_conference/conference_cdr.c | 2 +- src/mod/applications/mod_dptools/mod_dptools.c | 2 ++ src/mod/endpoints/mod_sofia/mod_sofia.c | 5 +++++ src/mod/endpoints/mod_sofia/sip-dig.c | 9 +++++++-- src/mod/endpoints/mod_sofia/sofia_presence.c | 2 ++ src/mod/endpoints/mod_verto/mod_verto.c | 7 ++++++- .../mod_event_socket/mod_event_socket.c | 16 +++++++++------- src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c | 4 ++-- src/switch_core_media.c | 16 +++++++++++++--- src/switch_event.c | 2 ++ src/switch_ivr_play_say.c | 5 +++++ src/switch_loadable_module.c | 3 ++- src/switch_rtp.c | 3 +++ src/switch_time.c | 5 +++-- src/switch_utils.c | 3 +++ 21 files changed, 70 insertions(+), 35 deletions(-) diff --git a/libs/miniupnpc/miniupnpc.c b/libs/miniupnpc/miniupnpc.c index a72ef892b6..88faea1c37 100644 --- a/libs/miniupnpc/miniupnpc.c +++ b/libs/miniupnpc/miniupnpc.c @@ -679,6 +679,7 @@ UPNP_GetValidIGD(struct UPNPDev * devlist, char * descXML; int descXMLsize = 0; struct UPNPDev * dev; + int ndev = 0; int state; /* state 1 : IGD connected. State 2 : IGD. State 3 : anything */ if(!devlist) { @@ -697,6 +698,7 @@ UPNP_GetValidIGD(struct UPNPDev * devlist, lanaddr, lanaddrlen); if(descXML) { + ndev++; memset(data, 0, sizeof(struct IGDdatas)); memset(urls, 0, sizeof(struct UPNPUrls)); parserootdesc(descXML, descXMLsize, data); diff --git a/libs/xmlrpc-c/include/xmlrpc-c/string_int.h b/libs/xmlrpc-c/include/xmlrpc-c/string_int.h index a0cc58605f..04ac8c782b 100644 --- a/libs/xmlrpc-c/include/xmlrpc-c/string_int.h +++ b/libs/xmlrpc-c/include/xmlrpc-c/string_int.h @@ -3,12 +3,7 @@ #include - -#ifdef __APPLE__ -#include -#else #include -#endif #include "xmlrpc_config.h" #include "c_util.h" diff --git a/libs/xmlrpc-c/lib/abyss/src/server.c b/libs/xmlrpc-c/lib/abyss/src/server.c index ca05011b83..6337dcfd78 100644 --- a/libs/xmlrpc-c/lib/abyss/src/server.c +++ b/libs/xmlrpc-c/lib/abyss/src/server.c @@ -1,9 +1,6 @@ /* Copyright information is at end of file */ #define _XOPEN_SOURCE 600 /* Make sure strdup() is in */ -#ifdef __APPLE__ -#define _DARWIN_C_SOURCE -#endif #define _BSD_SOURCE /* Make sure setgroups()is in */ #ifndef _DEFAULT_SOURCE #define _DEFAULT_SOURCE diff --git a/libs/xmlrpc-c/lib/abyss/src/thread_fork.c b/libs/xmlrpc-c/lib/abyss/src/thread_fork.c index 7ea382918a..d96bf59eb1 100644 --- a/libs/xmlrpc-c/lib/abyss/src/thread_fork.c +++ b/libs/xmlrpc-c/lib/abyss/src/thread_fork.c @@ -3,11 +3,7 @@ #include #include #include -#ifdef __APPLE__ -#include -#else #include -#endif #include #include "xmlrpc_config.h" diff --git a/libs/xmlrpc-c/lib/libutil/asprintf.c b/libs/xmlrpc-c/lib/libutil/asprintf.c index f078518bb5..b52523065a 100644 --- a/libs/xmlrpc-c/lib/libutil/asprintf.c +++ b/libs/xmlrpc-c/lib/libutil/asprintf.c @@ -1,7 +1,4 @@ #define _XOPEN_SOURCE 600 /* Make sure strdup() is in */ -#ifdef __APPLE__ -#define _DARWIN_C_SOURCE -#endif #ifndef _GNU_SOURCE #define _GNU_SOURCE /* But only when HAVE_ASPRINTF */ #endif diff --git a/src/mod/applications/mod_conference/conference_api.c b/src/mod/applications/mod_conference/conference_api.c index 7e566367fb..8bcfc5862f 100644 --- a/src/mod/applications/mod_conference/conference_api.c +++ b/src/mod/applications/mod_conference/conference_api.c @@ -4087,6 +4087,7 @@ switch_status_t conference_api_sub_set(conference_obj_t *conference, switch_status_t conference_api_sub_xml_list(conference_obj_t *conference, switch_stream_handle_t *stream, int argc, char **argv) { + int count = 0; switch_hash_index_t *hi; void *val; switch_xml_t x_conference, x_conferences; @@ -4105,6 +4106,7 @@ switch_status_t conference_api_sub_xml_list(conference_obj_t *conference, switch x_conference = switch_xml_add_child_d(x_conferences, "conference", off++); switch_assert(conference); + count++; conference_xlist(conference, x_conference, off); } @@ -4112,7 +4114,7 @@ switch_status_t conference_api_sub_xml_list(conference_obj_t *conference, switch } else { x_conference = switch_xml_add_child_d(x_conferences, "conference", off++); switch_assert(conference); - + count++; conference_xlist(conference, x_conference, off); } diff --git a/src/mod/applications/mod_conference/conference_cdr.c b/src/mod/applications/mod_conference/conference_cdr.c index 33decf25aa..b6eb630540 100644 --- a/src/mod/applications/mod_conference/conference_cdr.c +++ b/src/mod/applications/mod_conference/conference_cdr.c @@ -737,7 +737,7 @@ void conference_cdr_render(conference_obj_t *conference) #endif int wrote; wrote = write(fd, xml_text, (unsigned) strlen(xml_text)); - (void)wrote; + wrote++; close(fd); } else { char ebuf[512] = { 0 }; diff --git a/src/mod/applications/mod_dptools/mod_dptools.c b/src/mod/applications/mod_dptools/mod_dptools.c index f52b1184e5..e91ec53d47 100644 --- a/src/mod/applications/mod_dptools/mod_dptools.c +++ b/src/mod/applications/mod_dptools/mod_dptools.c @@ -161,6 +161,7 @@ static switch_status_t digit_action_callback(switch_ivr_dmachine_match_t *match) char *string = NULL; switch_channel_t *channel; switch_core_session_t *use_session = act->session; + int x = 0; char *flags = ""; if (act->target == DIGIT_TARGET_PEER || act->target == DIGIT_TARGET_BOTH) { @@ -170,6 +171,7 @@ static switch_status_t digit_action_callback(switch_ivr_dmachine_match_t *match) } top: + x++; string = switch_core_session_strdup(use_session, act->string); exec = 0; diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.c b/src/mod/endpoints/mod_sofia/mod_sofia.c index f58bb40ac0..9255c02664 100644 --- a/src/mod/endpoints/mod_sofia/mod_sofia.c +++ b/src/mod/endpoints/mod_sofia/mod_sofia.c @@ -3255,6 +3255,8 @@ static switch_status_t cmd_xml_status(char **argv, int argc, switch_stream_handl switch_hash_index_t *hi; void *val; const void *vvar; + int c = 0; + int ac = 0; const char *header = ""; if (argc > 0) { @@ -3464,6 +3466,7 @@ static switch_status_t cmd_xml_status(char **argv, int argc, switch_stream_handl if (sofia_test_pflag(profile, PFLAG_RUNNING)) { if (strcmp(vvar, profile->name)) { + ac++; stream->write_function(stream, "\n%s\n%s\n%s\n%s\n\n", vvar, "alias", profile->name, "ALIASED"); } else { @@ -3489,6 +3492,8 @@ static switch_status_t cmd_xml_status(char **argv, int argc, switch_stream_handl profile->inuse); } + c++; + for (gp = profile->gateways; gp; gp = gp->next) { switch_assert(gp->state < REG_STATE_LAST); stream->write_function(stream, "\n%s\n%s\n%s\n%s\n\n", diff --git a/src/mod/endpoints/mod_sofia/sip-dig.c b/src/mod/endpoints/mod_sofia/sip-dig.c index 10a0a26763..c9a6f5b463 100644 --- a/src/mod/endpoints/mod_sofia/sip-dig.c +++ b/src/mod/endpoints/mod_sofia/sip-dig.c @@ -82,6 +82,9 @@ *
-6
*
Query IP6 addresses (AAAA records). *
+ *
-v
+ *
Be verbatim. + *
*
*
*
@@ -198,7 +201,7 @@ switch_bool_t verify_ip(sres_record_t **answers, const char *ip, switch_bool_t i switch_status_t sip_dig_function(_In_opt_z_ const char *cmd, _In_opt_ switch_core_session_t *session, _In_ switch_stream_handle_t *stream) { - int o_sctp = 1, o_tls_sctp = 1; + int o_sctp = 1, o_tls_sctp = 1, o_verbatim = 1; int family = 0, multiple = 0; char const *string; url_t *uri = NULL; @@ -244,7 +247,9 @@ switch_status_t sip_dig_function(_In_opt_z_ const char *cmd, _In_opt_ switch_cor } while (argv[i] && argv[i][0] == '-') { - if (strcmp(argv[i], "-6") == 0) { + if (strcmp(argv[i], "-v") == 0) { + o_verbatim++; + } else if (strcmp(argv[i], "-6") == 0) { dig->ip6 = ++family; } else if (strcmp(argv[i], "-4") == 0) { dig->ip4 = ++family; diff --git a/src/mod/endpoints/mod_sofia/sofia_presence.c b/src/mod/endpoints/mod_sofia/sofia_presence.c index 579cea83e2..b8576ae7f5 100644 --- a/src/mod/endpoints/mod_sofia/sofia_presence.c +++ b/src/mod/endpoints/mod_sofia/sofia_presence.c @@ -1621,6 +1621,7 @@ void *SWITCH_THREAD_FUNC sofia_presence_event_thread_run(switch_thread_t *thread switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "Event Thread Started\n"); while (mod_sofia_globals.running == 1) { + int count = 0; if (switch_queue_pop(mod_sofia_globals.presence_queue, &pop) == SWITCH_STATUS_SUCCESS) { switch_event_t *event = (switch_event_t *) pop; @@ -1655,6 +1656,7 @@ void *SWITCH_THREAD_FUNC sofia_presence_event_thread_run(switch_thread_t *thread } switch_event_destroy(&event); + count++; } } diff --git a/src/mod/endpoints/mod_verto/mod_verto.c b/src/mod/endpoints/mod_verto/mod_verto.c index 9423d03c28..0f23f21abc 100644 --- a/src/mod/endpoints/mod_verto/mod_verto.c +++ b/src/mod/endpoints/mod_verto/mod_verto.c @@ -823,6 +823,7 @@ static void set_perm(const char *str, switch_event_t **event, switch_bool_t add) { char delim = ','; char *cur, *next; + int count = 0; char *edup; if (!zstr(str)) { @@ -843,7 +844,7 @@ static void set_perm(const char *str, switch_event_t **event, switch_bool_t add) delim = ' '; } - for (cur = edup; cur;) { + for (cur = edup; cur; count++) { if ((next = strchr(cur, delim))) { *next++ = '\0'; } @@ -5578,6 +5579,8 @@ static switch_status_t cmd_xml_status(char **argv, int argc, switch_stream_handl { verto_profile_t *profile = NULL; jsock_t *jsock; + int cp = 0; + int cc = 0; const char *header = ""; int i; @@ -5591,12 +5594,14 @@ static switch_status_t cmd_xml_status(char **argv, int argc, switch_stream_handl stream->write_function(stream, "\n%s\n%s\n%s\n%s\n\n", profile->name, "profile", tmpurl, (profile->running) ? "RUNNING" : "DOWN"); switch_safe_free(tmpurl); } + cp++; switch_mutex_lock(profile->mutex); for(jsock = profile->jsock_head; jsock; jsock = jsock->next) { char *tmpname = switch_mprintf("%s@%s", jsock->id, jsock->domain); stream->write_function(stream, "\n%s\n%s\n%s\n%s\n%s (%s)\n\n", profile->name, tmpname, "client", jsock->name, (!zstr(jsock->uid)) ? "CONN_REG" : "CONN_NO_REG", (jsock->ptype & PTYPE_CLIENT_SSL) ? "WSS": "WS"); + cc++; switch_safe_free(tmpname); } switch_mutex_unlock(profile->mutex); diff --git a/src/mod/event_handlers/mod_event_socket/mod_event_socket.c b/src/mod/event_handlers/mod_event_socket/mod_event_socket.c index 520bd92ac7..70331a95e2 100644 --- a/src/mod/event_handlers/mod_event_socket/mod_event_socket.c +++ b/src/mod/event_handlers/mod_event_socket/mod_event_socket.c @@ -866,7 +866,7 @@ SWITCH_STANDARD_API(event_sink_function) char *loglevel = switch_event_get_header(stream->param_event, "loglevel"); switch_memory_pool_t *pool; char *next, *cur; - uint32_t key_count = 0; + uint32_t count = 0, key_count = 0; uint8_t custom = 0; char *edup; @@ -925,7 +925,7 @@ SWITCH_STANDARD_API(event_sink_function) delim = ' '; } - for (cur = edup; cur;) { + for (cur = edup; cur; count++) { switch_event_types_t type; if ((next = strchr(cur, delim))) { @@ -1846,7 +1846,7 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t **even if (allowed_events) { char delim = ','; char *cur, *next; - int custom = 0; + int count = 0, custom = 0, key_count = 0; switch_set_flag(listener, LFLAG_AUTH_EVENTS); @@ -1862,7 +1862,7 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t **even delim = ' '; } - for (cur = edup; cur;) { + for (cur = edup; cur; count++) { switch_event_types_t type; if ((next = strchr(cur, delim))) { @@ -1872,6 +1872,7 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t **even if (custom) { switch_core_hash_insert(listener->allowed_event_hash, cur, MARKER); } else if (switch_name_event(cur, &type) == SWITCH_STATUS_SUCCESS) { + key_count++; if (type == SWITCH_EVENT_ALL) { uint32_t x = 0; switch_set_flag(listener, LFLAG_ALL_EVENTS_AUTHED); @@ -1903,6 +1904,7 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t **even if (allowed_api) { char delim = ','; char *cur, *next; + int count = 0; switch_snprintf(api_reply, sizeof(api_reply), "Allowed-API: %s\n", allowed_api); @@ -1914,7 +1916,7 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t **even delim = ' '; } - for (cur = edup; cur;) { + for (cur = edup; cur; count++) { if ((next = strchr(cur, delim))) { *next++ = '\0'; } @@ -2538,14 +2540,14 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t **even } else if (!strncasecmp(cmd, "nixevent", 8)) { char *next, *cur; - uint32_t key_count = 0; + uint32_t count = 0, key_count = 0; uint8_t custom = 0; strip_cr(cmd); cur = cmd + 8; if ((cur = strchr(cur, ' '))) { - for (cur++; cur;) { + for (cur++; cur; count++) { switch_event_types_t type; if ((next = strchr(cur, ' '))) { diff --git a/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c b/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c index 8a6efbf544..da038ff37f 100644 --- a/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c +++ b/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c @@ -254,7 +254,7 @@ static switch_status_t my_on_reporting(switch_core_session_t *session) #endif int wrote; wrote = write(fd, xml_text, (unsigned) strlen(xml_text)); - (void)wrote; + wrote++; close(fd); } else { char ebuf[512] = { 0 }; @@ -427,7 +427,7 @@ static switch_status_t my_on_reporting(switch_core_session_t *session) #endif int wrote; wrote = write(fd, xml_text, (unsigned) strlen(xml_text)); - (void)wrote; + wrote++; close(fd); } else { char ebuf[512] = { 0 }; diff --git a/src/switch_core_media.c b/src/switch_core_media.c index e75387581d..60cc3d531c 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -4762,7 +4762,7 @@ SWITCH_DECLARE(uint8_t) switch_core_media_negotiate_sdp(switch_core_session_t *s switch_channel_t *channel = switch_core_session_get_channel(session); const char *val; const char *crypto = NULL; - int got_crypto = 0, got_video_crypto = 0, got_audio = 0, saw_audio = 0, saw_video = 0, got_avp = 0, got_savp = 0, got_udptl = 0, got_webrtc = 0, got_text = 0, got_text_crypto = 0, got_msrp = 0; + int got_crypto = 0, got_video_crypto = 0, got_audio = 0, saw_audio = 0, saw_video = 0, got_avp = 0, got_video_avp = 0, got_video_savp = 0, got_savp = 0, got_udptl = 0, got_webrtc = 0, got_text = 0, got_text_crypto = 0, got_msrp = 0; int scrooge = 0; sdp_parser_t *parser = NULL; sdp_session_t *sdp; @@ -4958,10 +4958,14 @@ SWITCH_DECLARE(uint8_t) switch_core_media_negotiate_sdp(switch_core_session_t *s if (m->m_proto == sdp_proto_srtp || m->m_proto == sdp_proto_extended_srtp) { if (m->m_type == sdp_media_audio) { got_savp++; + } else { + got_video_savp++; } } else if (m->m_proto == sdp_proto_rtp) { if (m->m_type == sdp_media_audio) { got_avp++; + } else { + got_video_avp++; } } else if (m->m_proto == sdp_proto_udptl) { got_udptl++; @@ -7402,7 +7406,7 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi switch_status_t status; switch_frame_t *read_frame = NULL; switch_media_handle_t *smh; - uint32_t loops = 0, xloops = 0; + uint32_t loops = 0, xloops = 0, vloops = 0; switch_image_t *blank_img = NULL; switch_frame_t fr = { 0 }; unsigned char *buf = NULL; @@ -7527,6 +7531,8 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi continue; } + vloops++; + send_blank = blank_enabled || switch_channel_test_flag(channel, CF_VIDEO_ECHO); if (switch_channel_test_flag(channel, CF_VIDEO_READY) && !switch_test_flag(read_frame, SFF_CNG)) { @@ -14237,7 +14243,7 @@ SWITCH_DECLARE(char *) switch_core_media_filter_sdp(const char *sdp_str, const c switch_size_t len; const char *i; char *o; - int in_m = 0, slash = 0; + int in_m = 0, m_tally = 0, slash = 0; int number = 0, skip = 0; int remove = !strcasecmp(cmd, "remove"); int only = !strcasecmp(cmd, "only"); @@ -14271,6 +14277,7 @@ SWITCH_DECLARE(char *) switch_core_media_filter_sdp(const char *sdp_str, const c if (*i == 'm' && *(i+1) == '=') { in_m = 1; + m_tally++; } if (in_m) { @@ -14974,6 +14981,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core { switch_status_t status = SWITCH_STATUS_FALSE; switch_io_event_hook_video_read_frame_t *ptr; + uint32_t loops = 0; switch_media_handle_t *smh; int is_keyframe = 0; @@ -14985,6 +14993,8 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core top: + loops++; + if (switch_channel_down_nosig(session->channel)) { return SWITCH_STATUS_FALSE; } diff --git a/src/switch_event.c b/src/switch_event.c index 272255d31c..be49f2fc14 100644 --- a/src/switch_event.c +++ b/src/switch_event.c @@ -651,6 +651,7 @@ SWITCH_DECLARE(void) switch_event_launch_dispatch_threads(uint32_t max) { switch_threadattr_t *thd_attr; uint32_t index = 0; + int launched = 0; uint32_t sanity = 200; switch_memory_pool_t *pool = RUNTIME_POOL; @@ -681,6 +682,7 @@ SWITCH_DECLARE(void) switch_event_launch_dispatch_threads(uint32_t max) } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Create additional event dispatch thread %d\n", index); } + launched++; } SOFT_MAX_DISPATCH = index; diff --git a/src/switch_ivr_play_say.c b/src/switch_ivr_play_say.c index 33f3a4e51a..25486eee7f 100644 --- a/src/switch_ivr_play_say.c +++ b/src/switch_ivr_play_say.c @@ -1271,6 +1271,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_play_file(switch_core_session_t *sess int sleep_val_i = 250; int eof = 0; switch_size_t bread = 0; + int l16 = 0; switch_codec_implementation_t read_impl = { 0 }; char *file_dup; char *argv[128] = { 0 }; @@ -1333,6 +1334,10 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_play_file(switch_core_session_t *sess arg_recursion_check_start(args); + if (!zstr(read_impl.iananame) && !strcasecmp(read_impl.iananame, "l16")) { + l16++; + } + if (play_delimiter) { file_dup = switch_core_session_strdup(session, file); argc = switch_separate_string(file_dup, play_delimiter, argv, (sizeof(argv) / sizeof(argv[0]))); diff --git a/src/switch_loadable_module.c b/src/switch_loadable_module.c index 0964943aca..f782e89f6e 100644 --- a/src/switch_loadable_module.c +++ b/src/switch_loadable_module.c @@ -115,11 +115,12 @@ static void *SWITCH_THREAD_FUNC switch_loadable_module_exec(switch_thread_t *thr switch_status_t status = SWITCH_STATUS_SUCCESS; switch_core_thread_session_t *ts = obj; switch_loadable_module_t *module = ts->objs[0]; + int restarts; switch_assert(thread != NULL); switch_assert(module != NULL); - for (; status != SWITCH_STATUS_TERM && !module->shutting_down;) { + for (restarts = 0; status != SWITCH_STATUS_TERM && !module->shutting_down; restarts++) { status = module->switch_module_runtime(); } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Thread ended for %s\n", module->module_interface->module_name); diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 91e1fca823..4ca07010d1 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -5494,6 +5494,7 @@ static switch_size_t do_flush(switch_rtp_t *rtp_session, int force, switch_size_ { int was_blocking = 0; switch_size_t bytes; + uint32_t flushed = 0; switch_size_t bytes_out = 0; if (!switch_rtp_ready(rtp_session)) { @@ -5575,6 +5576,8 @@ static switch_size_t do_flush(switch_rtp_t *rtp_session, int force, switch_size_ #endif } + flushed++; + rtp_session->stats.inbound.raw_bytes += bytes; rtp_session->stats.inbound.flush_packet_count++; rtp_session->stats.inbound.packet_count++; diff --git a/src/switch_time.c b/src/switch_time.c index a56c5e96f1..445e698f9b 100644 --- a/src/switch_time.c +++ b/src/switch_time.c @@ -1173,8 +1173,9 @@ SWITCH_MODULE_RUNTIME_FUNCTION(softtimer_runtime) } else { if (tfd > -1 && globals.RUNNING == 1) { uint64_t exp; - read(tfd, &exp, sizeof(exp)); - (void)exp; + int r; + r = read(tfd, &exp, sizeof(exp)); + r++; } else { switch_time_t timediff = runtime.reference - ts; diff --git a/src/switch_utils.c b/src/switch_utils.c index 332137ebda..d8b830943a 100644 --- a/src/switch_utils.c +++ b/src/switch_utils.c @@ -139,10 +139,13 @@ struct switch_frame_buffer_s { static switch_frame_t *find_free_frame(switch_frame_buffer_t *fb, switch_frame_t *orig) { switch_frame_node_t *np; + int x = 0; switch_mutex_lock(fb->mutex); for (np = fb->head; np; np = np->next) { + x++; + if (!np->inuse && ((orig->packet && np->frame->packet) || (!orig->packet && !np->frame->packet))) { if (np == fb->head) {