|
Sunshine master
Self-hosted game stream host for Moonlight.
|
Declarations for macOS audio capture with dual input paths. More...
import <AudioToolbox/AudioToolbox.h>import <AVFoundation/AVFoundation.h>import <CoreAudio/AudioHardwareTapping.h>import <CoreAudio/CoreAudio.h>#include "third-party/TPCircularBuffer/TPCircularBuffer.h"Go to the source code of this file.
Classes | |
| struct | AudioConverterInputData |
| Data structure for AudioConverter input callback. Contains audio data and metadata needed for format conversion during audio processing. More... | |
| class | AVAudio |
| Core Audio capture class for macOS audio input and system-wide audio tapping. Provides functionality for both microphone capture via AVFoundation and system-wide audio capture via Core Audio taps (requires macOS 14.0+). More... | |
| struct | AVAudioIOProcData |
| IOProc client data structure for Core Audio system taps. Contains configuration and conversion data for real-time audio processing. More... | |
Functions | |
| OSStatus | platf::audioConverterComplexInputProc (AudioConverterRef _Nullable inAudioConverter, UInt32 *_Nonnull ioNumberDataPackets, AudioBufferList *_Nonnull ioData, AudioStreamPacketDescription *_Nullable *_Nullable outDataPacketDescription, void *_Nonnull inUserData) |
| Provide captured PCM frames to AudioConverter. | |
| OSStatus | platf::systemAudioIOProc (AudioObjectID inDevice, const AudioTimeStamp *_Nullable inNow, const AudioBufferList *_Nullable inInputData, const AudioTimeStamp *_Nullable inInputTime, AudioBufferList *_Nullable outOutputData, const AudioTimeStamp *_Nullable inOutputTime, void *_Nullable inClientData) |
| Receive system-audio tap samples from Core Audio. | |
Declarations for macOS audio capture with dual input paths.
This header defines the AVAudio class which provides distinct audio capture methods:
The system-wide audio tap allows capturing audio from all applications and system sounds, while microphone capture focuses on input from physical or virtual microphone devices.
| OSStatus platf::audioConverterComplexInputProc | ( | AudioConverterRef _Nullable | inAudioConverter, |
| UInt32 *_Nonnull | ioNumberDataPackets, | ||
| AudioBufferList *_Nonnull | ioData, | ||
| AudioStreamPacketDescription *_Nullable *_Nullable | outDataPacketDescription, | ||
| void *_Nonnull | inUserData ) |
Provide captured PCM frames to AudioConverter.
| inAudioConverter | In audio converter. |
| ioNumberDataPackets | Requested and returned packet count. |
| ioData | Buffer list filled with input audio. |
| outDataPacketDescription | Optional packet description output. |
| inUserData | AudioConverterInputData state used by the callback. |
| OSStatus platf::systemAudioIOProc | ( | AudioObjectID | inDevice, |
| const AudioTimeStamp *_Nullable | inNow, | ||
| const AudioBufferList *_Nullable | inInputData, | ||
| const AudioTimeStamp *_Nullable | inInputTime, | ||
| AudioBufferList *_Nullable | outOutputData, | ||
| const AudioTimeStamp *_Nullable | inOutputTime, | ||
| void *_Nullable | inClientData ) |
Receive system-audio tap samples from Core Audio.
| inDevice | In device. |
| inNow | In now. |
| inInputData | In input data. |
| inInputTime | In input time. |
| outOutputData | Out output data. |
| inOutputTime | In output time. |
| inClientData | In client data. |