00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __JackNetAdapter__
00021 #define __JackNetAdapter__
00022
00023 #include "JackAudioAdapterInterface.h"
00024 #include "JackNetInterface.h"
00025
00026 namespace Jack
00027 {
00028
00033 class JackNetAdapter : public JackAudioAdapterInterface,
00034 public JackNetSlaveInterface,
00035 public JackRunnableInterface
00036 {
00037
00038 private:
00039
00040
00041 jack_client_t* fClient;
00042
00043
00044 int fLastTransportState;
00045 int fLastTimebaseMaster;
00046
00047
00048 sample_t** fSoftCaptureBuffer;
00049 sample_t** fSoftPlaybackBuffer;
00050
00051
00052 JackThread fThread;
00053
00054
00055 void EncodeTransportData();
00056 void DecodeTransportData();
00057
00058 public:
00059
00060 JackNetAdapter(jack_client_t* jack_client, jack_nframes_t buffer_size, jack_nframes_t sample_rate, const JSList* params);
00061 ~JackNetAdapter();
00062
00063 int Open();
00064 int Close();
00065
00066 int SetBufferSize(jack_nframes_t buffer_size);
00067
00068 bool Init();
00069 bool Execute();
00070
00071 int Read();
00072 int Write();
00073
00074 int Process();
00075 };
00076 }
00077
00078 #endif