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 1.8 2004/08/26 08:05:03 csoutheren 00026 * Codecs now appear in abstract factory system 00027 * Fixed Windows factory bootstrap system (again) 00028 * 00029 * Revision 1.7 2004/08/09 11:11:33 csoutheren 00030 * Added stupid windows hack to force opalwavfile factories to register 00031 * 00032 * Revision 1.6 2004/07/15 11:13:49 rjongbloed 00033 * Migrated changes from crs_vxnml_devel branch into main trunk 00034 * 00035 * Revision 1.5.6.1 2004/07/07 07:10:11 csoutheren 00036 * Changed to use new factory based PWAVFile 00037 * Removed redundant blocking/unblocking when using G.723.1 00038 * 00039 * Revision 1.5 2002/09/16 01:14:15 robertj 00040 * Added #define so can select if #pragma interface/implementation is used on 00041 * platform basis (eg MacOS) rather than compiler, thanks Robert Monaghan. 00042 * 00043 * Revision 1.4 2002/09/06 06:20:37 robertj 00044 * More cosmetic changes 00045 * 00046 * Revision 1.3 2002/08/08 13:00:02 craigs 00047 * Remove unused definition of LastReadCount thanks to Peter 'Luna' Runestig 00048 * 00049 * Revision 1.2 2002/08/05 10:03:47 robertj 00050 * Cosmetic changes to normalise the usage of pragma interface/implementation. 00051 * 00052 * Revision 1.1 2002/06/20 01:21:03 craigs 00053 * Initial version 00054 * 00055 */ 00056 00057 #ifndef __OPALWAVFILE_H 00058 #define __OPALWAVFILE_H 00059 00060 #ifdef P_USE_PRAGMA 00061 #pragma interface 00062 #endif 00063 00064 00065 #include <ptclib/pwavfile.h> 00066 00075 class OpalWAVFile : public PWAVFile 00076 { 00077 PCLASSINFO(OpalWAVFile, PWAVFile); 00078 public: 00079 OpalWAVFile( 00080 unsigned format = fmt_PCM 00081 ); 00082 00095 OpalWAVFile( 00096 OpenMode mode, 00097 int opts = ModeDefault, 00098 unsigned format = fmt_PCM 00099 ); 00100 00110 OpalWAVFile( 00111 const PFilePath & name, 00112 OpenMode mode = ReadWrite, 00113 int opts = ModeDefault, 00114 unsigned format = fmt_PCM 00115 ); 00116 }; 00117 00118 #endif // __OPALWAVFILE_H 00119 00120 00121 // End of File ///////////////////////////////////////////////////////////////