|
Ring Daemon
|
#include <ringbufferpool.h>

Public Types | |
| using | clock = std::chrono::steady_clock |
| using | duration = clock::duration |
| using | time_point = clock::time_point |
Static Public Attributes | |
| static const char *const | DEFAULT_ID = "audiolayer_id" |
Definition at line 33 of file ringbufferpool.h.
| using jami::RingBufferPool::clock = std::chrono::steady_clock |
Definition at line 36 of file ringbufferpool.h.
| using jami::RingBufferPool::duration = clock::duration |
Definition at line 38 of file ringbufferpool.h.
| using jami::RingBufferPool::time_point = clock::time_point |
Definition at line 37 of file ringbufferpool.h.
| jami::RingBufferPool::RingBufferPool | ( | ) |
Definition at line 28 of file ringbufferpool.cpp.
| jami::RingBufferPool::~RingBufferPool | ( | ) |
Definition at line 32 of file ringbufferpool.cpp.
References jami::emitSignal(), and JAMI_WARNING.

Definition at line 384 of file ringbufferpool.cpp.
References jami::emitSignal().

| void jami::RingBufferPool::bindHalfDuplexOut | ( | const std::string & | readerBufferId, |
| const std::string & | sourceBufferId | ||
| ) |
Attaches a reader the specified source.
| readerBufferId | The ID of the RingBuffer that will act as the reader of the sourceBuffer. |
| sourceBufferId | The iID of the RingBuffer that will be the source (to be read from). |
Definition at line 192 of file ringbufferpool.cpp.
References jami::emitSignal().
Referenced by jami::AudioInput::configureFilePlayback(), jami::AudioInput::setPaused(), and jami::LocalRecorder::start().

| void jami::RingBufferPool::bindRingBuffers | ( | const std::string & | ringbufferId1, |
| const std::string & | ringbufferId2 | ||
| ) |
Bind two RingBuffer together (full duplex).
| ringbufferId1 | |
| ringbufferId2 |
Definition at line 169 of file ringbufferpool.cpp.
References jami::emitSignal(), JAMI_ERROR, and JAMI_LOG.

| std::shared_ptr< RingBuffer > jami::RingBufferPool::createRingBuffer | ( | const std::string & | id | ) |
Create a new ringbuffer with a default readoffset.
This class keeps a weak reference on returned pointer, so the caller is responsible of the referred instance.
Definition at line 109 of file ringbufferpool.cpp.
References jami::emitSignal(), and JAMI_DEBUG.
Referenced by jami::PulseLayer::startCaptureStream().

Definition at line 409 of file ringbufferpool.cpp.
References jami::emitSignal().
Referenced by jami::AudioLayer::getToPlay().

Definition at line 424 of file ringbufferpool.cpp.
References jami::emitSignal().
Referenced by jami::AudioInput::~AudioInput().

| void jami::RingBufferPool::flushAllBuffers | ( | ) |
Definition at line 451 of file ringbufferpool.cpp.
References jami::emitSignal().
Referenced by jami::AudioLayer::flush(), and jami::AudioLayer::flushMain().

| std::shared_ptr< AudioFrame > jami::RingBufferPool::getAvailableData | ( | const std::string & | ringbufferId | ) |
Definition at line 349 of file ringbufferpool.cpp.
References jami::emitSignal().

| std::shared_ptr< AudioFrame > jami::RingBufferPool::getData | ( | const std::string & | ringbufferId | ) |
Definition at line 298 of file ringbufferpool.cpp.
References jami::emitSignal().

|
inline |
Definition at line 46 of file ringbufferpool.h.
|
inline |
Definition at line 44 of file ringbufferpool.h.
References jami::AudioFormat::sample_rate.
| std::shared_ptr< RingBuffer > jami::RingBufferPool::getRingBuffer | ( | const std::string & | id | ) |
Obtain a shared pointer on a RingBuffer given by its ID.
If the ID doesn't match to any RingBuffer, the shared pointer is empty. This non-const version flushes internal weak pointers if the ID was used and the associated RingBuffer has been deleted.
Definition at line 95 of file ringbufferpool.cpp.
References jami::emitSignal().

