00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef _OPALAUDIORECORD_H
00034 #define _OPALAUDIORECORD_H
00035
00037
00038
00039
00040
00041 #include <opal/opalmixer.h>
00042
00043 class OpalRecordManager
00044 {
00045 public:
00046 class Mixer_T : public OpalAudioMixer
00047 {
00048 protected:
00049 OpalWAVFile file;
00050 PBoolean mono;
00051 PBoolean started;
00052
00053 public:
00054 Mixer_T();
00055 PBoolean Open(const PFilePath & fn);
00056 PBoolean Close();
00057 PBoolean OnWriteAudio(const MixerFrame & mixerFrame);
00058 };
00059
00060 Mixer_T mixer;
00061
00062 protected:
00063 PMutex mutex;
00064 PString token;
00065 PBoolean started;
00066
00067 public:
00068 OpalRecordManager();
00069 PBoolean Open(const PString & _callToken, const PFilePath & fn);
00070 PBoolean CloseStream(const PString & _callToken, const std::string & _strm);
00071 PBoolean Close(const PString & _callToken);
00072 PBoolean WriteAudio(const PString & _callToken, const std::string & strm, const RTP_DataFrame & rtp);
00073 };
00074
00075
00076 #endif // _OPALAUDIOMIXER_H