AsyncAudioEncoder.h

Go to the documentation of this file.
00001 
00027 #ifndef ASYNC_AUDIO_ENCODER_INCLUDED
00028 #define ASYNC_AUDIO_ENCODER_INCLUDED
00029 
00030 
00031 /****************************************************************************
00032  *
00033  * System Includes
00034  *
00035  ****************************************************************************/
00036 
00037 #include <sigc++/sigc++.h>
00038 #include <string>
00039 
00040 
00041 /****************************************************************************
00042  *
00043  * Project Includes
00044  *
00045  ****************************************************************************/
00046 
00047 #include <AsyncAudioSink.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 
00113 class AudioEncoder : public AudioSink, public SigC::Object
00114 {
00115   public:
00116     static AudioEncoder *create(const std::string &name);
00117     
00121     AudioEncoder(void) {}
00122   
00126     ~AudioEncoder(void) {}
00127   
00132     virtual const char *name(void) const = 0;
00133     
00139     virtual void setOption(const std::string &name, const std::string &value) {}
00140 
00144     virtual void printCodecParams(void) {}
00145     
00149     void allEncodedSamplesFlushed(void) { sourceAllSamplesFlushed(); }
00150     
00159     virtual void flushSamples(void) { flushEncodedSamples(); }
00160     
00166     SigC::Signal2<void,const void *,int> writeEncodedSamples;
00167     
00171     SigC::Signal0<void> flushEncodedSamples;
00172     
00173   
00174   protected:
00175     
00176   private:
00177     AudioEncoder(const AudioEncoder&);
00178     AudioEncoder& operator=(const AudioEncoder&);
00179     
00180 };  /* class AudioEncoder */
00181 
00182 
00183 } /* namespace */
00184 
00185 #endif /* ASYNC_AUDIO_ENCODER_INCLUDED */
00186 
00187 
00188 
00189 /*
00190  * This file has not been truncated
00191  */
00192 
Generated by  doxygen 1.6.2-20100208