| std::shared_ptr< RingBuffer > jami::RingBufferPool::getRingBuffer | ( | const std::string & | id | ) | const |
Works as non-const getRingBuffer, without the weak reference flush.
Definition at line 102 of file ringbufferpool.cpp.
References jami::emitSignal().

Definition at line 458 of file ringbufferpool.cpp.
References jami::emitSignal().
Referenced by libjami::isAudioMeterActive().

Definition at line 478 of file ringbufferpool.cpp.
References jami::emitSignal().
Referenced by libjami::setAudioMeterState().

| void jami::RingBufferPool::setInternalAudioFormat | ( | AudioFormat | format | ) |
Definition at line 58 of file ringbufferpool.cpp.
References jami::emitSignal().

Definition at line 47 of file ringbufferpool.cpp.
References jami::emitSignal(), and jami::AudioFormat::sample_rate.

Definition at line 274 of file ringbufferpool.cpp.
References jami::emitSignal(), JAMI_ERROR, and JAMI_LOG.
Referenced by jami::PulseLayer::stopCaptureStream().

Detaches a source from all its readers.
| sourceBufferId | The ID of the RingBuffer that serves as the source (being read from). |
Definition at line 257 of file ringbufferpool.cpp.
References jami::emitSignal(), and JAMI_ERROR.

Detaches a reader from all his sources.
| readerBufferId | The ID of the RingBuffer that acts as the reader to be detached from the sources. |
Definition at line 237 of file ringbufferpool.cpp.
References jami::emitSignal(), and JAMI_ERROR.

| void jami::RingBufferPool::unBindHalfDuplexOut | ( | const std::string & | readerBufferId, |
| const std::string & | sourceBufferId | ||
| ) |
Detaches a reader from the specified source.
| readerBufferId | The ID of the RingBuffer that acts as the reader to be detached from the sourceBuffer. |
| sourceBufferId | The RingBuffer that serves as the source (being read from). |
Definition at line 228 of file ringbufferpool.cpp.
References jami::emitSignal().
Referenced by jami::AudioInput::setPaused(), jami::AudioRtpSession::stop(), jami::LocalRecorder::stopRecording(), jami::AudioInput::switchInput(), and jami::AudioInput::~AudioInput().

| void jami::RingBufferPool::unbindRingBuffers | ( | const std::string & | ringbufferId1, |
| const std::string & | ringbufferId2 | ||
| ) |
Unbind two RingBuffer (full duplex).
Definition at line 205 of file ringbufferpool.cpp.
References jami::emitSignal(), JAMI_ERROR, and JAMI_LOG.

| bool jami::RingBufferPool::waitForDataAvailable | ( | const std::string & | ringbufferId, |
| const duration & | max_wait | ||
| ) | const |
Definition at line 326 of file ringbufferpool.cpp.
References jami::emitSignal(), and waitForDataAvailable().
Referenced by waitForDataAvailable().

| bool jami::RingBufferPool::waitForDataAvailable | ( | const std::string & | ringbufferId, |
| const time_point & | deadline | ||
| ) | const |
Definition at line 332 of file ringbufferpool.cpp.
References jami::emitSignal().

Definition at line 39 of file ringbufferpool.h.
Referenced by jami::AudioLayer::AudioLayer(), jami::AudioInput::configureFilePlayback(), jami::AudioLayer::getToPlay(), jami::Manager::ManagerPimpl::processRemainingParticipants(), jami::AudioInput::setPaused(), jami::LocalRecorder::start(), libjami::startAudioDevice(), jami::AudioRtpSession::stop(), jami::LocalRecorder::stopRecording(), jami::AudioInput::switchInput(), and jami::AudioInput::~AudioInput().