Twitch SDK (Internal)
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
ttv::broadcast::AppleAudioCapture Class Reference

#include <appleaudiocapture.h>

Inheritance diagram for ttv::broadcast::AppleAudioCapture:
ttv::broadcast::AudioCaptureBase ttv::broadcast::IAudioCapture

Public Types

enum  CaptureType { CaptureType::System, CaptureType::Microphone }
 

Public Member Functions

 AppleAudioCapture (CaptureType type)
 
virtual ~AppleAudioCapture ()
 
virtual std::string GetName () const override
 
virtual uint32_t GetNumChannels () const override
 
virtual TTV_ErrorCode Start () override
 
virtual TTV_ErrorCode Stop () override
 
virtual TTV_ErrorCode Process (const std::shared_ptr< IAudioMixer > &mixer, uint64_t &lastSampleTime) override
 
virtual void SetInitialTime (uint64_t initialTime) override
 
virtual void SetAudioMixer (const std::shared_ptr< IAudioMixer > &mixer) override
 
virtual bool GetMuted () const override
 
virtual void SetMuted (bool muted) override
 
virtual void SetAudioLayer (AudioLayerId layer) override
 
virtual AudioLayerId GetAudioLayer () const override
 
virtual TTV_ErrorCode Initialize () override
 
virtual TTV_ErrorCode Shutdown () override
 

Static Public Member Functions

static uint64_t SamplesToSystemTime (uint64_t samples, uint32_t sampleRate)
 
static uint64_t SystemTimeToSamples (uint64_t time, uint32_t sampleRate)
 

Protected Attributes

std::shared_ptr< IAudioMixermAudioMixer
 
AudioLayerId mAudioLayer
 
uint64_t mInitialSysTime
 
bool mMuted
 
bool mInitialized
 
bool mStarted
 

Private Member Functions

TTV_ErrorCode DoSubmitFrame (uint32_t samplesPerChannel)
 

Private Attributes

std::unique_ptr< AppleAudioCaptureInternalData > mInternalData
 

Member Enumeration Documentation

◆ CaptureType

Enumerator
System 
Microphone 

Constructor & Destructor Documentation

◆ AppleAudioCapture()

ttv::broadcast::AppleAudioCapture::AppleAudioCapture ( CaptureType  type)

◆ ~AppleAudioCapture()

virtual ttv::broadcast::AppleAudioCapture::~AppleAudioCapture ( )
virtual

Member Function Documentation

◆ DoSubmitFrame()

TTV_ErrorCode ttv::broadcast::AppleAudioCapture::DoSubmitFrame ( uint32_t  samplesPerChannel)
private

◆ GetAudioLayer()

virtual AudioLayerId ttv::broadcast::AudioCaptureBase::GetAudioLayer ( ) const
overridevirtualinherited

◆ GetMuted()

virtual bool ttv::broadcast::AudioCaptureBase::GetMuted ( ) const
overridevirtualinherited

Retrieves the current muted state.

Implements ttv::broadcast::IAudioCapture.

◆ GetName()

virtual std::string ttv::broadcast::AppleAudioCapture::GetName ( ) const
overridevirtual

Retrieves the name for logging purposes.

Implements ttv::broadcast::IAudioCapture.

◆ GetNumChannels()

virtual uint32_t ttv::broadcast::AppleAudioCapture::GetNumChannels ( ) const
overridevirtual

Retrieves the number of channels captured.

Implements ttv::broadcast::IAudioCapture.

◆ Initialize()

virtual TTV_ErrorCode ttv::broadcast::AudioCaptureBase::Initialize ( )
overridevirtualinherited

◆ Process()

virtual TTV_ErrorCode ttv::broadcast::AppleAudioCapture::Process ( const std::shared_ptr< IAudioMixer > &  mixer,
uint64_t &  lastSampleTime 
)
overridevirtual

◆ SamplesToSystemTime()

static uint64_t ttv::broadcast::AudioCaptureBase::SamplesToSystemTime ( uint64_t  samples,
uint32_t  sampleRate 
)
staticinherited

◆ SetAudioLayer()

virtual void ttv::broadcast::AudioCaptureBase::SetAudioLayer ( AudioLayerId  layer)
overridevirtualinherited

◆ SetAudioMixer()

virtual void ttv::broadcast::AudioCaptureBase::SetAudioMixer ( const std::shared_ptr< IAudioMixer > &  mixer)
overridevirtualinherited

◆ SetInitialTime()

virtual void ttv::broadcast::AppleAudioCapture::SetInitialTime ( uint64_t  initialTime)
overridevirtual

This is call once upon starting capture so there is a relative timestamp to work off of. This is used to pace the capture.

Reimplemented from ttv::broadcast::AudioCaptureBase.

◆ SetMuted()

virtual void ttv::broadcast::AudioCaptureBase::SetMuted ( bool  muted)
overridevirtualinherited

Sets the current muted state. The capturer should track this flag so it can be returned from GetMuted() but it can also optionally pause capturing when muted if desired. Silence should still be written as if there were real audio available.

Implements ttv::broadcast::IAudioCapture.

◆ Shutdown()

virtual TTV_ErrorCode ttv::broadcast::AudioCaptureBase::Shutdown ( )
overridevirtualinherited

◆ Start()

virtual TTV_ErrorCode ttv::broadcast::AppleAudioCapture::Start ( )
overridevirtual

Reimplemented from ttv::broadcast::AudioCaptureBase.

◆ Stop()

virtual TTV_ErrorCode ttv::broadcast::AppleAudioCapture::Stop ( )
overridevirtual

Reimplemented from ttv::broadcast::AudioCaptureBase.

◆ SystemTimeToSamples()

static uint64_t ttv::broadcast::AudioCaptureBase::SystemTimeToSamples ( uint64_t  time,
uint32_t  sampleRate 
)
staticinherited

Member Data Documentation

◆ mAudioLayer

AudioLayerId ttv::broadcast::AudioCaptureBase::mAudioLayer
protectedinherited

◆ mAudioMixer

std::shared_ptr<IAudioMixer> ttv::broadcast::AudioCaptureBase::mAudioMixer
protectedinherited

◆ mInitialized

bool ttv::broadcast::AudioCaptureBase::mInitialized
protectedinherited

◆ mInitialSysTime

uint64_t ttv::broadcast::AudioCaptureBase::mInitialSysTime
protectedinherited

◆ mInternalData

std::unique_ptr<AppleAudioCaptureInternalData> ttv::broadcast::AppleAudioCapture::mInternalData
private

◆ mMuted

bool ttv::broadcast::AudioCaptureBase::mMuted
protectedinherited

◆ mStarted

bool ttv::broadcast::AudioCaptureBase::mStarted
protectedinherited

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