MediaX v1.0.0rc7 [7e6cb74]
Video streaming for military vehicles
Loading...
Searching...
No Matches
rtp_h264_depayloader.h
Go to the documentation of this file.
1
2//
3// Copyright (c) 2025, Astute Systems PTY LTD
4//
5// This file is part of the VivoeX project developed by Astute Systems.
6//
7// Licensed under the Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
8// License. See the LICENSE file in the project root for full license details.
9//
14
15#ifndef H264_GST_NVIDIA_RTP_H264_DEPAYLOADER_H_
16#define H264_GST_NVIDIA_RTP_H264_DEPAYLOADER_H_
17
18#include <gst/app/gstappsink.h>
19#include <gst/gst.h>
20
21#include <vector>
22
23#include "rtp/rtp_depayloader.h"
24
27
30 public:
36
42
49
57
64
70 void SetStreamInfo(const ::mediax::rtp::StreamInformation &stream_information) final;
71
78 bool Open() final;
79
84 void Start() final;
85
90 void Stop() final;
91
96 void Close() final;
97
106 bool Receive(::mediax::rtp::RtpFrameData *data, int32_t timeout = 0) final;
107
113 void Callback(::mediax::rtp::RtpFrameData frame) const final;
114
119 void NewFrame();
120
121 private:
129 static GstFlowReturn NewFrameCallback(GstAppSink *appsink, gpointer user_data);
131 GstElement *pipeline_;
133 bool new_rx_frame_ = false;
134};
135
136} // namespace mediax::rtp::h264::gst::nvidia
137
138#endif // H264_GST_NVIDIA_RTP_H264_DEPAYLOADER_H_
Manage an RTP stream.
Definition rtp_depayloader.h:61
A RTP payloader for H.264 DEF-STAN 00-82 video streams.
Definition rtp_h264_depayloader.h:29
void NewFrame()
Set new frame available.
Definition rtp_h264_depayloader.cc:218
void SetStreamInfo(const ::mediax::rtp::StreamInformation &stream_information) final
Configure at RTP input stream and dont wait for the SAP/SDP announcement.
Definition rtp_h264_depayloader.cc:44
void Start() final
Start the stream.
Definition rtp_h264_depayloader.cc:161
void Close() final
Close the RTP stream.
Definition rtp_h264_depayloader.cc:181
void Stop() final
Stop the stream, can be quickly re-started.
Definition rtp_h264_depayloader.cc:168
bool Open() final
Open the RTP stream.
Definition rtp_h264_depayloader.cc:115
static GstFlowReturn NewFrameCallback(GstAppSink *appsink, gpointer user_data)
The GStreamer video data callback.
Definition rtp_h264_depayloader.cc:56
bool Receive(::mediax::rtp::RtpFrameData *data, int32_t timeout=0) final
Recieve a frame or timeout.
Definition rtp_h264_depayloader.cc:188
~RtpH264GstNvidiaDepayloader() final
Destroy the Rtpvraw Depayloader object.
RtpH264GstNvidiaDepayloader()
Construct a new Rtpvraw Depayloader object.
Definition rtp_h264_depayloader.cc:38
void Callback(::mediax::rtp::RtpFrameData frame) const final
The callback function for the RTP stream.
Definition rtp_h264_depayloader.cc:212
GstElement * pipeline_
The GStreamer pipeline.
Definition rtp_h264_depayloader.h:131
bool new_rx_frame_
A flag indication a new frame is available.
Definition rtp_h264_depayloader.h:133
The Gstreamer implementation of the Intel Video Accelleration API (VAAPI) namespace.
Definition rtp_h264_depayloader.cc:36
The Astute Systems (MediaX) library for video streaming.
Definition rtp_av1_depayloader.cc:34
RTP streaming video class for uncompressed DEF-STAN 00-82 video streams.
The RTP callback data.
Definition rtp_types.h:201
Struct capturing all stream information.
Definition rtp_types.h:223