ifw-rtmstools 3.0.0
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
ifw::rtmstools::RtmsReceiverTool Class Reference

The RtmsReceiverTool class. More...

#include <rtmsReceiverTool.hpp>

Inheritance diagram for ifw::rtmstools::RtmsReceiverTool:
ifw::rtmstools::RtmsReceiver

Public Member Functions

 RtmsReceiverTool (std::string address, int port, std::string net_if, int width, int height, int bpp, uint32_t samples)
 
virtual void HandleLeaderPacket ()
 Invoked to handle a MUDPI/RTMS Leader Packet.
 
virtual void HandlePayloadPacket (mudpiif::mudpiPacketJumbo &packet)
 Invoked to handle a MUDPI/RTMS Payload Packet.
 
virtual void HandleTrailerPacket ()
 Invoked to handle a MUDPI/RTMS Trailer Packet.
 
virtual void HandleLostPackets ()
 Handle the case where packets are lost.
 
std::string GenerateReport () const
 
- Public Member Functions inherited from ifw::rtmstools::RtmsReceiver
 RtmsReceiver (std::string address, int port, std::string net_if, int width, int height, int bpp, const int rcv_buf_factor=3)
 
virtual ~RtmsReceiver ()
 
int GetSize () const
 Get image size in bytes.
 
int GetWidth () const
 
int GetHeight () const
 
void ReceivePacket (const boost::system::error_code &error, size_t bytes_transferred)
 Callback to process RTMS packets.
 
virtual void HandleWrongFrameId ()
 Handle the case where a wrong frame ID is received.
 
virtual void Wait ()
 Wait for incoming network data (for asynchroneous use)
 
void StartReceiver ()
 Network configuration.
 
void StopReceiver ()
 
int32_t GetCurrentSampleId () const
 

Public Attributes

uint32_t m_samples {0}
 
uint32_t m_samples_received {0}
 
uint32_t m_samples_lost {0}
 
uint32_t m_packets_received {0}
 
uint32_t m_packets_lost {0}
 
int32_t m_lost_sample_id {-1}
 
double m_last_heart_beat {0.0}
 
- Public Attributes inherited from ifw::rtmstools::RtmsReceiver
std::string m_address
 
int m_port
 
std::string m_net_if
 
int m_width
 
int m_height
 
int m_bpp
 
long unsigned int m_prev_frames_expected
 
long unsigned int m_prev_frames_received
 
bool m_execute
 
int m_rcv_buf_factor {3}
 
double m_last_lost_packets_log {0.0}
 
double m_last_diff_sample_id_log {0.0}
 
int32_t m_current_sample_id {-1}
 
unsigned int m_sample {0}
 
bool m_io_service_running {false}
 
boost::asio::io_service m_io_service
 
boost::asio::ip::udp::socket m_socket {m_io_service}
 
boost::array< char, PACKET_SIZEm_recv_buffer
 
boost::asio::ip::udp::endpoint m_remote_endpoint
 
struct timeval m_start m_end
 
int m_num_frames = 0
 
log4cplus::Logger m_logger
 

Detailed Description

The RtmsReceiverTool class.

RTMS receive class which merely receives the RTMS packets and keeps track of lost packets and samples and computes statistics.

Constructor & Destructor Documentation

◆ RtmsReceiverTool()

ifw::rtmstools::RtmsReceiverTool::RtmsReceiverTool ( std::string address,
int port,
std::string net_if,
int width,
int height,
int bpp,
uint32_t samples )

Member Function Documentation

◆ GenerateReport()

std::string ifw::rtmstools::RtmsReceiverTool::GenerateReport ( ) const

◆ HandleLeaderPacket()

void ifw::rtmstools::RtmsReceiverTool::HandleLeaderPacket ( )
virtual

Invoked to handle a MUDPI/RTMS Leader Packet.

Reimplemented from ifw::rtmstools::RtmsReceiver.

◆ HandleLostPackets()

void ifw::rtmstools::RtmsReceiverTool::HandleLostPackets ( )
virtual

Handle the case where packets are lost.

Reimplemented from ifw::rtmstools::RtmsReceiver.

◆ HandlePayloadPacket()

void ifw::rtmstools::RtmsReceiverTool::HandlePayloadPacket ( mudpiif::mudpiPacketJumbo & packet)
virtual

Invoked to handle a MUDPI/RTMS Payload Packet.

Reimplemented from ifw::rtmstools::RtmsReceiver.

◆ HandleTrailerPacket()

void ifw::rtmstools::RtmsReceiverTool::HandleTrailerPacket ( )
virtual

Invoked to handle a MUDPI/RTMS Trailer Packet.

Reimplemented from ifw::rtmstools::RtmsReceiver.

Member Data Documentation

◆ m_last_heart_beat

double ifw::rtmstools::RtmsReceiverTool::m_last_heart_beat {0.0}

◆ m_lost_sample_id

int32_t ifw::rtmstools::RtmsReceiverTool::m_lost_sample_id {-1}

◆ m_packets_lost

uint32_t ifw::rtmstools::RtmsReceiverTool::m_packets_lost {0}

◆ m_packets_received

uint32_t ifw::rtmstools::RtmsReceiverTool::m_packets_received {0}

◆ m_samples

uint32_t ifw::rtmstools::RtmsReceiverTool::m_samples {0}

◆ m_samples_lost

uint32_t ifw::rtmstools::RtmsReceiverTool::m_samples_lost {0}

◆ m_samples_received

uint32_t ifw::rtmstools::RtmsReceiverTool::m_samples_received {0}

The documentation for this class was generated from the following files: