paec.h

Go to the documentation of this file.
00001 /*
00002  * paec.h
00003  *
00004  * Open Phone Abstraction Library (OPAL)
00005  * Formally known as the Open H323 project.
00006  *
00007  * Copyright (c) 2004 Post Increment
00008  *
00009  * The contents of this file are subject to the Mozilla Public License
00010  * Version 1.0 (the "License"); you may not use this file except in
00011  * compliance with the License. You may obtain a copy of the License at
00012  * http://www.mozilla.org/MPL/
00013  *
00014  * Software distributed under the License is distributed on an "AS IS"
00015  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
00016  * the License for the specific language governing rights and limitations
00017  * under the License.
00018  *
00019  * The Original Code is Open Phone Abstraction Library.
00020  *
00021  * The author of this code is Damien Sandras
00022  *
00023  * rewritten amd made generic ptlib by Simon Horne
00024  *
00025  * Contributor(s): Miguel Rodriguez Perez
00026  *
00027  * $Log: paec.h,v $
00028  * Revision 1.2  2006/02/26 09:27:49  shorne
00029  * Renamed AEC class name, moved to seperate library
00030  *
00031  * Revision 1.1  2006/01/26 08:05:03  shorne
00032  * Added AEC support
00033  *
00034  */
00035 
00036 #ifndef __OPAL_ECHOCANCEL_H
00037 #define __OPAL_ECHOCANCEL_H
00038 
00039 #ifdef P_USE_PRAGMA
00040 #pragma interface
00041 #endif
00042 
00043 #include <ptclib/qchannel.h>
00044 
00053 struct SpeexEchoState;
00054 struct SpeexPreprocessState;
00055 class PAec : public PObject
00056 {
00057   PCLASSINFO(PAec, PObject);
00058 public:
00059 
00064      PAec();
00065      ~PAec();
00067 
00072     void Send(BYTE * buffer, unsigned & length);
00073 
00076     void Receive(BYTE * buffer, unsigned & length);
00078 
00079 protected:
00080 
00081   PQueueChannel *echo_chan;
00082   SpeexEchoState *echoState;
00083   SpeexPreprocessState *preprocessState;
00084   short *ref_buf;
00085   short *echo_buf;
00086   short *e_buf;
00087   float *noise;
00088 
00089 };
00090 
00091 #endif // __OPAL_ECHOCANCEL_H
00092 

Generated on Fri Feb 29 13:37:10 2008 for PWLib by  doxygen 1.5.5