Sunshine master
Self-hosted game stream host for Moonlight.
platf::macos_audio_control_t Struct Reference

macOS audio control state used to create microphone streams. More...

Inheritance diagram for platf::macos_audio_control_t:
[legend]
Collaboration diagram for platf::macos_audio_control_t:
[legend]

Public Member Functions

bool is_sink_available (const std::string &sink) override
 Check if the audio sink is available in the system.
 
std::unique_ptr< mic_tmicrophone (const std::uint8_t *mapping, int channels, std::uint32_t sample_rate, std::uint32_t frame_size, bool continuous_audio, bool host_audio_enabled) override
 Create a microphone capture stream for the requested layout.
 
int set_sink (const std::string &sink) override
 Update the sink value on the backend.
 
std::optional< sink_tsink_info () override
 Query host and virtual sink names available to Sunshine.
 
- Public Member Functions inherited from platf::audio_control_t
virtual ~audio_control_t ()=default
 Destroy the audio control.
 

Public Attributes

AVCaptureDevice * audio_capture_device {}
 Audio capture device.
 

Detailed Description

macOS audio control state used to create microphone streams.

Member Function Documentation

◆ is_sink_available()

bool platf::macos_audio_control_t::is_sink_available ( const std::string & sink)
inlineoverridevirtual

Check if the audio sink is available in the system.

Parameters
sinkSink to be checked.
Returns
True if available, false otherwise.

Implements platf::audio_control_t.

◆ microphone()

std::unique_ptr< mic_t > platf::macos_audio_control_t::microphone ( const std::uint8_t * mapping,
int channels,
std::uint32_t sample_rate,
std::uint32_t frame_size,
bool continuous_audio,
bool host_audio_enabled )
inlineoverridevirtual

Create a microphone capture stream for the requested layout.

Parameters
mappingOpus channel mapping table for the requested layout.
channelsNumber of audio channels in the stream.
sample_rateAudio sample rate in hertz.
frame_sizeNumber of samples captured per audio frame.
continuous_audioContinuous audio.
host_audio_enabledWhether host playback should remain enabled during capture.
Returns
Microphone capture object for the requested audio layout.

Implements platf::audio_control_t.

◆ set_sink()

int platf::macos_audio_control_t::set_sink ( const std::string & sink)
inlineoverridevirtual

Update the sink value on the backend.

Parameters
sinkAudio sink name to route or capture.
Returns
Status from updating sink.

Implements platf::audio_control_t.

◆ sink_info()

std::optional< sink_t > platf::macos_audio_control_t::sink_info ( )
inlineoverridevirtual

Query host and virtual sink names available to Sunshine.

Returns
Host and virtual sink names when the backend can report them.

Implements platf::audio_control_t.


The documentation for this struct was generated from the following file: