#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.
| bool adin_mic_standby | ( | int | sfreq, | |
| void * | dummy | |||
| ) |
Connection initialization: check connectivity and open for recording.
| sfreq | [in] required sampling frequency | |
| dummy | [in] a dummy data |
Definition at line 281 of file adin_mic_darwin_coreaudio.c.
| bool adin_mic_start | ( | ) |
Start recording.
Definition at line 565 of file adin_mic_darwin_coreaudio.c.
| bool adin_mic_stop | ( | ) |
Stop recording.
Definition at line 566 of file adin_mic_darwin_coreaudio.c.
1.5.0