Correct jackdmp.cpp (failures case were not correct..). Improve JackCoreAudioDriver...
[jack2.git] / common / JackNetAdapter.h
blobf6b7675b50af70e5fa9181540bb4dcca5d36d614
1 /*
2 Copyright (C) 2008 Romain Moret at Grame
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 #ifndef __JackNetAdapter__
21 #define __JackNetAdapter__
23 #include "JackAudioAdapterInterface.h"
24 #include "JackNetInterface.h"
26 namespace Jack
29 /*!
30 \brief Net adapter.
33 class JackNetAdapter : public JackAudioAdapterInterface, public JackNetSlaveInterface, public JackRunnableInterface
35 private:
36 //jack data
37 jack_client_t* fJackClient;
39 //transport data
40 int fLastTransportState;
41 int fLastTimebaseMaster;
43 //sample buffers
44 sample_t** fSoftCaptureBuffer;
45 sample_t** fSoftPlaybackBuffer;
47 //adapter thread
48 JackThread fThread;
50 //transport
51 void EncodeTransportData();
52 void DecodeTransportData();
54 public:
56 JackNetAdapter ( jack_client_t* jack_client, jack_nframes_t buffer_size, jack_nframes_t sample_rate, const JSList* params );
57 ~JackNetAdapter();
59 int Open();
60 int Close();
62 int SetBufferSize ( jack_nframes_t buffer_size );
64 bool Init();
65 bool Execute();
67 int Read();
68 int Write();
70 int Process();
74 #endif