opalwavfile.h

Go to the documentation of this file.
00001 /*
00002  * OpalWavFile.h
00003  *
00004  * WAV file class with auto-PCM conversion
00005  *
00006  * OpenH323 Library
00007  *
00008  * Copyright (c) 2002 Equivalence Pty. Ltd.
00009  *
00010  * The contents of this file are subject to the Mozilla Public License
00011  * Version 1.0 (the "License"); you may not use this file except in
00012  * compliance with the License. You may obtain a copy of the License at
00013  * http://www.mozilla.org/MPL/
00014  *
00015  * Software distributed under the License is distributed on an "AS IS"
00016  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
00017  * the License for the specific language governing rights and limitations
00018  * under the License.
00019  *
00020  * The Original Code is Open H323 Library.
00021  *
00022  * Contributor(s): ______________________________________.
00023  *
00024  * $Log: opalwavfile.h,v $
00025  * Revision 2.6  2006/02/13 03:46:16  csoutheren
00026  * Added initialisation stuff to make sure that everything works OK
00027  *
00028  * Revision 2.5  2005/11/30 13:35:26  csoutheren
00029  * Changed tags for Doxygen
00030  *
00031  * Revision 2.4  2004/07/15 12:19:22  rjongbloed
00032  * Various enhancements to the VXML code
00033  *
00034  * Revision 2.3  2002/11/10 11:33:16  robertj
00035  * Updated to OpenH323 v1.10.3
00036  *
00037  * Revision 2.2  2002/09/16 02:52:33  robertj
00038  * Added #define so can select if #pragma interface/implementation is used on
00039  *   platform basis (eg MacOS) rather than compiler, thanks Robert Monaghan.
00040  *
00041  * Revision 2.1  2002/09/06 07:18:44  robertj
00042  * OPAL port.
00043  *
00044  * Revision 1.6  2004/07/15 11:13:49  rjongbloed
00045  * Migrated changes from crs_vxnml_devel branch into main trunk
00046  *
00047  * Revision 1.5.6.1  2004/07/07 07:10:11  csoutheren
00048  * Changed to use new factory based PWAVFile
00049  * Removed redundant blocking/unblocking when using G.723.1
00050  *
00051  * Revision 1.5  2002/09/16 01:14:15  robertj
00052  * Added #define so can select if #pragma interface/implementation is used on
00053  *   platform basis (eg MacOS) rather than compiler, thanks Robert Monaghan.
00054  *
00055  * Revision 1.4  2002/09/06 06:20:37  robertj
00056  * More cosmetic changes
00057  *
00058  * Revision 1.3  2002/08/08 13:00:02  craigs
00059  * Remove unused definition of LastReadCount thanks to Peter 'Luna' Runestig
00060  *
00061  * Revision 1.2  2002/08/05 10:03:47  robertj
00062  * Cosmetic changes to normalise the usage of pragma interface/implementation.
00063  *
00064  * Revision 1.1  2002/06/20 01:21:03  craigs
00065  * Initial version
00066  *
00067  */
00068 
00069 #ifndef __OPALWAVFILE_H
00070 #define __OPALWAVFILE_H
00071 
00072 #ifdef P_USE_PRAGMA
00073 #pragma interface
00074 #endif
00075 
00076 
00077 #include <ptclib/pwavfile.h>
00078 
00079 namespace PWLibStupidLinkerHacks {
00080   extern int opalwavfileLoader;
00081 };
00082 
00091 class OpalWAVFile : public PWAVFile
00092 {
00093   PCLASSINFO(OpalWAVFile, PWAVFile);
00094   public:
00095     OpalWAVFile(
00096       unsigned format = fmt_PCM 
00097     );
00098 
00111     OpalWAVFile(
00112       OpenMode mode,            
00113       int opts = ModeDefault,   
00114       unsigned format = fmt_PCM 
00115     );
00116 
00126     OpalWAVFile(
00127       const PFilePath & name,     
00128       OpenMode mode = ReadWrite,  
00129       int opts = ModeDefault,     
00130       unsigned format = fmt_PCM 
00131     );
00132 };
00133 
00134 #endif // __OPALWAVFILE_H
00135 
00136 
00137 // End of File ///////////////////////////////////////////////////////////////

Generated on Fri Mar 7 06:33:40 2008 for OPAL by  doxygen 1.5.1