![]() |
MediaX v1.0.0rc7 [7e6cb74]
Video streaming for military vehicles
|
Manage an RTP stream. More...
#include <rtp_uncompressed_payloader.h>
Public Member Functions | |
RtpUncompressedPayloader () | |
The supported colour spaces. | |
~RtpUncompressedPayloader () final | |
Destroy the Rtp Stream object. | |
void | SetStreamInfo (const ::mediax::rtp::StreamInformation &stream_information) final |
Configure an RTP output stream. | |
bool | Open () final |
Open the RTP stream. | |
void | Close () final |
Close the RTP stream. | |
int | Transmit (uint8_t *rgbframe, bool blocking=true) final |
Transmit an RGB buffer. | |
std::mutex & | GetMutex () |
Get the Mutex object. | |
![]() | |
RtpPayloader ()=default | |
Construct a new Rtp Payloader object. | |
virtual | ~RtpPayloader ()=default |
Destroy the Rtp Payloader object. | |
RtpPayloader (RtpPayloader const &)=delete | |
Construct a new Rtp Payloader object. | |
RtpPayloader & | operator= (RtpPayloader const &)=delete |
Construct a new Rtp Payloader object. | |
virtual void | Stop () |
Stop a stream so it can be quickly restarted. Do not close. | |
virtual void | Start () |
Restart a stopped stream. | |
mediax::rtp::ColourspaceType | GetColourSpace () const |
Get the Colour Space object of the incoming stream. | |
void | SetColourSpace (mediax::rtp::ColourspaceType colourspace) |
Set the Colour Space object. | |
uint32_t | GetHeight () const |
Get the Height object of the incoming stream. | |
void | SetHeight (uint32_t height) |
Set the Height object. | |
uint32_t | GetWidth () const |
Get the Width object of the incoming stream. | |
void | SetWidth (uint32_t width) |
Set the Width object. | |
uint32_t | GetFrameRate () const |
Get the Frame Rate of the incoming stream. | |
void | SetFrameRate (uint32_t framerate) |
Set the Frame Rate object. | |
std::string | GetIpAddress () const |
Get the Ip Address of the incoming stream. | |
void | SetIpAddress (std::string_view ip_address) |
Set the Ip Address object. | |
uint32_t | GetPort () const |
Get the Port of the incoming stream. | |
void | SetPort (uint32_t port) |
Set the Port object. | |
std::vector< uint8_t > & | GetBuffer () |
Get the Buffer object. | |
uint32_t | GetBufferSize () const |
Get the Buffer Size object. | |
void | SetBufferSize (uint32_t size) |
Set the Buffer Size object. | |
Static Public Member Functions | |
static void | SendFrame (RtpUncompressedPayloader *stream) |
Send a frame. | |
Private Member Functions | |
void | UpdateHeader (rtp::RtpHeader *packet, int line, int bytes_per_pixel, int last, int32_t timestamp, int32_t source) |
Populate the RTP header. | |
Static Private Member Functions | |
static void | TransmitThread (RtpUncompressedPayloader *stream) |
Transmit RTP data to the network using a separate thread. | |
static int32_t | GenerateTimestamp90kHz () |
Get a 90Htz timestamp. | |
Private Attributes | |
rtp::TxData | arg_tx |
Transmit arguments used by the thread. | |
struct addrinfo * | server_out_ |
The server address information. | |
struct sockaddr_in | server_addr_out_ |
The socket for the outgoing stream. | |
socklen_t | server_len_out_ |
The length of the server address. | |
std::thread | tx_thread_ |
Arguments sent to thread. | |
std::mutex | mutex_ |
The mutex for the transmit thread. | |
Additional Inherited Members | |
![]() | |
::mediax::rtp::RtpPortType & | GetEgressPort () |
Get the Egress Port object. | |
Manage an RTP stream.
|
default |
The supported colour spaces.
Construct a new Rtp Stream object
height | in pixels of the RTP stream |
width | in pixels of the RTP stream |
|
finalvirtual |
Close the RTP stream.
Implements mediax::rtp::RtpPayloader.
|
staticprivate |
Get a 90Htz timestamp.
|
inline |
Get the Mutex object.
|
finalvirtual |
|
static |
Send a frame.
stream | The RtpUncompressedPayloader object |
Note DEF-STAN 00-082 starts line numbers at 1, gstreamer starts at 0 for raw video
|
finalvirtual |
Configure an RTP output stream.
stream_information | The stream information |
Implements mediax::rtp::RtpPayloader.
|
finalvirtual |
Transmit an RGB buffer.
rgbframe | pointer to the frame data |
blocking | defaults to true, will wait till frame has been transmitted |
Implements mediax::rtp::RtpPayloader.
|
staticprivate |
Transmit RTP data to the network using a separate thread.
stream | The RtpUncompressedPayloader object |
|
private |
Populate the RTP header.
packet | the RTP header |
line | the line number |
bytes_per_pixel | the bytes per pixel |
last | true if last line |
timestamp | the timestamp |
source | the source id |