mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-20 12:20:12 +00:00
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
This commit is contained in:
@@ -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);
|
||||
|
Reference in New Issue
Block a user