diff options
author | sobomax <sobomax@FreeBSD.org> | 2006-06-20 02:38:41 +0800 |
---|---|---|
committer | sobomax <sobomax@FreeBSD.org> | 2006-06-20 02:38:41 +0800 |
commit | 191153d353902e581de50e2146932a63b2cfd486 (patch) | |
tree | 0316872183436149a4f65e490de095b4a6ff0bd4 /net/asterisk12 | |
parent | b9e068027430d78c39164d8e1a89d0afbfc76dce (diff) | |
download | freebsd-ports-gnome-191153d353902e581de50e2146932a63b2cfd486.tar.gz freebsd-ports-gnome-191153d353902e581de50e2146932a63b2cfd486.tar.zst freebsd-ports-gnome-191153d353902e581de50e2146932a63b2cfd486.zip |
Merge in patch from Asterisk's ticket 7305. This patch should be part of the
next release.
Requested by: Denis Shaposhnikov <dsh@vlink.ru>
Diffstat (limited to 'net/asterisk12')
-rw-r--r-- | net/asterisk12/files/patch-asterisk.c | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/net/asterisk12/files/patch-asterisk.c b/net/asterisk12/files/patch-asterisk.c new file mode 100644 index 000000000000..fbd6dd4874c9 --- /dev/null +++ b/net/asterisk12/files/patch-asterisk.c @@ -0,0 +1,62 @@ + +$FreeBSD$ + +--- asterisk.c.orig ++++ asterisk.c +@@ -177,6 +177,7 @@ + int fully_booted = 0; + char record_cache_dir[AST_CACHE_DIR_LEN] = AST_TMP_DIR; + char debug_filename[AST_FILENAME_MAX] = ""; ++enum ast_trans_algorithm option_translation_algorithm = AST_TRANS_ALG_STRICT; + + static int ast_socket = -1; /*!< UNIX Socket for allowing remote control */ + static int ast_consock = -1; /*!< UNIX Socket for controlling another asterisk */ +@@ -1803,7 +1804,6 @@ + + if (option_exec && data) { /* hack to print output then exit if asterisk -rx is used */ + char tempchar; +-#ifdef __Darwin__ + struct pollfd fds[0]; + fds[0].fd = ast_consock; + fds[0].events = POLLIN; +@@ -1811,9 +1811,6 @@ + while (poll(fds, 1, 100) > 0) { + ast_el_read_char(el, &tempchar); + } +-#else +- while (!ast_el_read_char(el, &tempchar)); +-#endif + return; + } + for(;;) { +@@ -2009,6 +2006,30 @@ + ast_copy_string(ast_config_AST_RUN_GROUP, v->value, sizeof(ast_config_AST_RUN_GROUP)); + } + v = v->next; ++ } ++ option_translation_algorithm = AST_TRANS_ALG_STRICT; ++ for (v = ast_variable_browse(cfg, "codec_negotiation"); v; v = v->next) ++ { ++ if (!strcasecmp(v->name, "translation_algorithm")) { ++ if (!strcasecmp(v->value, "loose") || ++ !strcasecmp(v->value, "save_cpu") || ++ !strcasecmp(v->value, "avoid_translation") || ++ !strcasecmp(v->value, "asymmetric")) ++ { ++ option_translation_algorithm = AST_TRANS_ALG_LOOSE; ++ } ++/* ++ else if (!strcasecmp(v->value, "strict") || ++ !strcasecmp(v->value, "follow_peer") || ++ !strcasecmp(v->value, "avoid_asymmetry")) ++ { ++ option_translation_algorithm = AST_TRANS_ALG_STRICT; ++ } ++*/ ++ else { ++ option_translation_algorithm = AST_TRANS_ALG_STRICT; ++ } ++ } + } + ast_config_destroy(cfg); + } |