00001 00027 #ifndef ASYNC_AUDIO_READER_INCLUDED 00028 #define ASYNC_AUDIO_READER_INCLUDED 00029 00030 00031 /**************************************************************************** 00032 * 00033 * System Includes 00034 * 00035 ****************************************************************************/ 00036 00037 00038 00039 /**************************************************************************** 00040 * 00041 * Project Includes 00042 * 00043 ****************************************************************************/ 00044 00045 #include <AsyncAudioSink.h> 00046 00047 00048 /**************************************************************************** 00049 * 00050 * Local Includes 00051 * 00052 ****************************************************************************/ 00053 00054 00055 00056 /**************************************************************************** 00057 * 00058 * Forward declarations 00059 * 00060 ****************************************************************************/ 00061 00062 00063 00064 /**************************************************************************** 00065 * 00066 * Namespace 00067 * 00068 ****************************************************************************/ 00069 00070 namespace Async 00071 { 00072 00073 00074 /**************************************************************************** 00075 * 00076 * Forward declarations of classes inside of the declared namespace 00077 * 00078 ****************************************************************************/ 00079 00080 00081 00082 /**************************************************************************** 00083 * 00084 * Defines & typedefs 00085 * 00086 ****************************************************************************/ 00087 00088 00089 00090 /**************************************************************************** 00091 * 00092 * Exported Global Variables 00093 * 00094 ****************************************************************************/ 00095 00096 00097 00098 /**************************************************************************** 00099 * 00100 * Class definitions 00101 * 00102 ****************************************************************************/ 00103 00112 class AudioReader : public AudioSink 00113 { 00114 public: 00118 AudioReader(void); 00119 00123 ~AudioReader(void); 00124 00133 int readSamples(float *samples, int count); 00134 00146 virtual int writeSamples(const float *samples, int count); 00147 00156 virtual void flushSamples(void); 00157 00158 protected: 00159 00160 private: 00161 AudioReader(const AudioReader&); 00162 AudioReader& operator=(const AudioReader&); 00163 00164 float *buf; 00165 int buf_size; 00166 bool input_stopped; 00167 int samples_in_buf; 00168 00169 }; /* class AudioReader */ 00170 00171 00172 } /* namespace */ 00173 00174 #endif /* ASYNC_AUDIO_READER_INCLUDED */ 00175 00176 00177 00178 /* 00179 * This file has not been truncated 00180 */ 00181