00001 00028 #ifndef AUDIO_PASSTHROUGH_INCLUDED 00029 #define AUDIO_PASSTHROUGH_INCLUDED 00030 00031 00032 /**************************************************************************** 00033 * 00034 * System Includes 00035 * 00036 ****************************************************************************/ 00037 00038 00039 00040 /**************************************************************************** 00041 * 00042 * Project Includes 00043 * 00044 ****************************************************************************/ 00045 00046 #include <AsyncAudioSink.h> 00047 #include <AsyncAudioSource.h> 00048 00049 00050 /**************************************************************************** 00051 * 00052 * Local Includes 00053 * 00054 ****************************************************************************/ 00055 00056 00057 00058 /**************************************************************************** 00059 * 00060 * Forward declarations 00061 * 00062 ****************************************************************************/ 00063 00064 00065 00066 /**************************************************************************** 00067 * 00068 * Namespace 00069 * 00070 ****************************************************************************/ 00071 00072 namespace Async 00073 { 00074 00075 00076 /**************************************************************************** 00077 * 00078 * Forward declarations of classes inside of the declared namespace 00079 * 00080 ****************************************************************************/ 00081 00082 00083 00084 /**************************************************************************** 00085 * 00086 * Defines & typedefs 00087 * 00088 ****************************************************************************/ 00089 00090 00091 00092 /**************************************************************************** 00093 * 00094 * Exported Global Variables 00095 * 00096 ****************************************************************************/ 00097 00098 00099 00100 /**************************************************************************** 00101 * 00102 * Class definitions 00103 * 00104 ****************************************************************************/ 00105 00117 class AudioPassthrough : public AudioSink, public AudioSource 00118 { 00119 public: 00123 AudioPassthrough(void) {} 00124 00128 virtual ~AudioPassthrough(void) {} 00129 00141 virtual int writeSamples(const float *samples, int count) 00142 { 00143 return sinkWriteSamples(samples, count); 00144 } 00145 00154 virtual void flushSamples(void) 00155 { 00156 sinkFlushSamples(); 00157 } 00158 00166 virtual void resumeOutput(void) 00167 { 00168 sourceResumeOutput(); 00169 } 00170 00178 virtual void allSamplesFlushed(void) 00179 { 00180 sourceAllSamplesFlushed(); 00181 } 00182 00183 protected: 00184 00185 private: 00186 AudioPassthrough(const AudioPassthrough&); 00187 AudioPassthrough& operator=(const AudioPassthrough&); 00188 00189 }; /* AudioPassthrough */ 00190 00191 00192 } /* namespace */ 00193 00194 #endif /* AUDIO_PASSTHROUGH_INCLUDED */ 00195 00196 00197 00198 /* 00199 * This file has not been truncated 00200 */ 00201