21#include "livekit/audio_frame.h"
22#include "livekit/ffi_handle.h"
23#include "livekit/visibility.h"
68 AudioSource(
int sample_rate,
int num_channels,
int queue_size_ms = 0);
77 int sampleRate() const noexcept {
return sample_rate_; }
83 std::uint64_t
ffiHandleId() const noexcept {
return static_cast<std::uint64_t
>(handle_.get()); }
131 void captureFrame(const
AudioFrame& frame,
int timeout_ms = 20);
135 void resetQueueTracking() noexcept;
145 mutable
double last_capture_{0.0};
146 mutable double q_size_{0.0};
Represents a raw PCM audio frame with interleaved int16 samples.
Definition audio_frame.h:37
Represents a real-time audio source with an internal audio queue.
Definition audio_source.h:35
AudioSource(int sample_rate, int num_channels, int queue_size_ms=0)
Create a new native audio source.
int numChannels() const noexcept
The number of audio channels.
Definition audio_source.h:80
double queuedDuration() const noexcept
Current duration of queued audio (in seconds).
std::uint64_t ffiHandleId() const noexcept
Underlying FFI handle ID used in FFI requests.
Definition audio_source.h:83
RAII wrapper for an FFI handle (uintptr_t) coming from Rust.
Definition ffi_handle.h:29
Public API for the LiveKit C++ Client SDK.
Definition audio_frame.h:25