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//
13
14#ifndef H264_GST_OMX_RTP_H264_DEPAYLOADER_H_
15#define H264_GST_OMX_RTP_H264_DEPAYLOADER_H_
16
17#include <gst/app/gstappsink.h>
18#include <gst/gst.h>
19
20#include <vector>
21
22#include "rtp/rtp_depayloader.h"
23
25namespace mediax::rtp::h264::gst {}
28
31 public:
37
43
51
58
64 void SetStreamInfo(const ::mediax::rtp::StreamInformation &stream_information) final;
65
72 bool Open() final;
73
78 void Start() final;
79
84 void Stop() final;
85
90 void Close() final;
91
100 bool Receive(::mediax::rtp::RtpFrameData *data, int32_t timeout = 0) final;
101
107 void Callback(::mediax::rtp::RtpFrameData frame) const final;
108
113 void NewFrame();
114
115 private:
123 static GstFlowReturn NewFrameCallback(GstAppSink *appsink, gpointer user_data);
125 GstElement *pipeline_;
127 bool new_rx_frame_ = false;
129 bool rgb_ = false;
130};
131
132} // namespace mediax::rtp::h264::gst::omx
133
134#endif // H264_GST_OMX_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:30
void NewFrame()
Set new frame available.
Definition rtp_h264_depayloader.cc:310
bool Open() final
Open the RTP stream.
Definition rtp_h264_depayloader.cc:125
bool new_rx_frame_
A flag indication a new frame is available.
Definition rtp_h264_depayloader.h:127
void Stop() final
Stop the stream, can be quickly re-started.
Definition rtp_h264_depayloader.cc:243
RtpH264GstOmxDepayloader()
Construct a new Rtpvraw Depayloader object.
Definition rtp_h264_depayloader.cc:37
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:52
void Close() final
Close the RTP stream.
Definition rtp_h264_depayloader.cc:254
bool rgb_
Colourspace rgb requested.
Definition rtp_h264_depayloader.h:129
~RtpH264GstOmxDepayloader() final
Destroy the Rtpvraw Depayloader object.
static GstFlowReturn NewFrameCallback(GstAppSink *appsink, gpointer user_data)
A GStreamer callback function for a new frame.
Definition rtp_h264_depayloader.cc:65
void Start() final
Start the stream.
Definition rtp_h264_depayloader.cc:226
bool Receive(::mediax::rtp::RtpFrameData *data, int32_t timeout=0) final
Recieve a frame or timeout.
Definition rtp_h264_depayloader.cc:276
void Callback(::mediax::rtp::RtpFrameData frame) const final
The callback function for the RTP stream.
Definition rtp_h264_depayloader.cc:304
GstElement * pipeline_
The GStreamer pipeline.
Definition rtp_h264_depayloader.h:125
The Gstreamer implementation of the Nvidia (NVENC) namespace.
Definition rtp_h264_depayloader.cc:35
The H.264 video compression GStreamer 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