MediaX v1.0.0rc7 [7e6cb74]
Video streaming for military vehicles
Loading...
Searching...
No Matches
mediax::rtp::h264::vaapi::RtpH264VaapiPayloader Class Reference

A RTP payloader for H.264 DEF-STAN 00-82 video streams. More...

#include <rtph264_payloader.h>

Inheritance diagram for mediax::rtp::h264::vaapi::RtpH264VaapiPayloader:
Inheritance graph
Collaboration diagram for mediax::rtp::h264::vaapi::RtpH264VaapiPayloader:
Collaboration graph

Private Member Functions

 RtpH264VaapiPayloader ()
 Construct a new Rtp H.264 Payloader object.
 
 ~RtpH264VaapiPayloader () final
 Destroy the Rtp H.264 Payloader object.
 
void SetStreamInfo (std::string_view name, ColourspaceType encoding, uint32_t height, uint32_t width, uint32_t framerate, std::string_view hostname, const uint32_t portno) override
 Set the Stream Info object.
 
bool Open () final
 Open the RTP stream.
 
void Close () final
 Close the RTP stream.
 
int Transmit (uint8_t *rgbframe, bool blocking=true) final
 
void Start () final
 Stop the stream, can be quickly re-started.
 
void Stop () final
 Stop the stream.
 

Private Attributes

GstElement * pipeline_
 The Gstreamer pipeline.
 

Additional Inherited Members

- Public Member Functions inherited from mediax::rtp::RtpPayloader
 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.
 
RtpPayloaderoperator= (RtpPayloader const &)=delete
 Construct a new Rtp Payloader object.
 
virtual void SetStreamInfo (const ::mediax::rtp::StreamInformation &stream_information)=0
 Configure an RTP output 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.
 
- Protected Member Functions inherited from mediax::rtp::RtpPayloader
::mediax::rtp::RtpPortTypeGetEgressPort ()
 Get the Egress Port object.
 

Detailed Description

A RTP payloader for H.264 DEF-STAN 00-82 video streams.

Member Function Documentation

◆ Close()

void mediax::rtp::h264::vaapi::RtpH264VaapiPayloader::Close ( )
finalprivatevirtual

Close the RTP stream.

Implements mediax::rtp::RtpPayloader.

◆ Open()

bool mediax::rtp::h264::vaapi::RtpH264VaapiPayloader::Open ( )
finalprivatevirtual

Open the RTP stream.

Returns
true
false

Implements mediax::rtp::RtpPayloader.

◆ SetStreamInfo()

void mediax::rtp::h264::vaapi::RtpH264VaapiPayloader::SetStreamInfo ( std::string_view  name,
ColourspaceType  encoding,
uint32_t  height,
uint32_t  width,
uint32_t  framerate,
std::string_view  hostname,
const uint32_t  portno 
)
overrideprivate

Set the Stream Info object.

Parameters
namesession name
encodingcolour space
heightheight in pixels
widthwidth in pixels
framerateframes per second
hostnameIP address i.e. 123.192.1.1
portnoport number i.e. 5004

◆ Start()

void mediax::rtp::h264::vaapi::RtpH264VaapiPayloader::Start ( )
finalprivatevirtual

Stop the stream, can be quickly re-started.

Reimplemented from mediax::rtp::RtpPayloader.

◆ Stop()

void mediax::rtp::h264::vaapi::RtpH264VaapiPayloader::Stop ( )
finalprivatevirtual

Stop the stream.

Reimplemented from mediax::rtp::RtpPayloader.

◆ Transmit()

int mediax::rtp::h264::vaapi::RtpH264VaapiPayloader::Transmit ( uint8_t *  rgbframe,
bool  blocking = true 
)
finalprivatevirtual
Parameters
rgbframepointer to RGB buffer
blockingset to true if blocking
Returns
int error if value is <0, 0 on success

Implements mediax::rtp::RtpPayloader.


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