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

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

#include <rtp_h265_depayloader.h>

Inheritance diagram for mediax::rtp::h265::gst::vaapi::RtpH265GstVaapiDepayloader:
Inheritance graph
Collaboration diagram for mediax::rtp::h265::gst::vaapi::RtpH265GstVaapiDepayloader:
Collaboration graph

Public Member Functions

 RtpH265GstVaapiDepayloader ()
 Construct a new Rtpvraw Depayloader object.
 
 ~RtpH265GstVaapiDepayloader () final
 Destroy the Rtpvraw Depayloader object.
 
RtpH265GstVaapiDepayloaderoperator= (const RtpH265GstVaapiDepayloader &other)
 Copy operator (Deleted)
 
 RtpH265GstVaapiDepayloader (RtpH265GstVaapiDepayloader &&other)=delete
 Construct a new Rtph265Depayloader object (Deleted)
 
void SetStreamInfo (const ::mediax::rtp::StreamInformation &stream_information) final
 Configure at RTP input stream and dont wait for the SAP/SDP announcement.
 
bool Open () final
 Open the RTP stream.
 
void Start () final
 Start the stream.
 
void Stop () final
 Stop the stream, can be quickly re-started.
 
void Close () final
 Close the RTP stream.
 
bool Receive (mediax::rtp::RtpFrameData *data, int32_t timeout=0) final
 Recieve a frame or timeout.
 
void Callback (::mediax::rtp::RtpFrameData frame) const final
 Call the callback.
 
void NewFrame ()
 Set new frame available.
 
- Public Member Functions inherited from mediax::rtp::RtpDepayloader
 RtpDepayloader ()
 Construct a new Rtp Depayloader object.
 
virtual ~RtpDepayloader ()=default
 Destroy the Rtp Stream object.
 
 RtpDepayloader (RtpDepayloader const &)=delete
 Construct a new Rtp Payloader object.
 
RtpDepayloaderoperator= (RtpDepayloader const &)=delete
 Construct a new Rtp Payloader object.
 
void RegisterCallback (const ::mediax::rtp::RtpCallback &callback)
 Register a callback for our session_name.
 
void SetSessionName (std::string_view name)
 Set the Session Name attribute.
 
std::string GetSessionName ()
 Get the Session Name attribute.
 
::mediax::rtp::ColourspaceType GetColourSpace ()
 Get the Colour Space object of the incoming stream.
 
void SetHeight (uint32_t height)
 Set the Height attribute.
 
uint32_t GetHeight () const
 Get the Height object of the incoming stream.
 
void SetWidth (uint32_t width)
 Set the Width attribute.
 
uint32_t GetWidth () const
 Get the Width object of the incoming stream.
 
void SetFramerate (uint32_t framerate)
 Set the Frame Rate object.
 
uint32_t GetFrameRate () const
 Get the Frame Rate of the incoming stream.
 
std::string GetIpAddress () const
 Get the Ip Address of the incoming stream.
 
void SetIpAddress (std::string_view ip_address)
 Set the Ip Address attribute.
 
void SetPort (uint32_t port)
 Set the Port object.
 
uint32_t GetPort () const
 Get the Port of the incoming stream.
 
void SetColourSpace (::mediax::rtp::ColourspaceType colourspace)
 Set the Colour Space object.
 
bool SettingsValid () const
 Check if the settings are valid. All stream information was set.
 
::mediax::rtp::ColourspaceType GetColourSpace () const
 Get the Colour Space object.
 
bool IsMulticast (std::string_view ip_address) const
 Check if the IP address is a multicast address.
 
bool CallbackRegistered () const
 Check is a callback is registered.
 
void UnregisterCallback ()
 Unregister the callback.
 
::mediax::rtp::RtpPortTypeGetStream ()
 Get the Port Type object.
 
::mediax::rtp::RtpCallback GetCallback () const
 Get the Callback 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.
 
::mediax::rtp::StreamState GetState () const
 Get the State object.
 

Static Private Member Functions

static GstFlowReturn NewFrameCallback (GstAppSink *appsink, gpointer user_data)
 GStreamer callback for new frames.
 

Private Attributes

GstElement * pipeline_
 The GStreamer pipeline.
 
std::vector< uint8_t > buffer_in_
 The video buffer.
 
bool new_rx_frame_ = false
 A flag indication a new frame is available.
 

Detailed Description

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

Constructor & Destructor Documentation

◆ RtpH265GstVaapiDepayloader()

mediax::rtp::h265::gst::vaapi::RtpH265GstVaapiDepayloader::RtpH265GstVaapiDepayloader ( RtpH265GstVaapiDepayloader &&  other)
delete

Construct a new Rtph265Depayloader object (Deleted)

Parameters
other

Member Function Documentation

◆ Callback()

void mediax::rtp::h265::gst::vaapi::RtpH265GstVaapiDepayloader::Callback ( ::mediax::rtp::RtpFrameData  frame) const
finalvirtual

Call the callback.

Parameters
frame

Implements mediax::rtp::RtpDepayloader.

◆ Close()

void mediax::rtp::h265::gst::vaapi::RtpH265GstVaapiDepayloader::Close ( )
finalvirtual

Close the RTP stream.

Reimplemented from mediax::rtp::RtpDepayloader.

◆ NewFrameCallback()

GstFlowReturn mediax::rtp::h265::gst::vaapi::RtpH265GstVaapiDepayloader::NewFrameCallback ( GstAppSink *  appsink,
gpointer  user_data 
)
staticprivate

GStreamer callback for new frames.

Parameters
appsinkThe GStreamer appsink
user_dataThe user data
Returns
GstFlowReturn

◆ Open()

bool mediax::rtp::h265::gst::vaapi::RtpH265GstVaapiDepayloader::Open ( )
finalvirtual

Open the RTP stream.

Returns
true
false

Reimplemented from mediax::rtp::RtpDepayloader.

◆ operator=()

RtpH265GstVaapiDepayloader & mediax::rtp::h265::gst::vaapi::RtpH265GstVaapiDepayloader::operator= ( const RtpH265GstVaapiDepayloader other)

Copy operator (Deleted)

Parameters
other
Returns
Rtph265Depayloader

◆ Receive()

bool mediax::rtp::h265::gst::vaapi::RtpH265GstVaapiDepayloader::Receive ( mediax::rtp::RtpFrameData data,
int32_t  timeout = 0 
)
finalvirtual

Recieve a frame or timeout.

Parameters
datathe fame buffer in CPU memory. I
timeoutzero will wait forever or a timeout in milliseconds
Returns
true when frame available
false when no frame was received in the timeout and the cpu pointer is invalid

Implements mediax::rtp::RtpDepayloader.

◆ SetStreamInfo()

void mediax::rtp::h265::gst::vaapi::RtpH265GstVaapiDepayloader::SetStreamInfo ( const ::mediax::rtp::StreamInformation stream_information)
finalvirtual

Configure at RTP input stream and dont wait for the SAP/SDP announcement.

Parameters
stream_informationset the stream information

Implements mediax::rtp::RtpDepayloader.

◆ Start()

void mediax::rtp::h265::gst::vaapi::RtpH265GstVaapiDepayloader::Start ( )
finalvirtual

Start the stream.

Reimplemented from mediax::rtp::RtpDepayloader.

◆ Stop()

void mediax::rtp::h265::gst::vaapi::RtpH265GstVaapiDepayloader::Stop ( )
finalvirtual

Stop the stream, can be quickly re-started.

Reimplemented from mediax::rtp::RtpDepayloader.


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