![]() |
UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
|
#include <AVFoundation/AVFoundation.h>#include <AudioUnit/AudioUnit.h>#include <Availability.h>#include <CoreAudio/AudioHardware.h>#include <pthread.h>#include <stdlib.h>#include <string.h>#include "audio/audio_capture.h"#include "audio/playback/coreaudio.h"#include "audio/types.h"#include "audio/utils.h"#include "debug.h"#include "host.h"#include "lib_common.h"#include "utils/color_out.h"#include "utils/macos.h"#include "utils/macros.h"#include "utils/ring_buffer.h"
Go to the source code of this file.
Classes | |
| struct | state_ca_capture |
Macros | |
| #define | CA_STRINGIFY(A) |
| #define | CHECK_OK(cmd, msg, action_failed) |
| #define | MOD_NAME "[CoreAudio cap.] " |
| #define | NOOP |
Enumerations | |
| enum | { CA_DIR = -1 } |
Functions | |
| static AudioBufferList * | AllocateAudioBufferList (UInt32 numChannels, UInt32 size) |
| static void | audio_cap_ca_done (void *state) |
| static void | audio_cap_ca_help () |
| static void * | audio_cap_ca_init (struct module *parent, const char *cfg) |
| static void | audio_cap_ca_probe (struct device_info **available_devices, int *count, void(**deleter)(void *)) |
| static struct audio_frame * | audio_cap_ca_read (void *state) |
| static void | DestroyAudioBufferList (AudioBufferList *list) |
| static OSStatus | InputProc (void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData) |
| REGISTER_MODULE (coreaudio, &acap_coreaudio_info, LIBRARY_CLASS_AUDIO_CAPTURE, AUDIO_CAPTURE_ABI_VERSION) | |
Variables | |
| static const struct audio_capture_info | acap_coreaudio_info |
Definition in file coreaudio.m.
| #define CA_STRINGIFY | ( | A | ) |
Definition at line 184 of file coreaudio.m.
| #define CHECK_OK | ( | cmd, | |
| msg, | |||
| action_failed ) |
Definition at line 186 of file coreaudio.m.
Referenced by audio_cap_ca_init().
| #define MOD_NAME "[CoreAudio cap.] " |
Definition at line 63 of file coreaudio.m.
Referenced by audio_cap_ca_init(), and InputProc().
| #define NOOP |
Definition at line 191 of file coreaudio.m.
Referenced by ultragrid::aja::display::~display(), audio_cap_ca_init(), ultragrid::aja::display::RouteOutputSignal(), ultragrid::aja::display::SetUpAudio(), and ultragrid::aja::display::SetUpVideo().
| anonymous enum |
| Enumerator | |
|---|---|
| CA_DIR | |
Definition at line 65 of file coreaudio.m.
|
static |
Definition at line 93 of file coreaudio.m.
References DestroyAudioBufferList().
Referenced by audio_cap_ca_init().

|
static |
Definition at line 431 of file coreaudio.m.
References state_ca_capture::buffer, state_ca_capture::cv, audio_frame::data, DestroyAudioBufferList(), state_ca_capture::frame, state_ca_capture::lock, ring_buffer_destroy(), state, state_ca_capture::theBufferList, and state_ca_capture::tmp.

|
static |
Definition at line 171 of file coreaudio.m.
References audio_cap_ca_probe(), color_printf(), count, deleter, device_info::dev, name, and TBOLD.
Referenced by audio_cap_ca_init().

|
static |
Definition at line 206 of file coreaudio.m.
References AllocateAudioBufferList(), audio_ca_get_device_by_name(), audio_ca_get_device_name(), audio_cap_ca_help(), audio_capture_bps, audio_capture_channels, audio_capture_sample_rate, state_ca_capture::audio_packet_size, state_ca_capture::auHALComponentInstance, state_ca_capture::boss_waiting, audio_frame::bps, state_ca_capture::buffer, CA_DIR, audio_frame::ch_count, CHECK_OK, color_printf(), state_ca_capture::cv, audio_frame::data, state_ca_capture::data_ready, DEFAULT_AUDIO_CAPTURE_CHANNELS, desc, DestroyAudioBufferList(), FALSE, state_ca_capture::frame, get_commandline_param(), get_osstatus_str(), INIT_NOERR, InputProc(), kAudioObjectPropertyElementMain, state_ca_capture::lock, LOG_LEVEL_ERROR, LOG_LEVEL_INFO, LOG_LEVEL_WARNING, log_msg(), audio_frame::max_size, MOD_NAME, NOOP, parent, ring_buffer_destroy(), ring_buffer_init(), audio_frame::sample_rate, TBOLD, state_ca_capture::theBufferList, state_ca_capture::tmp, TRED, and UNUSED.

|
static |
Definition at line 165 of file coreaudio.m.
References audio_ca_probe(), count, and deleter.
Referenced by audio_cap_ca_help().

|
static |
Definition at line 408 of file coreaudio.m.
References state_ca_capture::boss_waiting, state_ca_capture::buffer, state_ca_capture::cv, audio_frame::data, audio_frame::data_len, state_ca_capture::data_ready, FALSE, state_ca_capture::frame, state_ca_capture::lock, audio_frame::max_size, ring_buffer_read(), state, and TRUE.

|
static |
Definition at line 116 of file coreaudio.m.
Referenced by AllocateAudioBufferList(), audio_cap_ca_done(), and audio_cap_ca_init().
|
static |
Definition at line 129 of file coreaudio.m.
References state_ca_capture::audio_packet_size, state_ca_capture::auHALComponentInstance, state_ca_capture::boss_waiting, audio_frame::bps, state_ca_capture::buffer, audio_frame::ch_count, state_ca_capture::cv, state_ca_capture::data_ready, state_ca_capture::frame, get_osstatus_str(), len, state_ca_capture::lock, LOG_LEVEL_ERROR, log_msg(), MOD_NAME, mux_channel(), ring_buffer_write(), state_ca_capture::theBufferList, state_ca_capture::tmp, TRUE, and UNUSED.
Referenced by audio_cap_ca_init().

| REGISTER_MODULE | ( | coreaudio | , |
| & | acap_coreaudio_info, | ||
| LIBRARY_CLASS_AUDIO_CAPTURE | , | ||
| AUDIO_CAPTURE_ABI_VERSION | ) |
|
static |
Definition at line 448 of file coreaudio.m.