libsent/src/adin/adin_mic_darwin_coreaudio.c File Reference

adin microphone library for CoreAudio API More...

#include <CoreAudio/CoreAudio.h>
#include <AudioUnit/AudioUnit.h>
#include <AudioUnit/AudioOutputUnit.h>
#include <AudioToolbox/AudioConverter.h>
#include <pthread.h>
#include <stdio.h>

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
typedef unsigned char boolean

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)
boolean adin_mic_standby (int sfreq, void *dummy)
 Connection initialization: check connectivity and open for recording.
boolean adin_mic_begin ()
 Start recording.
boolean adin_mic_end ()
 Stop recording.
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


Detailed Description

adin microphone library for CoreAudio API

by Masatomo Hashimoto <m.hashimoto@aist.go.jp>

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.

Author:
Masatomo Hashimoto
Date:
Wed Oct 12 11:31:27 2005
Revision
1.1.1.1

Definition in file adin_mic_darwin_coreaudio.c.


Function Documentation

boolean adin_mic_standby ( int  sfreq,
void *  dummy 
)

Connection initialization: check connectivity and open for recording.

Parameters:
sfreq [in] required sampling frequency
dummy [in] a dummy data
Returns:
TRUE on success, FALSE on failure.

Definition at line 285 of file adin_mic_darwin_coreaudio.c.

boolean adin_mic_begin (  ) 

Start recording.

Returns:
TRUE on success, FALSE on failure.

Definition at line 571 of file adin_mic_darwin_coreaudio.c.

boolean adin_mic_end (  ) 

Stop recording.

Returns:
TRUE on success, FALSE on failure.

Definition at line 572 of file adin_mic_darwin_coreaudio.c.


Generated on Tue Dec 18 16:01:37 2007 for Julius by  doxygen 1.5.4