From 9821a5237ab3aa16eb0a6afdbf2ee36099ed25ba Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 29 Jan 2007 18:31:35 +0000 Subject: [PATCH] more tweaks git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4084 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/switch_loadable_module.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/switch_loadable_module.c b/src/switch_loadable_module.c index cdf3079a74..a77805634d 100644 --- a/src/switch_loadable_module.c +++ b/src/switch_loadable_module.c @@ -711,11 +711,23 @@ SWITCH_DECLARE(int) switch_loadable_module_get_codecs(switch_memory_pool_t *pool void *val; switch_codec_interface_t *codec_interface; int i = 0; + const switch_codec_implementation_t *imp; for (hi = switch_hash_first(pool, loadable_modules.codec_hash); hi; hi = switch_hash_next(hi)) { switch_hash_this(hi, NULL, NULL, &val); codec_interface = (switch_codec_interface_t *) val; + /* Look for a 20ms implementation because it's the safest choice */ + for (imp = codec_interface->implementations; imp; imp = imp->next) { + if (imp->microseconds_per_frame / 1000 == 20) { + array[i++] = imp; + goto found; + } + } + /* oh well we will use what we have */ array[i++] = codec_interface->implementations; + + found: + if (i > arraylen) { break; }