28#include <libavutil/frame.h>
46 std::swap(
pos_,
o.pos_);
60 std::unique_ptr<AudioFrame>
getNext(
size_t samples = 0,
bool mute =
false);
86 virtual void onBufferFinish();
AudioLoop & operator=(AudioLoop &&o) noexcept
AudioFormat getFormat() const
size_t getSize() const
Accessor to the size of the buffer.
void reset()
Reset the pointer position.
size_t pos_
current position, set to 0, when initialize
void seek(double relative_position)
libjami::FrameBuffer buffer_
The data buffer.
void getNext(AVFrame *output, bool mute)
Get the next fragment of the tone the function change the intern position, and will loop.
void emitSignal(Args... args)
std::unique_ptr< AVFrame, AVFrame_deleter > FrameBuffer
Simple macro to hide class' copy constructor and assignment operator.
#define NON_COPYABLE(ClassName)