mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 11:58:52 +00:00
Asterisk:
#72 - Should eliminate probs on VMWI #41 - Dynamic add survives reload #73 - Make festival honor its arguments #93 - Make events on FXO interfaces more logical #26 - Prefer "bindaddr" to logical address for registrations ??? - Record crashes AGI git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -452,13 +452,13 @@ static int handle_recordfile(struct ast_channel *chan, AGI *agi, int argc, char
|
|||||||
int res = 0;
|
int res = 0;
|
||||||
int ms;
|
int ms;
|
||||||
|
|
||||||
struct ast_dsp *sildet; /* silence detector dsp */
|
struct ast_dsp *sildet=NULL; /* silence detector dsp */
|
||||||
int totalsilence = 0;
|
int totalsilence = 0;
|
||||||
int dspsilence = 0;
|
int dspsilence = 0;
|
||||||
int silence = 0; /* amount of silence to allow */
|
int silence = 0; /* amount of silence to allow */
|
||||||
int gotsilence = 0; /* did we timeout for silence? */
|
int gotsilence = 0; /* did we timeout for silence? */
|
||||||
char *silencestr;
|
char *silencestr=NULL;
|
||||||
int rfmt;
|
int rfmt=0;
|
||||||
|
|
||||||
|
|
||||||
/* XXX EAGI FIXME XXX */
|
/* XXX EAGI FIXME XXX */
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
|
|
||||||
|
@@ -48,7 +48,7 @@ static char *synopsis = "Say text to the user";
|
|||||||
static char *descrip =
|
static char *descrip =
|
||||||
" Festival(text[|intkeys]): Connect to Festival, send the argument, get back the waveform,"
|
" Festival(text[|intkeys]): Connect to Festival, send the argument, get back the waveform,"
|
||||||
"play it to the user, allowing any given interrupt keys to immediately terminate and return\n"
|
"play it to the user, allowing any given interrupt keys to immediately terminate and return\n"
|
||||||
"the value.\n";
|
"the value, or 'any' to allow any number back (useful in dialplan)\n";
|
||||||
|
|
||||||
STANDARD_LOCAL_USER;
|
STANDARD_LOCAL_USER;
|
||||||
|
|
||||||
@@ -122,7 +122,7 @@ static int send_waveform_to_fd(char *waveform, int length, int fd) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int send_waveform_to_channel(struct ast_channel *chan, char *waveform, int length) {
|
static int send_waveform_to_channel(struct ast_channel *chan, char *waveform, int length, char *intkeys) {
|
||||||
int res=0;
|
int res=0;
|
||||||
int fds[2];
|
int fds[2];
|
||||||
int ms = -1;
|
int ms = -1;
|
||||||
@@ -170,9 +170,11 @@ static int send_waveform_to_channel(struct ast_channel *chan, char *waveform, in
|
|||||||
}
|
}
|
||||||
if (f->frametype == AST_FRAME_DTMF) {
|
if (f->frametype == AST_FRAME_DTMF) {
|
||||||
ast_log(LOG_DEBUG, "User pressed a key\n");
|
ast_log(LOG_DEBUG, "User pressed a key\n");
|
||||||
ast_frfree(f);
|
if (strchr(intkeys, f->subclass)) {
|
||||||
res = 0;
|
res = f->subclass;
|
||||||
break;
|
ast_frfree(f);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (f->frametype == AST_FRAME_VOICE) {
|
if (f->frametype == AST_FRAME_VOICE) {
|
||||||
/* Treat as a generator */
|
/* Treat as a generator */
|
||||||
@@ -224,7 +226,7 @@ static int send_waveform_to_channel(struct ast_channel *chan, char *waveform, in
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int festival_exec(struct ast_channel *chan, void *data)
|
static int festival_exec(struct ast_channel *chan, void *vdata)
|
||||||
{
|
{
|
||||||
int usecache;
|
int usecache;
|
||||||
int res=0;
|
int res=0;
|
||||||
@@ -253,9 +255,11 @@ static int festival_exec(struct ast_channel *chan, void *data)
|
|||||||
int readcache=0;
|
int readcache=0;
|
||||||
int writecache=0;
|
int writecache=0;
|
||||||
int strln;
|
int strln;
|
||||||
int fdesc;
|
int fdesc = -1;
|
||||||
char buffer[16384];
|
char buffer[16384];
|
||||||
int seekpos;
|
int seekpos = 0;
|
||||||
|
char data[256] = "";
|
||||||
|
char *intstr;
|
||||||
|
|
||||||
struct ast_config *cfg;
|
struct ast_config *cfg;
|
||||||
cfg = ast_load(FESTIVAL_CONFIG);
|
cfg = ast_load(FESTIVAL_CONFIG);
|
||||||
@@ -285,10 +289,17 @@ static int festival_exec(struct ast_channel *chan, void *data)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (!data) {
|
if (!vdata || !strlen(vdata)) {
|
||||||
ast_log(LOG_WARNING, "festival requires an argument (text)\n");
|
ast_log(LOG_WARNING, "festival requires an argument (text)\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
strncpy(data, vdata, sizeof(data) - 1);
|
||||||
|
if ((intstr = strchr(data, '|'))) {
|
||||||
|
*intstr = '\0';
|
||||||
|
intstr++;
|
||||||
|
if (!strcasecmp(intstr, "any"))
|
||||||
|
intstr = AST_DIGIT_ANY;
|
||||||
|
}
|
||||||
LOCAL_USER_ADD(u);
|
LOCAL_USER_ADD(u);
|
||||||
ast_log(LOG_WARNING, "Text passed to festival server : %s\n",(char *)data);
|
ast_log(LOG_WARNING, "Text passed to festival server : %s\n",(char *)data);
|
||||||
/* Connect to local festival server */
|
/* Connect to local festival server */
|
||||||
@@ -398,7 +409,7 @@ static int festival_exec(struct ast_channel *chan, void *data)
|
|||||||
if (strcmp(ack,"WV\n") == 0) { /* receive a waveform */
|
if (strcmp(ack,"WV\n") == 0) { /* receive a waveform */
|
||||||
ast_log(LOG_WARNING,"Festival WV command");
|
ast_log(LOG_WARNING,"Festival WV command");
|
||||||
waveform = socket_receive_file_to_buff(fd,&filesize);
|
waveform = socket_receive_file_to_buff(fd,&filesize);
|
||||||
send_waveform_to_channel(chan,waveform,filesize);
|
send_waveform_to_channel(chan,waveform,filesize, intstr);
|
||||||
free(waveform);
|
free(waveform);
|
||||||
res=0;
|
res=0;
|
||||||
break;
|
break;
|
||||||
|
@@ -140,6 +140,7 @@ struct member {
|
|||||||
char loc[256]; /* Location */
|
char loc[256]; /* Location */
|
||||||
int penalty; /* Are we a last resort? */
|
int penalty; /* Are we a last resort? */
|
||||||
int calls;
|
int calls;
|
||||||
|
int dynamic; /* Are we dynamically added? */
|
||||||
time_t lastcall; /* When last successful call was hungup */
|
time_t lastcall; /* When last successful call was hungup */
|
||||||
struct member *next; /* Next member */
|
struct member *next; /* Next member */
|
||||||
};
|
};
|
||||||
@@ -245,14 +246,22 @@ ast_log(LOG_NOTICE, "Queue '%s' Join, Channel '%s', Position '%d'\n", q->name, q
|
|||||||
|
|
||||||
static void free_members(struct ast_call_queue *q)
|
static void free_members(struct ast_call_queue *q)
|
||||||
{
|
{
|
||||||
struct member *curm, *next;
|
/* Free non-dynamic members */
|
||||||
|
struct member *curm, *next, *prev;
|
||||||
curm = q->members;
|
curm = q->members;
|
||||||
|
prev = NULL;
|
||||||
while(curm) {
|
while(curm) {
|
||||||
next = curm->next;
|
next = curm->next;
|
||||||
free(curm);
|
if (!curm->dynamic) {
|
||||||
|
if (prev)
|
||||||
|
prev->next = next;
|
||||||
|
else
|
||||||
|
q->members = next;
|
||||||
|
free(curm);
|
||||||
|
} else
|
||||||
|
prev = curm;
|
||||||
curm = next;
|
curm = next;
|
||||||
}
|
}
|
||||||
q->members = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void destroy_queue(struct ast_call_queue *q)
|
static void destroy_queue(struct ast_call_queue *q)
|
||||||
@@ -1044,9 +1053,10 @@ static int aqm_exec(struct ast_channel *chan, void *data)
|
|||||||
save = q->members ;
|
save = q->members ;
|
||||||
q->members = create_queue_node( interface ) ;
|
q->members = create_queue_node( interface ) ;
|
||||||
|
|
||||||
if( q->members != NULL )
|
if( q->members != NULL ) {
|
||||||
|
q->members->dynamic = 1;
|
||||||
q->members->next = save ;
|
q->members->next = save ;
|
||||||
else
|
} else
|
||||||
q->members = save ;
|
q->members = save ;
|
||||||
|
|
||||||
ast_log(LOG_NOTICE, "Added interface '%s' to queue '%s'\n", interface, queuename);
|
ast_log(LOG_NOTICE, "Added interface '%s' to queue '%s'\n", interface, queuename);
|
||||||
@@ -1182,7 +1192,6 @@ static void reload_queues(void)
|
|||||||
/* Mark all queues as dead for the moment */
|
/* Mark all queues as dead for the moment */
|
||||||
q = queues;
|
q = queues;
|
||||||
while(q) {
|
while(q) {
|
||||||
q->dead = 1;
|
|
||||||
q = q->next;
|
q = q->next;
|
||||||
}
|
}
|
||||||
/* Chug through config file */
|
/* Chug through config file */
|
||||||
@@ -1340,9 +1349,11 @@ static int queues_show(int fd, int argc, char **argv)
|
|||||||
ast_cli(fd, " Members: \n");
|
ast_cli(fd, " Members: \n");
|
||||||
for (mem = q->members; mem; mem = mem->next) {
|
for (mem = q->members; mem; mem = mem->next) {
|
||||||
if (mem->penalty)
|
if (mem->penalty)
|
||||||
snprintf(max, sizeof(max), " with penalty %d", mem->penalty);
|
snprintf(max, sizeof(max) - 20, " with penalty %d", mem->penalty);
|
||||||
else
|
else
|
||||||
strcpy(max, "");
|
strcpy(max, "");
|
||||||
|
if (mem->dynamic)
|
||||||
|
strcat(max, " (dynamic)");
|
||||||
if (mem->calls) {
|
if (mem->calls) {
|
||||||
snprintf(calls, sizeof(calls), " has taken %d calls (last was %ld secs ago)",
|
snprintf(calls, sizeof(calls), " has taken %d calls (last was %ld secs ago)",
|
||||||
mem->calls, time(NULL) - mem->lastcall);
|
mem->calls, time(NULL) - mem->lastcall);
|
||||||
|
@@ -1793,7 +1793,6 @@ forward_message(struct ast_channel *chan, char *context, char *dir, int curmsg,
|
|||||||
if ((res = ast_readstring(chan, username, sizeof(username) - 1, 2000, 10000, "#") < 0))
|
if ((res = ast_readstring(chan, username, sizeof(username) - 1, 2000, 10000, "#") < 0))
|
||||||
break;
|
break;
|
||||||
if ((receiver = find_user(&srec, context, username))) {
|
if ((receiver = find_user(&srec, context, username))) {
|
||||||
printf("Got %d\n", atoi(username));
|
|
||||||
/* if (play_and_wait(chan, "vm-savedto"))
|
/* if (play_and_wait(chan, "vm-savedto"))
|
||||||
break;
|
break;
|
||||||
*/
|
*/
|
||||||
|
@@ -2833,6 +2833,9 @@ static int transmit_register(struct sip_registry *r, char *cmd, char *auth)
|
|||||||
strncpy(p->peername, r->username, sizeof(p->peername)-1);
|
strncpy(p->peername, r->username, sizeof(p->peername)-1);
|
||||||
strncpy(p->username, r->username, sizeof(p->username)-1);
|
strncpy(p->username, r->username, sizeof(p->username)-1);
|
||||||
strncpy(p->exten, r->contact, sizeof(p->exten) - 1);
|
strncpy(p->exten, r->contact, sizeof(p->exten) - 1);
|
||||||
|
/* Always bind to our IP if specified */
|
||||||
|
if (bindaddr.sin_addr.s_addr)
|
||||||
|
memcpy(&p->ourip, &bindaddr.sin_addr, sizeof(p->ourip));
|
||||||
build_contact(p);
|
build_contact(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -4348,7 +4348,7 @@ static int handle_init_event(struct zt_pvt *i, int event)
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* Check for callerid, digits, etc */
|
/* Check for callerid, digits, etc */
|
||||||
chan = zt_new(i, AST_STATE_DOWN, 0, SUB_REAL, 0);
|
chan = zt_new(i, AST_STATE_RESERVED, 0, SUB_REAL, 0);
|
||||||
if (chan) {
|
if (chan) {
|
||||||
if (has_voicemail(i))
|
if (has_voicemail(i))
|
||||||
#ifdef ZT_TONE_STUTTER
|
#ifdef ZT_TONE_STUTTER
|
||||||
@@ -4560,7 +4560,7 @@ static void *do_monitor(void *data)
|
|||||||
if (last->msgstate != res) {
|
if (last->msgstate != res) {
|
||||||
int x;
|
int x;
|
||||||
ast_log(LOG_DEBUG, "Message status for %s changed from %d to %d on %d\n", last->mailbox, last->msgstate, res, last->channel);
|
ast_log(LOG_DEBUG, "Message status for %s changed from %d to %d on %d\n", last->mailbox, last->msgstate, res, last->channel);
|
||||||
x = ZT_FLUSH_WRITE;
|
x = ZT_FLUSH_BOTH;
|
||||||
res2 = ioctl(last->subs[SUB_REAL].zfd, ZT_FLUSH, &x);
|
res2 = ioctl(last->subs[SUB_REAL].zfd, ZT_FLUSH, &x);
|
||||||
if (res2)
|
if (res2)
|
||||||
ast_log(LOG_WARNING, "Unable to flush input on channel %d\n", last->channel);
|
ast_log(LOG_WARNING, "Unable to flush input on channel %d\n", last->channel);
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
******************************************************************/
|
******************************************************************/
|
||||||
|
|
||||||
#include "iLBC_define.h"
|
#include "iLBC_define.h"
|
||||||
|
#include "FrameClassify.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* Classification of subframes to localize start state
|
* Classification of subframes to localize start state
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
#include "lsf.h"
|
#include "lsf.h"
|
||||||
#include "iLBC_define.h"
|
#include "iLBC_define.h"
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
|
#include "LPCdecode.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* interpolation of lsf coefficients for the decoder
|
* interpolation of lsf coefficients for the decoder
|
||||||
|
@@ -17,12 +17,13 @@
|
|||||||
#include "helpfun.h"
|
#include "helpfun.h"
|
||||||
#include "lsf.h"
|
#include "lsf.h"
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
|
#include "LPCencode.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* lpc analysis (subrutine to LPCencode)
|
* lpc analysis (subrutine to LPCencode)
|
||||||
*---------------------------------------------------------------*/
|
*---------------------------------------------------------------*/
|
||||||
|
|
||||||
void SimpleAnalysis(
|
static void SimpleAnalysis(
|
||||||
float *lsf, /* (o) lsf coefficients */
|
float *lsf, /* (o) lsf coefficients */
|
||||||
float *data, /* (i) new data vector */
|
float *data, /* (i) new data vector */
|
||||||
float *lpc_buffer /* (i) buffer containing old data */
|
float *lpc_buffer /* (i) buffer containing old data */
|
||||||
@@ -63,7 +64,7 @@ void SimpleAnalysis(
|
|||||||
* (subrutine to SimpleInterpolateLSF)
|
* (subrutine to SimpleInterpolateLSF)
|
||||||
*---------------------------------------------------------------*/
|
*---------------------------------------------------------------*/
|
||||||
|
|
||||||
void LSFinterpolate2a_enc(
|
static void LSFinterpolate2a_enc(
|
||||||
float *a, /* (o) lpc coefficients */
|
float *a, /* (o) lpc coefficients */
|
||||||
float *lsf1,/* (i) first set of lsf coefficients */
|
float *lsf1,/* (i) first set of lsf coefficients */
|
||||||
float *lsf2,/* (i) second set of lsf coefficients */
|
float *lsf2,/* (i) second set of lsf coefficients */
|
||||||
@@ -81,7 +82,7 @@ void LSFinterpolate2a_enc(
|
|||||||
* lsf interpolator (subrutine to LPCencode)
|
* lsf interpolator (subrutine to LPCencode)
|
||||||
*---------------------------------------------------------------*/
|
*---------------------------------------------------------------*/
|
||||||
|
|
||||||
void SimpleInterpolateLSF(
|
static void SimpleInterpolateLSF(
|
||||||
float *syntdenum, /* (o) the synthesis filter denominator
|
float *syntdenum, /* (o) the synthesis filter denominator
|
||||||
resulting from the quantized
|
resulting from the quantized
|
||||||
interpolated lsf */
|
interpolated lsf */
|
||||||
@@ -138,7 +139,7 @@ void SimpleInterpolateLSF(
|
|||||||
* lsf quantizer (subrutine to LPCencode)
|
* lsf quantizer (subrutine to LPCencode)
|
||||||
*---------------------------------------------------------------*/
|
*---------------------------------------------------------------*/
|
||||||
|
|
||||||
void SimplelsfQ(
|
static void SimplelsfQ(
|
||||||
float *lsfdeq, /* (o) dequantized lsf coefficients
|
float *lsfdeq, /* (o) dequantized lsf coefficients
|
||||||
(dimension FILTERORDER) */
|
(dimension FILTERORDER) */
|
||||||
int *index, /* (o) quantization index */
|
int *index, /* (o) quantization index */
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
#include "iLBC_define.h"
|
#include "iLBC_define.h"
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
#include "filter.h"
|
#include "filter.h"
|
||||||
|
#include "StateConstructW.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* decoding of the start state
|
* decoding of the start state
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
#include "filter.h"
|
#include "filter.h"
|
||||||
#include "helpfun.h"
|
#include "helpfun.h"
|
||||||
|
#include "StateSearchW.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* predictive noise shaping encoding of scaled start state
|
* predictive noise shaping encoding of scaled start state
|
||||||
|
@@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "iLBC_define.h"
|
#include "iLBC_define.h"
|
||||||
|
#include "anaFilter.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* LP analysis filter.
|
* LP analysis filter.
|
||||||
|
@@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
#include "iLBC_define.h"
|
#include "iLBC_define.h"
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
|
#include "createCB.h"
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
|
@@ -15,13 +15,14 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "iLBC_define.h"
|
#include "iLBC_define.h"
|
||||||
|
#include "doCPLC.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* Compute cross correlation and pitch gain for pitch prediction
|
* Compute cross correlation and pitch gain for pitch prediction
|
||||||
* of last subframe at given lag.
|
* of last subframe at given lag.
|
||||||
*---------------------------------------------------------------*/
|
*---------------------------------------------------------------*/
|
||||||
|
|
||||||
void compCorr(
|
static void compCorr(
|
||||||
float *cc, /* (o) cross correlation coefficient */
|
float *cc, /* (o) cross correlation coefficient */
|
||||||
float *gc, /* (o) gain */
|
float *gc, /* (o) gain */
|
||||||
float *buffer, /* (i) signal buffer */
|
float *buffer, /* (i) signal buffer */
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
#include "iLBC_define.h"
|
#include "iLBC_define.h"
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
#include "filter.h"
|
#include "filter.h"
|
||||||
|
#include "enhancer.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* Find index in array such that the array element with said
|
* Find index in array such that the array element with said
|
||||||
@@ -23,7 +24,7 @@
|
|||||||
* according to the squared-error criterion
|
* according to the squared-error criterion
|
||||||
*---------------------------------------------------------------*/
|
*---------------------------------------------------------------*/
|
||||||
|
|
||||||
void NearestNeighbor(
|
static void NearestNeighbor(
|
||||||
int *index, /* (o) index of array element closest to value */
|
int *index, /* (o) index of array element closest to value */
|
||||||
float *array, /* (i) data array */
|
float *array, /* (i) data array */
|
||||||
float value,/* (i) value */
|
float value,/* (i) value */
|
||||||
@@ -50,7 +51,7 @@ void NearestNeighbor(
|
|||||||
* compute cross correlation between sequences
|
* compute cross correlation between sequences
|
||||||
*---------------------------------------------------------------*/
|
*---------------------------------------------------------------*/
|
||||||
|
|
||||||
void mycorr1(
|
static void mycorr1(
|
||||||
float* corr, /* (o) correlation of seq1 and seq2 */
|
float* corr, /* (o) correlation of seq1 and seq2 */
|
||||||
float* seq1, /* (i) first sequence */
|
float* seq1, /* (i) first sequence */
|
||||||
int dim1, /* (i) dimension first seq1 */
|
int dim1, /* (i) dimension first seq1 */
|
||||||
@@ -71,7 +72,7 @@ void mycorr1(
|
|||||||
* upsample finite array assuming zeros outside bounds
|
* upsample finite array assuming zeros outside bounds
|
||||||
*---------------------------------------------------------------*/
|
*---------------------------------------------------------------*/
|
||||||
|
|
||||||
void enh_upsample(
|
static void enh_upsample(
|
||||||
float* useq1, /* (o) upsampled output sequence */
|
float* useq1, /* (o) upsampled output sequence */
|
||||||
float* seq1,/* (i) unupsampled sequence */
|
float* seq1,/* (i) unupsampled sequence */
|
||||||
int dim1, /* (i) dimension seq1 */
|
int dim1, /* (i) dimension seq1 */
|
||||||
@@ -153,7 +154,7 @@ void enh_upsample(
|
|||||||
* sampling rate
|
* sampling rate
|
||||||
*---------------------------------------------------------------*/
|
*---------------------------------------------------------------*/
|
||||||
|
|
||||||
void refiner(
|
static void refiner(
|
||||||
float *seg, /* (o) segment array */
|
float *seg, /* (o) segment array */
|
||||||
float *updStartPos, /* (o) updated start point */
|
float *updStartPos, /* (o) updated start point */
|
||||||
float* idata, /* (i) original data buffer */
|
float* idata, /* (i) original data buffer */
|
||||||
@@ -240,7 +241,7 @@ void refiner(
|
|||||||
* find the smoothed output data
|
* find the smoothed output data
|
||||||
*---------------------------------------------------------------*/
|
*---------------------------------------------------------------*/
|
||||||
|
|
||||||
void smath(
|
static void smath(
|
||||||
float *odata, /* (o) smoothed output */
|
float *odata, /* (o) smoothed output */
|
||||||
float *sseq,/* (i) said second sequence of waveforms */
|
float *sseq,/* (i) said second sequence of waveforms */
|
||||||
int hl, /* (i) 2*hl+1 is sseq dimension */
|
int hl, /* (i) 2*hl+1 is sseq dimension */
|
||||||
@@ -335,7 +336,7 @@ void smath(
|
|||||||
* get the pitch-synchronous sample sequence
|
* get the pitch-synchronous sample sequence
|
||||||
*---------------------------------------------------------------*/
|
*---------------------------------------------------------------*/
|
||||||
|
|
||||||
void getsseq(
|
static void getsseq(
|
||||||
float *sseq, /* (o) the pitch-synchronous sequence */
|
float *sseq, /* (o) the pitch-synchronous sequence */
|
||||||
float *idata, /* (i) original data */
|
float *idata, /* (i) original data */
|
||||||
int idatal, /* (i) dimension of data */
|
int idatal, /* (i) dimension of data */
|
||||||
@@ -411,7 +412,7 @@ void getsseq(
|
|||||||
* idata+centerStartPos+ENH_BLOCKL-1
|
* idata+centerStartPos+ENH_BLOCKL-1
|
||||||
*---------------------------------------------------------------*/
|
*---------------------------------------------------------------*/
|
||||||
|
|
||||||
void enhancer(
|
static void enhancer(
|
||||||
float *odata, /* (o) smoothed block, dimension blockl */
|
float *odata, /* (o) smoothed block, dimension blockl */
|
||||||
float *idata, /* (i) data buffer used for enhancing */
|
float *idata, /* (i) data buffer used for enhancing */
|
||||||
int idatal, /* (i) dimension idata */
|
int idatal, /* (i) dimension idata */
|
||||||
|
@@ -12,7 +12,8 @@
|
|||||||
******************************************************************/
|
******************************************************************/
|
||||||
|
|
||||||
#include "iLBC_define.h"
|
#include "iLBC_define.h"
|
||||||
|
#include "filter.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* all-pole filter
|
* all-pole filter
|
||||||
*---------------------------------------------------------------*/
|
*---------------------------------------------------------------*/
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
#include "filter.h"
|
#include "filter.h"
|
||||||
|
#include "gainquant.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* quantizer for the gain in the gain-shape coding of residual
|
* quantizer for the gain in the gain-shape coding of residual
|
||||||
|
@@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
#include "iLBC_define.h"
|
#include "iLBC_define.h"
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
|
#include "getCBvec.h"
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
|
@@ -14,6 +14,7 @@
|
|||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#include "iLBC_define.h"
|
#include "iLBC_define.h"
|
||||||
|
#include "helpfun.h"
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
******************************************************************/
|
******************************************************************/
|
||||||
|
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
|
#include "hpInput.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* Input high-pass filter
|
* Input high-pass filter
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
******************************************************************/
|
******************************************************************/
|
||||||
|
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
|
#include "hpOutput.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* Output high-pass filter
|
* Output high-pass filter
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
#include "iLBC_define.h"
|
#include "iLBC_define.h"
|
||||||
#include "gainquant.h"
|
#include "gainquant.h"
|
||||||
#include "getCBvec.h"
|
#include "getCBvec.h"
|
||||||
|
#include "iCBConstruct.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* Convert the codebook indexes to make the search easier
|
* Convert the codebook indexes to make the search easier
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "iLBC_define.h"
|
#include "iLBC_define.h"
|
||||||
|
#include "iCBSearch.h"
|
||||||
#include "gainquant.h"
|
#include "gainquant.h"
|
||||||
#include "createCB.h"
|
#include "createCB.h"
|
||||||
#include "filter.h"
|
#include "filter.h"
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
#include "helpfun.h"
|
#include "helpfun.h"
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
#include "packing.h"
|
#include "packing.h"
|
||||||
|
#include "iLBC_decode.h"
|
||||||
#include "string.h"
|
#include "string.h"
|
||||||
#include "enhancer.h"
|
#include "enhancer.h"
|
||||||
#include "hpOutput.h"
|
#include "hpOutput.h"
|
||||||
@@ -78,7 +79,7 @@ short initDecode( /* (o) Number of decoded
|
|||||||
* frame residual decoder function (subrutine to iLBC_decode)
|
* frame residual decoder function (subrutine to iLBC_decode)
|
||||||
*---------------------------------------------------------------*/
|
*---------------------------------------------------------------*/
|
||||||
|
|
||||||
void Decode(
|
static void Decode(
|
||||||
float *decresidual, /* (o) decoded residual frame */
|
float *decresidual, /* (o) decoded residual frame */
|
||||||
int start, /* (i) location of start state */
|
int start, /* (i) location of start state */
|
||||||
int idxForMax, /* (i) codebook index for the maximum
|
int idxForMax, /* (i) codebook index for the maximum
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
#include "helpfun.h"
|
#include "helpfun.h"
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
#include "packing.h"
|
#include "packing.h"
|
||||||
|
#include "iLBC_encode.h"
|
||||||
#include "iCBSearch.h"
|
#include "iCBSearch.h"
|
||||||
#include "iCBConstruct.h"
|
#include "iCBConstruct.h"
|
||||||
#include "hpInput.h"
|
#include "hpInput.h"
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#include "iLBC_define.h"
|
#include "iLBC_define.h"
|
||||||
|
#include "lsf.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* conversion from lpc coefficients to lsf coefficients
|
* conversion from lpc coefficients to lsf coefficients
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
#include "helpfun.h"
|
#include "helpfun.h"
|
||||||
#include "string.h"
|
#include "string.h"
|
||||||
|
#include "packing.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* splitting an integer into first most significant bits and
|
* splitting an integer into first most significant bits and
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
******************************************************************/
|
******************************************************************/
|
||||||
|
|
||||||
#include "iLBC_define.h"
|
#include "iLBC_define.h"
|
||||||
|
#include "syntFilter.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------*
|
/*----------------------------------------------------------------*
|
||||||
* LP synthesis filter.
|
* LP synthesis filter.
|
||||||
|
@@ -93,7 +93,7 @@ static int cleanup(void *useless)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void __verboser(char *stuff, int opos, int replacelast, int complete)
|
static void __verboser(const char *stuff, int opos, int replacelast, int complete)
|
||||||
{
|
{
|
||||||
char *s2[2];
|
char *s2[2];
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
@@ -123,7 +123,7 @@ static void __verboser(char *stuff, int opos, int replacelast, int complete)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void verboser(char *stuff, int opos, int replacelast, int complete)
|
static void verboser(const char *stuff, int opos, int replacelast, int complete)
|
||||||
{
|
{
|
||||||
ast_mutex_lock(&verb_lock);
|
ast_mutex_lock(&verb_lock);
|
||||||
/* Lock appropriately if we're really being called in verbose mode */
|
/* Lock appropriately if we're really being called in verbose mode */
|
||||||
|
Reference in New Issue
Block a user