fast::RandomAccessStreamer class

Abstract class of streamer in which any frame can be accessed at any time through an integer index and playbacked can be paused.

Base classes

class Streamer
Abstract base class for all Streamers.

Derived classes

class FileStreamer
Abstract file streamer class.
class InterleavePlayback
Interleaves input data streams into one output stream with playback control.
class UFFStreamer
Stream ultrasound file format (UFF) data.

Public functions

void setPause(bool pause) virtual
auto getPause() -> bool virtual
auto getCurrentFrameIndex() -> int virtual
void setCurrentFrameIndex(int index) virtual
auto getCurrentFrameIndexAndUpdate() -> int virtual
auto getFramerate() const -> int virtual
void setFramerate(int framerate) virtual
auto getNrOfFrames() -> int pure virtual
void stop() override
void setLooping(bool loop) virtual
auto getLooping() const -> bool virtual
void frameAdded() override
void waitForUnpause() virtual

Protected variables

int m_framerate
bool m_pause
bool m_pauseAfterOneFrame
std::mutex m_playbackMutex
std::mutex m_pauseMutex
std::condition_variable m_pauseCV
int m_currentFrameIndex
bool m_loop

Function documentation

void fast::RandomAccessStreamer::stop() override

Stop the stream

void fast::RandomAccessStreamer::frameAdded() override

Signal that a frame was added. Necessary for unlocking the block in waitForFirstFrame