Twitch SDK (Internal)
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
ttv::broadcast::AudioCaptureBase Class Referenceabstract

#include <audiocapturebase.h>

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

Public Member Functions

 AudioCaptureBase ()
 
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 void SetInitialTime (uint64_t initialTime) override
 
virtual TTV_ErrorCode Initialize () override
 
virtual TTV_ErrorCode Start () override
 
virtual TTV_ErrorCode Stop () override
 
virtual TTV_ErrorCode Shutdown () override
 
virtual std::string GetName () const =0
 
virtual uint32_t GetNumChannels () const =0
 
virtual TTV_ErrorCode Process (const std::shared_ptr< IAudioMixer > &mixer, uint64_t &lastSampleTime)=0
 

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
 

Detailed Description

Common functionality needed by most IAudioCapture implementations.

Constructor & Destructor Documentation

◆ AudioCaptureBase()

ttv::broadcast::AudioCaptureBase::AudioCaptureBase ( )

Member Function Documentation

◆ GetAudioLayer()

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

◆ GetMuted()

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

Retrieves the current muted state.

Implements ttv::broadcast::IAudioCapture.

◆ GetName()

virtual std::string ttv::broadcast::IAudioCapture::GetName ( ) const
pure virtualinherited

◆ GetNumChannels()

virtual uint32_t ttv::broadcast::IAudioCapture::GetNumChannels ( ) const
pure virtualinherited

Retrieves the number of channels captured.

Implemented in ttv::broadcast::WinAudioCapture, ttv::broadcast::PassThroughAudioCapture, and ttv::broadcast::AppleAudioCapture.

◆ Initialize()

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

◆ Process()

virtual TTV_ErrorCode ttv::broadcast::IAudioCapture::Process ( const std::shared_ptr< IAudioMixer > &  mixer,
uint64_t &  lastSampleTime 
)
pure virtualinherited

◆ SamplesToSystemTime()

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

◆ SetAudioLayer()

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

◆ SetAudioMixer()

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

◆ SetInitialTime()

virtual void ttv::broadcast::AudioCaptureBase::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.

Implements ttv::broadcast::IAudioCapture.

Reimplemented in ttv::broadcast::AppleAudioCapture.

◆ SetMuted()

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

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

◆ Start()

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

◆ Stop()

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

◆ SystemTimeToSamples()

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

Member Data Documentation

◆ mAudioLayer

AudioLayerId ttv::broadcast::AudioCaptureBase::mAudioLayer
protected

◆ mAudioMixer

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

◆ mInitialized

bool ttv::broadcast::AudioCaptureBase::mInitialized
protected

◆ mInitialSysTime

uint64_t ttv::broadcast::AudioCaptureBase::mInitialSysTime
protected

◆ mMuted

bool ttv::broadcast::AudioCaptureBase::mMuted
protected

◆ mStarted

bool ttv::broadcast::AudioCaptureBase::mStarted
protected

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