Modify how Playtones() is used in Milliwatt() to resolve gain issue.

When Milliwatt() was changed internally to use Playtones() so that the proper
tone was used, it introduced a drop in gain in the output signal.  So, use
the playtones API directly and specify a volume argument such that the output
matches the gain of the original Milliwatt() code.

(closes issue #15386)
Reported by: rue_mohr
Patches:
      issue_15386.rev2.diff uploaded by russell (license 2)
Tested by: rue_mohr


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@209838 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Russell Bryant 16 years ago
parent b5bea3704c
commit a687e8c53f

@ -38,6 +38,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <limits.h>
#include "asterisk/lock.h"
#include "asterisk/file.h"
@ -46,6 +47,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/utils.h"
#include "asterisk/indications.h"
static char *app = "Milliwatt";
@ -145,7 +147,6 @@ static int old_milliwatt_exec(struct ast_channel *chan)
static int milliwatt_exec(struct ast_channel *chan, void *data)
{
const char *options = data;
struct ast_app *playtones_app;
struct ast_module_user *u;
int res = -1;
@ -156,12 +157,7 @@ static int milliwatt_exec(struct ast_channel *chan, void *data)
goto exit_app;
}
if (!(playtones_app = pbx_findapp("Playtones"))) {
ast_log(LOG_ERROR, "The Playtones application is required to run Milliwatt()\n");
goto exit_app;
}
res = pbx_exec(chan, playtones_app, "1004/1000");
res = ast_playtones_start(chan, 23255, "1004/1000", 0);
while (!res) {
res = ast_safe_sleep(chan, 10000);

Loading…
Cancel
Save