19#include <condition_variable>
27#include "audio_frame.h"
28#include "ffi_handle.h"
29#include "participant.h"
86 static std::shared_ptr<AudioStream>
91 TrackSource track_source,
120 void initFromTrack(const std::shared_ptr<
Track> &track,
122 void initFromParticipant(
Participant &participant, TrackSource track_source,
126 void onFfiEvent(const proto::FfiEvent &event);
132 mutable std::mutex mutex_;
133 std::condition_variable cv_;
135 std::
size_t capacity_{0};
142 FfiHandle stream_handle_;
145 std::int64_t listener_id_{0};
Represents a raw PCM audio frame with interleaved int16 samples.
Definition audio_frame.h:37
Definition audio_stream.h:64
static std::shared_ptr< AudioStream > fromTrack(const std::shared_ptr< Track > &track, const Options &options)
Factory: create an AudioStream bound to a specific Track.
AudioStream(const AudioStream &)=delete
No copy, assignment constructors.
static std::shared_ptr< AudioStream > fromParticipant(Participant &participant, TrackSource track_source, const Options &options)
Factory: create an AudioStream from a Participant + TrackSource.
bool read(AudioFrameEvent &out_event)
Definition participant.h:31
Event containing an audio frame received from an AudioStream.
Definition audio_stream.h:44
AudioFrame frame
The decoded PCM audio frame.
Definition audio_stream.h:45
Configuration options for AudioStream creation.
Definition audio_stream.h:67
std::size_t capacity
Definition audio_stream.h:74
std::string noise_cancellation_options_json
Definition audio_stream.h:82
std::string noise_cancellation_module
Definition audio_stream.h:78