Logo Search packages:      
Sourcecode: jackd2 version File versions  Download package

Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes

Jack::JackCoreAudioDriver Class Reference

The CoreAudio driver. More...

#include <JackCoreAudioDriver.h>

Inheritance diagram for Jack::JackCoreAudioDriver:
Inheritance graph
[legend]
Collaboration diagram for Jack::JackCoreAudioDriver:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void AddSlave (JackDriverInterface *slave)
int Attach ()
virtual int ClientNotify (int refnum, const char *name, int notify, int sync, const char *message, int value1, int value2)
int Close ()
virtual int Detach ()
virtual JackClientControlGetClientControl () const
bool GetMaster ()
std::list< JackDriverInterface * > GetSlaves ()
virtual bool Initialize ()
bool IsFixedBufferSize ()
virtual bool IsRealTime () const
 JackCoreAudioDriver (const char *name, const char *alias, JackLockedEngine *engine, JackSynchro *table)
virtual int Open (bool capturing, bool playing, int inchannels, int outchannels, bool monitor, const char *capture_driver_name, const char *playback_driver_name, jack_nframes_t capture_latency, jack_nframes_t playback_latency)
virtual int Open (jack_nframes_t buffer_size, jack_nframes_t samplerate, bool capturing, bool playing, int inchannels, int outchannels, bool monitor, const char *capture_driver_name, const char *playback_driver_name, jack_nframes_t capture_latency, jack_nframes_t playback_latency)
int Open (jack_nframes_t buffer_size, jack_nframes_t samplerate, bool capturing, bool playing, int chan_in, int chan_out, bool monitor, const char *capture_driver_name, const char *playback_driver_name, jack_nframes_t capture_latency, jack_nframes_t playback_latency, int async_output_latency, int computation_grain, bool hogged, bool clock_drift)
virtual int Open ()
virtual int Process ()
virtual int ProcessNull ()
int ProcessSlaves ()
int Read ()
void RemoveSlave (JackDriverInterface *slave)
int SetBufferSize (jack_nframes_t buffer_size)
void SetMaster (bool onoff)
virtual int SetSampleRate (jack_nframes_t sample_rate)
int Start ()
int Stop ()
int Write ()

Protected Member Functions

void CycleIncTime ()
void CycleTakeBeginTime ()
void CycleTakeEndTime ()
jack_default_audio_sample_t * GetInputBuffer (int port_index)
jack_default_audio_sample_t * GetMonitorBuffer (int port_index)
jack_default_audio_sample_t * GetOutputBuffer (int port_index)
void NotifyBufferSize (jack_nframes_t buffer_size)
void NotifyFailure (int code, const char *reason)
void NotifySampleRate (jack_nframes_t sample_rate)
void NotifyXRun (jack_time_t callback_usecs, float delayed_usecs)
virtual int ProcessAsync ()
void ProcessGraphAsync ()
void ProcessGraphSync ()
virtual int ProcessSync ()
void SetupDriverSync (int ref, bool freewheel)
void WaitUntilNextCycle ()

Protected Attributes

char fAliasName [JACK_CLIENT_NAME_SIZE+1]
jack_time_t fBeginDateUst
int fCaptureChannels
char fCaptureDriverName [JACK_CLIENT_NAME_SIZE+1]
jack_nframes_t fCaptureLatency
jack_port_id_t fCapturePortList [DRIVER_PORT_NUM]
JackClientControl fClientControl
float fDelayedUsecs
jack_time_t fEndDateUst
JackLockedEnginefEngine
JackEngineControlfEngineControl
JackGraphManagerfGraphManager
bool fIsMaster
jack_port_id_t fMonitorPortList [DRIVER_PORT_NUM]
int fPlaybackChannels
char fPlaybackDriverName [JACK_CLIENT_NAME_SIZE+1]
jack_nframes_t fPlaybackLatency
jack_port_id_t fPlaybackPortList [DRIVER_PORT_NUM]
std::list< JackDriverInterface * > fSlaveList
JackSynchrofSynchroTable
bool fWithMonitorPorts

Private Member Functions

int AddListeners ()
void CloseAUHAL ()
OSStatus CreateAggregateDevice (AudioDeviceID captureDeviceID, AudioDeviceID playbackDeviceID, jack_nframes_t samplerate, AudioDeviceID *outAggregateDevice)
OSStatus CreateAggregateDeviceAux (vector< AudioDeviceID > captureDeviceID, vector< AudioDeviceID > playbackDeviceID, jack_nframes_t samplerate, AudioDeviceID *outAggregateDevice)
OSStatus DestroyAggregateDevice ()
void DisposeBuffers ()
OSStatus GetDefaultDevice (AudioDeviceID *id)
OSStatus GetDefaultInputDevice (AudioDeviceID *id)
OSStatus GetDefaultOutputDevice (AudioDeviceID *id)
OSStatus GetDeviceIDFromUID (const char *UID, AudioDeviceID *id)
OSStatus GetDeviceNameFromID (AudioDeviceID id, char *name)
OSStatus GetTotalChannels (AudioDeviceID device, int &channelCount, bool isInput)
bool IsAggregateDevice (AudioDeviceID device)
int OpenAUHAL (bool capturing, bool playing, int inchannels, int outchannels, int in_nChannels, int out_nChannels, jack_nframes_t nframes, jack_nframes_t samplerate)
void RemoveListeners ()
int SetupBuffers (int inchannels)
int SetupBufferSize (jack_nframes_t buffer_size)
int SetupChannels (bool capturing, bool playing, int &inchannels, int &outchannels, int &in_nChannels, int &out_nChannels, bool strict)
int SetupDevices (const char *capture_driver_uid, const char *playback_driver_uid, char *capture_driver_name, char *playback_driver_name, jack_nframes_t samplerate)
int SetupSampleRate (jack_nframes_t samplerate)
int SetupSampleRateAux (AudioDeviceID inDevice, jack_nframes_t samplerate)
bool TakeHog ()
bool TakeHogAux (AudioDeviceID deviceID, bool isInput)

Static Private Member Functions

static OSStatus DeviceNotificationCallback (AudioDeviceID inDevice, UInt32 inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID, void *inClientData)
static OSStatus Render (void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData)
static OSStatus SRNotificationCallback (AudioDeviceID inDevice, UInt32 inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID, void *inClientData)

Private Attributes

AudioUnitRenderActionFlags * fActionFags
AudioUnit fAUHAL
char fCaptureUID [256]
bool fClockDriftCompensate
float fComputationGrain
AudioTimeStamp * fCurrentTime
AudioDeviceID fDeviceID
AudioBufferList * fDriverOutputData
bool fHogged
float fIOUsage
AudioBufferList * fJackInputData
char fPlaybackUID [256]
AudioObjectID fPluginID
bool fState

Detailed Description

The CoreAudio driver.

Todo:
hardware monitoring

Definition at line 52 of file JackCoreAudioDriver.h.


The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index