Add zalsa configure flag, enabled by default if possible
[jack2.git] / android / JackOpenSLESDriver.h
blob04ddf6a1bd856a1f3483c4ffeeef3a4a05503f98
1 /*
2 Copyright (C) 2001 Paul Davis
3 Copyright (C) 2004-2008 Grame
4 Copyright (C) 2013 Samsung Electronics
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 #ifndef __JackOpenSLESDriver__
23 #define __JackOpenSLESDriver__
25 #include "JackAudioDriver.h"
27 namespace Jack
30 /*!
31 \brief The OpenSLES driver.
34 class JackOpenSLESDriver : public JackAudioDriver
37 public:
39 JackOpenSLESDriver(const char* name, const char* alias, JackLockedEngine* engine, JackSynchro* table)
40 : JackAudioDriver(name, alias, engine, table), inbuffer(NULL), outbuffer(NULL)
42 virtual ~JackOpenSLESDriver()
45 int Open(jack_nframes_t buffe_size,
46 jack_nframes_t samplerate,
47 bool capturing,
48 bool playing,
49 int chan_in,
50 int chan_out,
51 bool monitor,
52 const char* capture_driver_name,
53 const char* playback_driver_name,
54 jack_nframes_t capture_latency,
55 jack_nframes_t playback_latency);
56 int Close();
57 int Read();
58 int Write();
59 int SetBufferSize(jack_nframes_t buffer_size);
61 private:
63 float *inbuffer;
64 float *outbuffer;
68 } // end of namespace
70 #endif