[asterisk-commits] jpeeler: branch 1.4 r162874 - /branches/1.4/res/res_musiconhold.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Dec 10 16:04:18 CST 2008
Author: jpeeler
Date: Wed Dec 10 16:04:18 2008
New Revision: 162874
URL: http://svn.digium.com/view/asterisk?view=rev&rev=162874
Log:
(closes issue #13229)
Reported by: clegall_proformatique
Ensure that moh_generate does not return prematurely before local_ast_moh_stop is called. Also, the sleep in mp3_spawn now only occurs for http locations since it seems to have been added originally only for failing media streams.
Modified:
branches/1.4/res/res_musiconhold.c
Modified: branches/1.4/res/res_musiconhold.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/res/res_musiconhold.c?view=diff&rev=162874&r1=162873&r2=162874
==============================================================================
--- branches/1.4/res/res_musiconhold.c (original)
+++ branches/1.4/res/res_musiconhold.c Wed Dec 10 16:04:18 2008
@@ -371,7 +371,7 @@
files = 1;
} else {
dir = opendir(class->dir);
- if (!dir && !strstr(class->dir,"http://") && !strstr(class->dir,"HTTP://")) {
+ if (!dir && !strncasecmp(class->dir, "http://", 7)) {
ast_log(LOG_WARNING, "%s is not a valid directory\n", class->dir);
return -1;
}
@@ -414,8 +414,7 @@
}
}
-
- if (strstr(class->dir,"http://") || strstr(class->dir,"HTTP://")) {
+ if (!strncasecmp(class->dir, "http://", 7)) {
ast_copy_string(fns[files], class->dir, sizeof(fns[files]));
argv[argc++] = fns[files];
files++;
@@ -446,7 +445,7 @@
close(fds[1]);
return -1;
}
- if (time(NULL) - class->start < respawn_time) {
+ if (!strncasecmp(class->dir, "http://", 7) && time(NULL) - class->start < respawn_time) {
sleep(respawn_time - (time(NULL) - class->start));
}
@@ -743,8 +742,9 @@
short buf[1280 + AST_FRIENDLY_OFFSET / 2];
int res;
- if (!moh->parent->pid)
- return -1;
+ if (!moh->parent->pid && moh->parent->inuse == 0) {
+ return -1;
+ }
len = ast_codec_get_len(moh->parent->format, samples);
More information about the asterisk-commits
mailing list