Ring Daemon 16.0.0
|
#include <jacklayer.h>
Public Member Functions | |
JackLayer (const AudioPreference &) | |
~JackLayer () | |
![]() | |
AudioLayer (const AudioPreference &) | |
void | flushMain () |
Flush main buffer. | |
void | flushUrgent () |
Flush urgent buffer. | |
double | getCaptureGain () const |
Get capture stream gain (microphone) | |
AudioFormat | getFormat () const |
Get the audio format of the layer (sample rate & channel number). | |
double | getPlaybackGain () const |
Get playback stream gain (speaker) | |
unsigned int | getSampleRate () const |
Get the sample rate of the audio layer. | |
bool | isCaptureMuted () const |
bool | isPlaybackMuted () const |
bool | isRingtoneMuted () const |
bool | isStarted () const |
Determine whether or not the audio layer is active (i.e. | |
void | muteCapture (bool muted) |
Mute capture (microphone) | |
void | mutePlayback (bool muted) |
Mute playback. | |
void | muteRingtone (bool muted) |
void | notifyIncomingCall () |
Emit an audio notification (beep) on incoming calls. | |
void | playIncomingCallNotification (bool play) |
Start/Stop playing the incoming call notification sound (beep) while playing back audio (typically during an ongoing call). | |
void | putUrgent (std::shared_ptr< AudioFrame > buffer) |
Send a chunk of data to the hardware buffer to start the playback Copy data in the urgent buffer. | |
void | setCaptureGain (double gain) |
Set capture stream gain (microphone) Range should be [-1.0, 1.0]. | |
void | setPlaybackGain (double gain) |
Set playback stream gain (speaker) Range should be [-1.0, 1.0]. | |
template<class Rep , class Period > | |
bool | waitForStart (const std::chrono::duration< Rep, Period > &rel_time) const |
virtual | ~AudioLayer () |
Additional Inherited Members | |
![]() | |
enum class | Status { Idle , Starting , Started } |
![]() | |
void | devicesChanged () |
void | flush () |
std::shared_ptr< AudioFrame > | getPlayback (AudioFormat format, size_t samples) |
std::shared_ptr< AudioFrame > | getToPlay (AudioFormat format, size_t writableSamples) |
std::shared_ptr< AudioFrame > | getToRing (AudioFormat format, size_t writableSamples) |
void | hardwareFormatAvailable (AudioFormat playback, size_t bufSize=0) |
Callback to be called by derived classes when the audio output is opened. | |
void | hardwareInputFormatAvailable (AudioFormat capture) |
Set the input format on necessary objects. | |
void | playbackChanged (bool started) |
void | putRecorded (std::shared_ptr< AudioFrame > &&frame) |
void | recordChanged (bool started) |
void | setHasNativeAEC (bool hasEAC) |
void | setHasNativeNS (bool hasNS) |
![]() | |
AudioFormat | audioFormat_ |
Sample Rate that should be sent to the sound card. | |
AudioFormat | audioInputFormat_ |
Sample Rate for input. | |
double | captureGain_ |
Gain applied to mic signal. | |
bool | hasNativeAEC_ {true} |
bool | hasNativeNS_ {false} |
bool | isCaptureMuted_ |
True if capture is not to be used. | |
bool | isPlaybackMuted_ |
True if playback is not to be used. | |
bool | isRingtoneMuted_ {false} |
True if ringtone should be muted. | |
std::shared_ptr< RingBuffer > | mainRingBuffer_ |
Buffers for audio processing. | |
std::mutex | mutex_ {} |
Lock for the entire audio layer. | |
size_t | nativeFrameSize_ {0} |
double | playbackGain_ |
Gain applied to playback signal. | |
std::unique_ptr< AudioFrameResizer > | playbackQueue_ |
bool | playbackStarted_ {false} |
const AudioPreference & | pref_ |
bool | recordStarted_ {false} |
std::unique_ptr< Resampler > | resampler_ |
Manage sampling rate conversion. | |
std::condition_variable | startedCv_ |
std::atomic< Status > | status_ {Status::Idle} |
Whether or not the audio layer's playback stream is started. | |
RingBuffer | urgentRingBuffer_ |
Urgent ring buffer used for ringtones. | |
Definition at line 35 of file jacklayer.h.
jami::JackLayer::JackLayer | ( | const AudioPreference & | p | ) |
Definition at line 215 of file jacklayer.cpp.
References jami::AudioLayer::audioInputFormat_, jami::createPorts(), jami::emitSignal(), jami::AudioLayer::hardwareFormatAvailable(), and jami::AudioLayer::hardwareInputFormatAvailable().
jami::JackLayer::~JackLayer | ( | ) |
Definition at line 247 of file jacklayer.cpp.
References jami::emitSignal(), and JAMI_ERR.