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

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

#include <rtp_h264_depayloader.h>

Inheritance diagram for mediax::rtp::h264::gst::nvidia::RtpH264GstNvidiaDepayloader:
Inheritance graph
Collaboration diagram for mediax::rtp::h264::gst::nvidia::RtpH264GstNvidiaDepayloader:
Collaboration graph

Public Member Functions

 RtpH264GstNvidiaDepayloader ()
 Construct a new Rtpvraw Depayloader object.
 
 ~RtpH264GstNvidiaDepayloader () final
 Destroy the Rtpvraw Depayloader object.
 
 RtpH264GstNvidiaDepayloader (const RtpH264GstNvidiaDepayloader &other)=delete
 Delete the copy constructor and copy assignment operator.
 
RtpH264GstNvidiaDepayloaderoperator= (RtpH264GstNvidiaDepayloader &&other)=delete
 Delete the copy constructor and copy assignment operator.
 
 RtpH264GstNvidiaDepayloader (RtpH264GstNvidiaDepayloader &&other)=delete
 Construct a new RtpH264Depayloader 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
 The callback function for the RTP stream.
 
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.
 
virtual bool Receive (mediax::rtp::RtpFrameData *data, int32_t timeout=0)=0
 Recieve a frame or timeout.
 
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)
 The GStreamer video data callback.
 

Private Attributes

GstElement * pipeline_
 The GStreamer pipeline.
 
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

◆ RtpH264GstNvidiaDepayloader() [1/2]

mediax::rtp::h264::gst::nvidia::RtpH264GstNvidiaDepayloader::RtpH264GstNvidiaDepayloader ( const RtpH264GstNvidiaDepayloader other)
delete

Delete the copy constructor and copy assignment operator.

Parameters
other

◆ RtpH264GstNvidiaDepayloader() [2/2]

mediax::rtp::h264::gst::nvidia::RtpH264GstNvidiaDepayloader::RtpH264GstNvidiaDepayloader ( RtpH264GstNvidiaDepayloader &&  other)
delete

Construct a new RtpH264Depayloader object (Deleted)

Parameters
other

Member Function Documentation

◆ Callback()

void mediax::rtp::h264::gst::nvidia::RtpH264GstNvidiaDepayloader::Callback ( ::mediax::rtp::RtpFrameData  frame) const
finalvirtual

The callback function for the RTP stream.

Parameters
frame

Implements mediax::rtp::RtpDepayloader.

◆ Close()

void mediax::rtp::h264::gst::nvidia::RtpH264GstNvidiaDepayloader::Close ( )
finalvirtual

Close the RTP stream.

Reimplemented from mediax::rtp::RtpDepayloader.

◆ NewFrameCallback()

GstFlowReturn mediax::rtp::h264::gst::nvidia::RtpH264GstNvidiaDepayloader::NewFrameCallback ( GstAppSink *  appsink,
gpointer  user_data 
)
staticprivate

The GStreamer video data callback.

Parameters
appsinkThe GStreamer appsink
user_dataThe user data
Returns
GstFlowReturn

◆ Open()

bool mediax::rtp::h264::gst::nvidia::RtpH264GstNvidiaDepayloader::Open ( )
finalvirtual

Open the RTP stream.

Returns
true
false

Reimplemented from mediax::rtp::RtpDepayloader.

◆ operator=()

RtpH264GstNvidiaDepayloader & mediax::rtp::h264::gst::nvidia::RtpH264GstNvidiaDepayloader::operator= ( RtpH264GstNvidiaDepayloader &&  other)
delete

Delete the copy constructor and copy assignment operator.

Parameters
other
Returns
RtpH264GstNvidiaDepayloader&

◆ Receive()

bool mediax::rtp::h264::gst::nvidia::RtpH264GstNvidiaDepayloader::Receive ( ::mediax::rtp::RtpFrameData data,
int32_t  timeout = 0 
)
final

Recieve a frame or timeout.

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

◆ SetStreamInfo()

void mediax::rtp::h264::gst::nvidia::RtpH264GstNvidiaDepayloader::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::h264::gst::nvidia::RtpH264GstNvidiaDepayloader::Start ( )
finalvirtual

Start the stream.

Reimplemented from mediax::rtp::RtpDepayloader.

◆ Stop()

void mediax::rtp::h264::gst::nvidia::RtpH264GstNvidiaDepayloader::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: