|
Ring Daemon
|
#include <audio_input.h>


Public Member Functions | |
| AudioInput (const std::string &id) | |
| AudioInput (const std::string &id, const std::string &resource) | |
| void | configureFilePlayback (const std::string &path, std::shared_ptr< MediaDemuxer > &demuxer, int index) |
| void | flushBuffers () |
| std::string | getId () const |
| MediaStream | getInfo () const |
| MediaStream | getInfo (const std::string &name) const |
| std::string | getSourceRingBufferId () const |
| Return the ring-buffer ID that other components should read from to get this input's audio data. | |
| bool | isCapturing () const |
| void | setFormat (const AudioFormat &fmt) |
| void | setMuted (bool isMuted) |
| void | setPaused (bool paused) |
| void | setRecorderCallback (const std::function< void(const MediaStream &ms)> &cb) |
| void | setSeekTime (int64_t time) |
| void | setSuccessfulSetupCb (const std::function< void(MediaType, bool)> &cb) |
| void | start () |
| std::shared_future< DeviceParams > | switchInput (const std::string &resource) |
| void | updateStartTime (int64_t start) |
| ~AudioInput () | |
Public Member Functions inherited from jami::Observable< std::shared_ptr< MediaFrame > > | |
| bool | attach (Observer< std::shared_ptr< MediaFrame > > *o) |
| void | attachPriorityObserver (std::shared_ptr< Observer< std::shared_ptr< MediaFrame > > > o) |
| bool | detach (Observer< std::shared_ptr< MediaFrame > > *o) |
| void | detachPriorityObserver (Observer< std::shared_ptr< MediaFrame > > *o) |
| size_t | getObserversCount () |
| Observable () | |
| virtual | ~Observable () |
| ~Observable Detach all observers to avoid making them call this observable when destroyed | |
Additional Inherited Members | |
Protected Member Functions inherited from jami::Observable< std::shared_ptr< MediaFrame > > | |
| void | notify (std::shared_ptr< MediaFrame > data) |
Protected Attributes inherited from jami::Observable< std::shared_ptr< MediaFrame > > | |
| std::mutex | mutex_ |
| std::set< Observer< std::shared_ptr< MediaFrame > > * > | observers_ |
| std::list< std::weak_ptr< Observer< std::shared_ptr< MediaFrame > > > > | priority_observers_ |
Definition at line 41 of file audio_input.h.
| jami::AudioInput::AudioInput | ( | const std::string & | id | ) |
Definition at line 36 of file audio_input.cpp.
References jami::emitSignal().

Definition at line 51 of file audio_input.cpp.
References jami::emitSignal(), and switchInput().

| jami::AudioInput::~AudioInput | ( | ) |
Definition at line 57 of file audio_input.cpp.
References jami::RingBufferPool::DEFAULT_ID, jami::RingBufferPool::flush(), jami::Manager::getRingBufferPool(), jami::Manager::instance(), jami::ThreadLoop::join(), and jami::RingBufferPool::unBindHalfDuplexOut().

| void jami::AudioInput::configureFilePlayback | ( | const std::string & | path, |
| std::shared_ptr< MediaDemuxer > & | demuxer, | ||
| int | index | ||
| ) |
Definition at line 245 of file audio_input.cpp.
References jami::RingBufferPool::bindHalfDuplexOut(), jami::RingBufferPool::DEFAULT_ID, jami::emitSignal(), jami::libav_utils::fillWithSilence(), jami::Manager::getRingBufferPool(), jami::DeviceParams::input, jami::Manager::instance(), isCapturing(), jami::MS_PER_PACKET, jami::DeviceParams::name, jami::PLAYBACK, jami::ThreadLoop::start(), and jami::Manager::startAudioStream().

| void jami::AudioInput::flushBuffers | ( | ) |
Definition at line 290 of file audio_input.cpp.
|
inline |
Definition at line 66 of file audio_input.h.
| MediaStream jami::AudioInput::getInfo | ( | ) | const |
Definition at line 467 of file audio_input.cpp.
References jami::emitSignal().
Referenced by setRecorderCallback().

| MediaStream jami::AudioInput::getInfo | ( | const std::string & | name | ) | const |
Definition at line 474 of file audio_input.cpp.
References jami::emitSignal().

|
inline |
Return the ring-buffer ID that other components should read from to get this input's audio data.
For capture streams this is the target device ID (e.g. "desktop"); for files it is the AudioInput's own ID (where the decoder writes).
Definition at line 74 of file audio_input.h.
|
inline |
Definition at line 51 of file audio_input.h.
References jami::ThreadLoop::isRunning().
Referenced by configureFilePlayback().

| void jami::AudioInput::setFormat | ( | const AudioFormat & | fmt | ) |
Definition at line 452 of file audio_input.cpp.
References jami::emitSignal(), jami::MS_PER_PACKET, and jami::AudioFormat::sample_rate.

Definition at line 460 of file audio_input.cpp.
References JAMI_WARN.
Definition at line 277 of file audio_input.cpp.
References jami::RingBufferPool::bindHalfDuplexOut(), jami::RingBufferPool::DEFAULT_ID, jami::emitSignal(), jami::Manager::getRingBufferPool(), jami::Manager::instance(), jami::PLAYBACK, jami::Manager::startAudioStream(), and jami::RingBufferPool::unBindHalfDuplexOut().

| void jami::AudioInput::setRecorderCallback | ( | const std::function< void(const MediaStream &ms)> & | cb | ) |
Definition at line 395 of file audio_input.cpp.
References jami::emitSignal(), and getInfo().

Definition at line 94 of file audio_input.cpp.
References jami::emitSignal().

|
inline |
Definition at line 62 of file audio_input.h.
References jami::emitSignal().

|
inline |
Definition at line 49 of file audio_input.h.
References jami::ThreadLoop::start().
Referenced by updateStartTime().

| std::shared_future< DeviceParams > jami::AudioInput::switchInput | ( | const std::string & | resource | ) |
Definition at line 325 of file audio_input.cpp.
References jami::RingBufferPool::DEFAULT_ID, libjami::Media::VideoProtocolPrefix::DISPLAY, jami::emitSignal(), libjami::Media::VideoProtocolPrefix::FILE, jami::Manager::getRingBufferPool(), jami::Manager::instance(), jami::ThreadLoop::isRunning(), JAMI_DEBUG, jami::MEDIA_AUDIO, jami::MS_PER_PACKET, libjami::Media::VideoProtocolPrefix::SEPARATOR, jami::ThreadLoop::start(), and jami::RingBufferPool::unBindHalfDuplexOut().
Referenced by AudioInput().

Definition at line 76 of file audio_input.cpp.
References start().
