summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2010-12-30 18:20:47 -0800
committerDavid Schleef <ds@schleef.org>2010-12-30 18:39:21 -0800
commit57095d302d0daaf344aa6da261f638746cf62c1f (patch)
tree3c0a37bd1e82784c644f34afb9c144fe9a626876
parent5fed7a264c4c796c8e8e7ecc4e2ae893ecae111d (diff)
dtmf: build fixes for MSVC
Use gint16 and G_PI.
-rw-r--r--gst/dtmf/gstdtmfdetect.c2
-rw-r--r--gst/dtmf/tone_detect.c12
-rw-r--r--gst/dtmf/tone_detect.h6
3 files changed, 11 insertions, 9 deletions
diff --git a/gst/dtmf/gstdtmfdetect.c b/gst/dtmf/gstdtmfdetect.c
index 6fa17b5e4..0bb924264 100644
--- a/gst/dtmf/gstdtmfdetect.c
+++ b/gst/dtmf/gstdtmfdetect.c
@@ -172,13 +172,13 @@ gst_dtmf_detect_transform_ip (GstBaseTransform * trans, GstBuffer * buf)
if (GST_BUFFER_IS_DISCONT (buf))
zap_dtmf_detect_init (&self->dtmf_state);
if (GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_GAP))
return GST_FLOW_OK;
- zap_dtmf_detect (&self->dtmf_state, (int16_t *) GST_BUFFER_DATA (buf),
+ zap_dtmf_detect (&self->dtmf_state, (gint16 *) GST_BUFFER_DATA (buf),
GST_BUFFER_SIZE (buf) / 2, FALSE);
dtmf_count = zap_dtmf_get (&self->dtmf_state, dtmfbuf, MAX_DTMF_DIGITS);
if (dtmf_count)
GST_DEBUG_OBJECT (self, "Got %d DTMF events: %s", dtmf_count, dtmfbuf);
diff --git a/gst/dtmf/tone_detect.c b/gst/dtmf/tone_detect.c
index d8f1df16e..8c1b5ad95 100644
--- a/gst/dtmf/tone_detect.c
+++ b/gst/dtmf/tone_detect.c
@@ -196,39 +196,39 @@ zap_dtmf_detect_init (dtmf_detect_state_t * s)
int i;
float theta;
s->hit1 = s->hit2 = 0;
for (i = 0; i < 4; i++) {
- theta = 2.0 * M_PI * (dtmf_row[i] / SAMPLE_RATE);
+ theta = 2.0 * G_PI * (dtmf_row[i] / SAMPLE_RATE);
dtmf_detect_row[i].fac = 2.0 * cos (theta);
- theta = 2.0 * M_PI * (dtmf_col[i] / SAMPLE_RATE);
+ theta = 2.0 * G_PI * (dtmf_col[i] / SAMPLE_RATE);
dtmf_detect_col[i].fac = 2.0 * cos (theta);
- theta = 2.0 * M_PI * (dtmf_row[i] * 2.0 / SAMPLE_RATE);
+ theta = 2.0 * G_PI * (dtmf_row[i] * 2.0 / SAMPLE_RATE);
dtmf_detect_row_2nd[i].fac = 2.0 * cos (theta);
- theta = 2.0 * M_PI * (dtmf_col[i] * 2.0 / SAMPLE_RATE);
+ theta = 2.0 * G_PI * (dtmf_col[i] * 2.0 / SAMPLE_RATE);
dtmf_detect_col_2nd[i].fac = 2.0 * cos (theta);
goertzel_init (&s->row_out[i], &dtmf_detect_row[i]);
goertzel_init (&s->col_out[i], &dtmf_detect_col[i]);
goertzel_init (&s->row_out2nd[i], &dtmf_detect_row_2nd[i]);
goertzel_init (&s->col_out2nd[i], &dtmf_detect_col_2nd[i]);
s->energy = 0.0;
}
/* Same for the fax dector */
- theta = 2.0 * M_PI * (fax_freq / SAMPLE_RATE);
+ theta = 2.0 * G_PI * (fax_freq / SAMPLE_RATE);
fax_detect.fac = 2.0 * cos (theta);
goertzel_init (&s->fax_tone, &fax_detect);
/* Same for the fax dector 2nd harmonic */
- theta = 2.0 * M_PI * (fax_freq * 2.0 / SAMPLE_RATE);
+ theta = 2.0 * G_PI * (fax_freq * 2.0 / SAMPLE_RATE);
fax_detect_2nd.fac = 2.0 * cos (theta);
goertzel_init (&s->fax_tone2nd, &fax_detect_2nd);
s->current_sample = 0;
s->detected_digits = 0;
s->lost_digits = 0;
diff --git a/gst/dtmf/tone_detect.h b/gst/dtmf/tone_detect.h
index 909c5ef60..ce6dddd2c 100644
--- a/gst/dtmf/tone_detect.h
+++ b/gst/dtmf/tone_detect.h
@@ -32,12 +32,14 @@
#ifndef __TONE_DETECT_H__
#define __TONE_DETECT_H__
#include "_stdint.h"
+#include <glib.h>
+
typedef struct
{
float v2;
float v3;
float fac;
} goertzel_state_t;
@@ -72,19 +74,19 @@ typedef struct
typedef struct
{
float fac;
} tone_detection_descriptor_t;
void zap_goertzel_update(goertzel_state_t *s,
- int16_t x[],
+ gint16 x[],
int samples);
float zap_goertzel_result (goertzel_state_t *s);
void zap_dtmf_detect_init (dtmf_detect_state_t *s);
int zap_dtmf_detect (dtmf_detect_state_t *s,
- int16_t amp[],
+ gint16 amp[],
int samples,
int isradio);
int zap_dtmf_get (dtmf_detect_state_t *s,
char *buf,
int max);