#include <CoreAudio/CoreAudio.h>
#include <AudioUnit/AudioUnit.h>
#include <AudioUnit/AudioOutputUnit.h>
#include <AudioToolbox/AudioConverter.h>
#include <pthread.h>
#include <stdio.h>
Include dependency graph for adin_mic_darwin_coreaudio.c:
Go to the source code of this file.
Defines | |
#define | DEVICE_NAME_LEN 128 |
#define | BUF_SAMPLES 4096 |
#define | BITS_PER_BYTE 8 |
Typedefs | |
typedef SInt16 | Sample |
Functions | |
static void | printStreamInfo (AudioStreamBasicDescription *desc) |
static void | printAudioBuffer (AudioBuffer *buf) |
static AudioBufferList * | allocateAudioBufferList (UInt32 data_bytes, UInt32 nsamples, UInt32 nchan) |
static OSStatus | ConvInputProc (AudioConverterRef inConv, UInt32 *ioNumDataPackets, AudioBufferList *ioData, AudioStreamPacketDescription **outDataPacketDesc, void *inUserData) |
static OSStatus | InputProc (void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData) |
bool | adin_mic_standby (int sfreq, void *dummy) |
bool | adin_mic_start () |
bool | adin_mic_stop () |
int | adin_mic_read (void *buffer, int nsamples) |
void | adin_mic_pause () |
Variables | |
static UInt32 | ConvQuality = kAudioConverterQuality_Medium |
static UInt32 | BytesPerSample = sizeof(Sample) |
static AudioDeviceID | InputDeviceID |
static AudioUnit | InputUnit |
static AudioConverterRef | Converter |
static pthread_mutex_t | MutexInput |
static pthread_cond_t | CondInput |
static bool | CoreAudioRecordStarted = FALSE |
static bool | CoreAudioHasInputDevice = FALSE |
static bool | CoreAudioInit = FALSE |
static UInt32 | NumSamplesAvailable = 0 |
static UInt32 | InputDeviceBufferSamples = 0 |
static UInt32 | InputBytesPerPacket = 0 |
static UInt32 | InputFramesPerPacket = 0 |
static UInt32 | InputSamplesPerPacket = 0 |
static UInt32 | OutputBitsPerChannel = 0 |
static UInt32 | OutputBytesPerPacket = 0 |
static UInt32 | OutputSamplesPerPacket = 0 |
static AudioBufferList * | BufList |
static AudioBufferList | BufListBackup |
static AudioBufferList * | BufListConverted |
Tested on Mac OS X v10.3.9 and v10.4.1
This file has been contributed from the Ubiquitous Software Group, Information Technology Research Institute, AIST.
Definition in file adin_mic_darwin_coreaudio.c.
|
Connection initialization: check connectivity and open for recording.
Definition at line 281 of file adin_mic_darwin_coreaudio.c. |
|
Start recording.
Definition at line 565 of file adin_mic_darwin_coreaudio.c. |
|
Stop recording.
Definition at line 566 of file adin_mic_darwin_coreaudio.c. |