libsent/src/adin/adin_mic_darwin_coreaudio.c

adin microphone library for CoreAudio API [詳細]

#include <CoreAudio/CoreAudio.h>
#include <AudioUnit/AudioUnit.h>
#include <AudioUnit/AudioOutputUnit.h>
#include <AudioToolbox/AudioConverter.h>
#include <pthread.h>
#include <stdio.h>
adin_mic_darwin_coreaudio.cのインクルード依存関係図

ソースコードを見る。

マクロ定義

#define DEVICE_NAME_LEN   128
#define BUF_SAMPLES   4096
#define BITS_PER_BYTE   8

型定義

typedef SInt16 Sample

関数

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 ()

変数

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

説明

adin microphone library for CoreAudio API

作者:
Masatomo Hashimoto
日付:
Wed Oct 12 11:31:27 2005

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

Tested on Mac OS X v10.3.9 and v10.4.1

このプログラムは, 独立行政法人 産業技術総合研究所 情報技術研究部門 ユビキタスソフトウェアグループ より提供されました.

Revision
1.1.1.1

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
戻り値:
TRUE on success, FALSE on failure.

adin_mic_darwin_coreaudio.c281 行で定義されています。

bool adin_mic_start (  ) 

Start recording.

戻り値:
TRUE on success, FALSE on failure.

adin_mic_darwin_coreaudio.c565 行で定義されています。

bool adin_mic_stop (  ) 

Stop recording.

戻り値:
TRUE on success, FALSE on failure.

adin_mic_darwin_coreaudio.c566 行で定義されています。


Juliusに対してTue Sep 22 00:14:57 2009に生成されました。  doxygen 1.6.0