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.5.2.1  2006/02/13 11:49:28  csoutheren
00026  * Backported H.235 and initialisation fixes from CVS head
00027  *
00028  * Revision 2.6  2006/02/13 03:46:16  csoutheren
00029  * Added initialisation stuff to make sure that everything works OK
00030  *
00031  * Revision 2.5  2005/11/30 13:35:26  csoutheren
00032  * Changed tags for Doxygen
00033  *
00034  * Revision 2.4  2004/07/15 12:19:22  rjongbloed
00035  * Various enhancements to the VXML code
00036  *
00037  * Revision 2.3  2002/11/10 11:33:16  robertj
00038  * Updated to OpenH323 v1.10.3
00039  *
00040  * Revision 2.2  2002/09/16 02:52:33  robertj
00041  * Added #define so can select if #pragma interface/implementation is used on
00042  *   platform basis (eg MacOS) rather than compiler, thanks Robert Monaghan.
00043  *
00044  * Revision 2.1  2002/09/06 07:18:44  robertj
00045  * OPAL port.
00046  *
00047  * Revision 1.6  2004/07/15 11:13:49  rjongbloed
00048  * Migrated changes from crs_vxnml_devel branch into main trunk
00049  *
00050  * Revision 1.5.6.1  2004/07/07 07:10:11  csoutheren
00051  * Changed to use new factory based PWAVFile
00052  * Removed redundant blocking/unblocking when using G.723.1
00053  *
00054  * Revision 1.5  2002/09/16 01:14:15  robertj
00055  * Added #define so can select if #pragma interface/implementation is used on
00056  *   platform basis (eg MacOS) rather than compiler, thanks Robert Monaghan.
00057  *
00058  * Revision 1.4  2002/09/06 06:20:37  robertj
00059  * More cosmetic changes
00060  *
00061  * Revision 1.3  2002/08/08 13:00:02  craigs
00062  * Remove unused definition of LastReadCount thanks to Peter 'Luna' Runestig
00063  *
00064  * Revision 1.2  2002/08/05 10:03:47  robertj
00065  * Cosmetic changes to normalise the usage of pragma interface/implementation.
00066  *
00067  * Revision 1.1  2002/06/20 01:21:03  craigs
00068  * Initial version
00069  *
00070  */
00071 
00072 #ifndef __OPALWAVFILE_H
00073 #define __OPALWAVFILE_H
00074 
00075 #ifdef P_USE_PRAGMA
00076 #pragma interface
00077 #endif
00078 
00079 
00080 #include <ptclib/pwavfile.h>
00081 
00082 namespace PWLibStupidLinkerHacks {
00083   extern int opalwavfileLoader;
00084 };
00085 
00094 class OpalWAVFile : public PWAVFile
00095 {
00096   PCLASSINFO(OpalWAVFile, PWAVFile);
00097   public:
00098     OpalWAVFile(
00099       unsigned format = fmt_PCM 
00100     );
00101 
00114     OpalWAVFile(
00115       OpenMode mode,            
00116       int opts = ModeDefault,   
00117       unsigned format = fmt_PCM 
00118     );
00119 
00129     OpalWAVFile(
00130       const PFilePath & name,     
00131       OpenMode mode = ReadWrite,  
00132       int opts = ModeDefault,     
00133       unsigned format = fmt_PCM 
00134     );
00135 };
00136 
00137 #endif // __OPALWAVFILE_H
00138 
00139 
00140 // End of File ///////////////////////////////////////////////////////////////

Generated on Mon Sep 25 16:20:10 2006 for OPAL by  doxygen 1.4.7