blob: c28503ba94c14045ca4f6898a1a051fc4f21f656 [file] [log] [blame]
Tristan Matthews0a329cc2013-07-17 13:20:14 -04001/* $Id$ */
2/*
3 * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20#ifndef __PJMEDIA_ECHO_INTERNAL_H__
21#define __PJMEDIA_ECHO_INTERNAL_H__
22
23#include <pjmedia/types.h>
24
25PJ_BEGIN_DECL
26
27/*
28 * Simple echo suppressor
29 */
30PJ_DECL(pj_status_t) echo_supp_create(pj_pool_t *pool,
31 unsigned clock_rate,
32 unsigned channel_count,
33 unsigned samples_per_frame,
34 unsigned tail_ms,
35 unsigned options,
36 void **p_state );
37PJ_DECL(pj_status_t) echo_supp_destroy(void *state);
38PJ_DECL(void) echo_supp_reset(void *state);
39PJ_DECL(pj_status_t) echo_supp_cancel_echo(void *state,
40 pj_int16_t *rec_frm,
41 const pj_int16_t *play_frm,
42 unsigned options,
43 void *reserved );
44
45PJ_DECL(pj_status_t) speex_aec_create(pj_pool_t *pool,
46 unsigned clock_rate,
47 unsigned channel_count,
48 unsigned samples_per_frame,
49 unsigned tail_ms,
50 unsigned options,
51 void **p_state );
52PJ_DECL(pj_status_t) speex_aec_destroy(void *state );
53PJ_DECL(void) speex_aec_reset(void *state );
54PJ_DECL(pj_status_t) speex_aec_cancel_echo(void *state,
55 pj_int16_t *rec_frm,
56 const pj_int16_t *play_frm,
57 unsigned options,
58 void *reserved );
59
60PJ_DECL(pj_status_t) ipp_aec_create(pj_pool_t *pool,
61 unsigned clock_rate,
62 unsigned channel_count,
63 unsigned samples_per_frame,
64 unsigned tail_ms,
65 unsigned options,
66 void **p_echo );
67PJ_DECL(pj_status_t) ipp_aec_destroy(void *state );
68PJ_DECL(void) ipp_aec_reset(void *state );
69PJ_DECL(pj_status_t) ipp_aec_cancel_echo(void *state,
70 pj_int16_t *rec_frm,
71 const pj_int16_t *play_frm,
72 unsigned options,
73 void *reserved );
74
75
76PJ_END_DECL
77
78#endif
79