blob: 6806a71d42ed99915a3d3ac726b2b83ece546a34 [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_AEC_PORT_H__
21#define __PJMEDIA_AEC_PORT_H__
22
23/**
24 * @file echo_port.h
25 * @brief AEC (Accoustic Echo Cancellation) media port.
26 */
27#include <pjmedia/port.h>
28
29
30
31/**
32 * @defgroup PJMEDIA_ECHO_PORT Echo Cancellation Port
33 * @ingroup PJMEDIA_PORT
34 * @brief Echo Cancellation
35 * @{
36 *
37 * Wrapper to \ref PJMEDIA_Echo_Cancel into media port interface.
38 */
39
40
41PJ_BEGIN_DECL
42
43
44/**
45 * Create echo canceller port.
46 *
47 * @param pool Pool to allocate memory.
48 * @param dn_port Downstream port.
49 * @param tail_ms Tail length in miliseconds.
50 * @param latency_ms Total lacency introduced by playback and
51 * recording device. Set to zero if the latency
52 * is not known.
53 * @param options Options, as in #pjmedia_echo_create().
54 * @param p_port Pointer to receive the port instance.
55 *
56 * @return PJ_SUCCESS on success.
57 */
58PJ_DECL(pj_status_t) pjmedia_echo_port_create(pj_pool_t *pool,
59 pjmedia_port *dn_port,
60 unsigned tail_ms,
61 unsigned latency_ms,
62 unsigned options,
63 pjmedia_port **p_port );
64
65
66
67PJ_END_DECL
68
69/**
70 * @}
71 */
72
73
74#endif /* __PJMEDIA_AEC_PORT_H__ */