sync w/ libteletone changes from main repo

git-svn-id: http://svn.openzap.org/svn/openzap/trunk@394 a93c3328-9c30-0410-af19-c9cd2b2d52af
This commit is contained in:
Michael Jerris 2008-02-14 18:17:02 +00:00
parent 108bb09a12
commit 509593fc49
3 changed files with 15 additions and 1 deletions

View File

@ -74,6 +74,9 @@
#ifdef __cplusplus
extern "C" {
#endif
#include <math.h>
#define TELETONE_MAX_DTMF_DIGITS 128
#define TELETONE_MAX_TONES 6
#define TELETONE_TONE_RANGE 127
@ -101,6 +104,12 @@ typedef struct {
typedef __int16 int16_t;
#endif
#if (_MSC_VER >= 1400) // VC8+
#define teletone_assert(expr) assert(expr);__analysis_assume( expr )
#else
#define teletone_assert(expr) assert(expr)
#endif
#include <libteletone_generate.h>
#include <libteletone_detect.h>

View File

@ -432,6 +432,8 @@ int teletone_dtmf_get (teletone_dtmf_detect_state_t *dtmf_detect_state,
char *buf,
int max)
{
teletone_assert(dtmf_detect_state->current_digits <= TELETONE_MAX_DTMF_DIGITS);
if (max > dtmf_detect_state->current_digits) {
max = dtmf_detect_state->current_digits;
}

View File

@ -191,10 +191,13 @@ static int ensure_buffer(teletone_generation_session_t *ts, int need)
need *= ts->channels;
if (need > ts->datalen) {
teletone_audio_t *tmp;
ts->datalen = need + ts->dynamic;
if (!(ts->buffer = realloc(ts->buffer, ts->datalen))) {
tmp = realloc(ts->buffer, ts->datalen);
if (!tmp) {
return -1;
}
ts->buffer = tmp;
}
return 0;