RTMS Publisher. More...
#include <rtmsLlnetioPublisher.hpp>
Public Member Functions | |
| RtmsLlnetioPublisher (const RtmsNetworkConfig &rtms_cfg, bool compute_latency=false, const PublisherThreadConfig &thread_cfg=PublisherThreadConfig()) | |
| virtual | ~RtmsLlnetioPublisher () |
| bool | Push (std::shared_ptr< PublishFramePacket > pkt) |
| Push a frame packet onto the SPSC queue. | |
| void | PushLatencyStart (double ts) |
| Record a latency start timestamp (to be matched with send completion). | |
| void | Notify () |
| Signal the publisher thread that data is available. | |
| void | Stop () |
| Stop the publisher thread (wait for drain timeout). | |
| bool | IsStopped () const |
| Check if the publisher thread has been stopped. | |
| void | SetOffsets (int offset_x, int offset_y) |
| Set the AOI offset values for BasicImageInfo ext_info header. | |
| void | SetComputeLatency (bool enable) |
| bool | GetComputeLatency () const |
| void | ResetLatency () |
| void | GetFirstPacketSentLatency (double &latency, double &stddev, double &variance, int &nb_of_samples) |
| void | GetFrameSentLatency (double &latency, double &stddev, double &variance, int &nb_of_samples) |
RTMS Publisher.
Dedicated thread that consumes frames from a lock-free SPSC queue and sends them via LLNETIO (RtmsSender). Decouples network send latency from the camera acquisition thread.
| ifw::fgf::andor::RtmsLlnetioPublisher::RtmsLlnetioPublisher | ( | const RtmsNetworkConfig & | rtms_cfg, |
| bool | compute_latency = false, | ||
| const PublisherThreadConfig & | thread_cfg = PublisherThreadConfig() ) |
|
virtual |
| bool ifw::fgf::andor::RtmsLlnetioPublisher::GetComputeLatency | ( | ) | const |
| void ifw::fgf::andor::RtmsLlnetioPublisher::GetFirstPacketSentLatency | ( | double & | latency, |
| double & | stddev, | ||
| double & | variance, | ||
| int & | nb_of_samples ) |
| void ifw::fgf::andor::RtmsLlnetioPublisher::GetFrameSentLatency | ( | double & | latency, |
| double & | stddev, | ||
| double & | variance, | ||
| int & | nb_of_samples ) |
| bool ifw::fgf::andor::RtmsLlnetioPublisher::IsStopped | ( | ) | const |
Check if the publisher thread has been stopped.
| void ifw::fgf::andor::RtmsLlnetioPublisher::Notify | ( | ) |
Signal the publisher thread that data is available.
| bool ifw::fgf::andor::RtmsLlnetioPublisher::Push | ( | std::shared_ptr< PublishFramePacket > | pkt | ) |
Push a frame packet onto the SPSC queue.
| void ifw::fgf::andor::RtmsLlnetioPublisher::PushLatencyStart | ( | double | ts | ) |
Record a latency start timestamp (to be matched with send completion).
| void ifw::fgf::andor::RtmsLlnetioPublisher::ResetLatency | ( | ) |
| void ifw::fgf::andor::RtmsLlnetioPublisher::SetComputeLatency | ( | bool | enable | ) |
| void ifw::fgf::andor::RtmsLlnetioPublisher::SetOffsets | ( | int | offset_x, |
| int | offset_y ) |
Set the AOI offset values for BasicImageInfo ext_info header.
| void ifw::fgf::andor::RtmsLlnetioPublisher::Stop | ( | ) |
Stop the publisher thread (wait for drain timeout).