If pthread_setschedparam() in JackPosixThread::AcquireRealTimeImp() fails
[jack2.git] / android / JackGoldfishDriver.h
blobc30aec5c4083310b577ca2732aeafe9d16d48502
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 __JackGoldfishDriver__
23 #define __JackGoldfishDriver__
25 #include "JackAudioDriver.h"
27 namespace Jack
30 /*!
31 \brief The goldfish driver.
34 class JackGoldfishDriver : public JackAudioDriver
37 public:
39 JackGoldfishDriver(const char* name, const char* alias, JackLockedEngine* engine, JackSynchro* table)
40 : JackAudioDriver(name, alias, engine, table), mFd(-1), mBuffer(NULL)
42 virtual ~JackGoldfishDriver()
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 int mFd;
64 short *mBuffer;
68 } // end of namespace
70 #endif