21 #ifndef __JackOSSDriver__
22 #define __JackOSSDriver__
24 #include "JackAudioDriver.h"
29 typedef jack_default_audio_sample_t jack_sample_t;
31 #define OSS_DRIVER_DEF_DEV "/dev/dsp"
32 #define OSS_DRIVER_DEF_FS 48000
33 #define OSS_DRIVER_DEF_BLKSIZE 1024
34 #define OSS_DRIVER_DEF_NPERIODS 1
35 #define OSS_DRIVER_DEF_BITS 16
36 #define OSS_DRIVER_DEF_INS 2
37 #define OSS_DRIVER_DEF_OUTS 2
46 enum { kRead = 1, kWrite = 2, kReadWrite = 3 };
56 unsigned int fSampleSize;
61 unsigned int fInputBufferSize;
62 unsigned int fOutputBufferSize;
73 void SetSampleFormat();
74 void DisplayDeviceInfo();
83 fInFD(-1), fOutFD(-1), fBits(0),
84 fSampleFormat(0), fNperiods(0), fRWMode(0), fExcl(
false), fIgnoreHW(
true),
85 fInputBufferSize(0), fOutputBufferSize(0),
86 fInputBuffer(NULL), fOutputBuffer(NULL), fFirstCycle(
true)
92 int Open(jack_nframes_t frames_per_cycle,
101 const char* capture_driver_name,
102 const char* playback_driver_name,
103 jack_nframes_t capture_latency,
104 jack_nframes_t playback_latency,
114 bool IsFixedBufferSize()
119 int SetBufferSize(jack_nframes_t buffer_size);
Inter process synchronization using using Mach semaphore.
Locked Engine, access to methods is serialized using a mutex.
The base class for audio drivers: drivers with audio ports.