49 void GetCapturers(std::vector<std::shared_ptr<IAudioCapture>>& result)
const;
88 std::map<AudioLayerId, LayerProperties>
mLayers;
TTV_ErrorCode Initialize(const AudioParams &audioParams)
void SetCapturerEnabled(AudioLayerId layer, bool enabled)
TTV_ErrorCode WritePcmAudioFrames(const std::shared_ptr< CaptureContext > &context, uint64_t latestTimeToProcess)
std::shared_ptr< IAudioEncoder > mAudioEncoder
Definition: audiostreamer.h:89
void SetInitialTime(uint64_t initialTime)
std::shared_ptr< PcmAudioMixer > mAudioMixer
Definition: audiostreamer.h:90
void SetCapturer(AudioLayerId layerId, const std::shared_ptr< IAudioCapture > &capturer)
std::vector< int16_t > mMixedSamplesBuffer
Definition: audiostreamer.h:83
uint32_t AudioLayerId
Definition: broadcasttypes.h:192
TTV_ErrorCode StopCapturers()
std::atomic_bool mDoProcessing
Definition: audiostreamer.h:95
void GetEnabledCapturers(std::vector< std::shared_ptr< IAudioCapture >> &result) const
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
std::shared_ptr< IThreadSync > mInitializingThreadSync
Definition: audiostreamer.h:85
TTV_ErrorCode StartCapture()
float volume
Definition: audiostreamer.h:67
uint64_t initialTime
Definition: audiostreamer.h:66
Definition: iaudioencoder.h:29
bool HasEnabledCapturers() const
TTV_ErrorCode SetEncoder(const std::shared_ptr< IAudioEncoder > &encoder)
volumeChanges_t volumeChanges
Definition: audiostreamer.h:65
uint32_t TTV_ErrorCode
Definition: errortypes.h:30
std::shared_ptr< IAudioCapture > capturer
Definition: audiostreamer.h:64
std::shared_ptr< IThread > mDeviceProcessingThread
Definition: audiostreamer.h:91
std::queue< std::pair< uint64_t, float > > volumeChanges_t
Definition: audiostreamer.h:55
uint64_t mInitialTime
Definition: audiostreamer.h:82
std::map< AudioLayerId, LayerProperties > mLayers
Definition: audiostreamer.h:88
uint32_t mNumPcmSamplesPerChannel
Definition: audiostreamer.h:81
bool enabled
Definition: audiostreamer.h:68
float GetVolume(AudioLayerId layer) const
AudioParams mAudioParams
Definition: audiostreamer.h:93
TTV_ErrorCode WritePassThroughAudioFrames(const std::shared_ptr< CaptureContext > &context, uint64_t latestTimeToProcess)
Definition: audiostreamer.h:30
Definition: audiostreamer.h:60
void StartCapturers(const std::shared_ptr< IAudioMixer > &mixer)
void GetCapturers(std::vector< std::shared_ptr< IAudioCapture >> &result) const
void SetVolume(AudioLayerId layer, float volume)
std::shared_ptr< IAudioCapture > GetCapturer(AudioLayerId layer) const
TTV_ErrorCode SubmitPcmSamplesToMixer(AudioLayerId audioLayerId, const int16_t *samples, size_t numSamples, uint64_t sampleTime)
volatile TTV_ErrorCode mInitializeResult
Definition: audiostreamer.h:86