fast::FramerateSynchronizer class

Synchronize multiple process objects This PO takes in N input connections and creates N output connections. It keeps the last frame of every connection, and every time a connection has a new data frame, it send out the latest frame to all output connections.

Base classes

class ProcessObject
Abstract base class for all process objects.

Constructors, destructors, conversion operators

~FramerateSynchronizer()

Public functions

auto create(int priorityPort) -> std::shared_ptr<FramerateSynchronizer>
void setInputConnection(uint portID, DataChannel::pointer port) override

Protected functions

void execute() override

Protected variables

std::unordered_map<uint, std::shared_ptr<DataObject>> m_latestData
int m_priorityPort
std::map<uint, DataChannel::pointer> m_parents
std::mutex m_latestDataMutex
std::condition_variable m_dataCV
bool m_newData
std::vector<std::thread*> m_threads