diff options
Diffstat (limited to 'orkaudio/audiofile/AudioFile.h')
-rw-r--r-- | orkaudio/audiofile/AudioFile.h | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/orkaudio/audiofile/AudioFile.h b/orkaudio/audiofile/AudioFile.h deleted file mode 100644 index bc9cbcf..0000000 --- a/orkaudio/audiofile/AudioFile.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Oreka -- A media capture and retrieval platform - * - * Copyright (C) 2005, orecx LLC - * - * http://www.orecx.com - * - * This program is free software, distributed under the terms of - * the GNU General Public License. - * Please refer to http://www.gnu.org/copyleft/gpl.html - * - */ - -#ifndef __AUDIOFILE_H__ -#define __AUDIOFILE_H__ - -#include "boost/shared_ptr.hpp" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_sys_stat.h" - -#include "StdString.h" -#include "AudioCapture.h" - - -/** Base class for all file accessor classes. */ -class AudioFile -{ -public: - typedef enum {READ = 0, WRITE = 1} fileOpenModeEnum; - - /** Open audio file for reading or writing. - Filename should include path information but not extension (which is automatically appended) - If the underlying format does not support stereo, data is transparently read from two files in read mode - or two files are transparently written to in write mode */ - virtual void Open(CStdString& filename, fileOpenModeEnum mode, bool stereo = false, int sampleRate = 8000) = 0; - /** Same as above but uses the intenal filename */ - void Open(fileOpenModeEnum mode, bool stereo = false, int sampleRate = 8000); - /** Explicitely close the underlying file(s). This is also done automatically by the destructor */ - virtual void Close() = 0; - - /** Writes a chunk of audio to disk. - If stereo capture, this represents the local party */ - virtual void WriteChunk(AudioChunkRef chunkRef) = 0; - /** Writes a chunk of audio from the remote pary to disk (if stereo capture) - //virtual bool WriteRemoteChunk(AudioChunkRef chunkRef) = 0; - /** Reads a chunk of audio stereo-wise - If underlying storage is mono, remoteChunk will be NULL - ReadChunkStereo guarantees that local and remote chunks returned are in sync */ - //virtual bool ReadChunkStereo(AudioChunkRef& chunk, AudioChunkRef& remoteChunk) = 0; - /** Reads a chunk of audio mono-wise - If underlying file is stereo, ReadChunkMono merges the two streams in a synchronized manner and returns the result */ - virtual int ReadChunkMono(AudioChunkRef& chunk) = 0; - - /** Move the file to a new name including ".orig" suffix */ - void MoveOrig(); - void Delete(); - virtual CStdString GetExtension() = 0; - virtual int GetSampleRate(); - - static void RecursiveMkdir(CStdString& path); -protected: - CStdString m_filename; - fileOpenModeEnum m_mode; - int m_numChunksWritten; - int m_sampleRate; -}; - -typedef boost::shared_ptr<AudioFile> AudioFileRef; - -#endif - |