00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __JackAudioAdapter__
00021 #define __JackAudioAdapter__
00022
00023 #include "JackAudioAdapterInterface.h"
00024
00025 namespace Jack
00026 {
00027
00032 class JackAudioAdapter
00033 {
00034 private:
00035
00036 static int Process ( jack_nframes_t, void* arg );
00037 static int BufferSize ( jack_nframes_t buffer_size, void *arg );
00038 static int SampleRate ( jack_nframes_t sample_rate, void *arg );
00039
00040 int fCaptureChannels;
00041 int fPlaybackChannels;
00042
00043 JackResampler** fCaptureRingBuffer;
00044 JackResampler** fPlaybackRingBuffer;
00045
00046 jack_port_t** fCapturePortList;
00047 jack_port_t** fPlaybackPortList;
00048
00049 jack_client_t* fJackClient;
00050 JackAudioAdapterInterface* fAudioAdapter;
00051
00052 void FreePorts();
00053 void Reset();
00054
00055 public:
00056
00057 JackAudioAdapter ( jack_client_t* jack_client, JackAudioAdapterInterface* audio_io ) :
00058 fJackClient ( jack_client ), fAudioAdapter ( audio_io )
00059 {}
00060 ~JackAudioAdapter();
00061
00062 int Open();
00063 int Close();
00064 };
00065
00066 }
00067
00068 #endif