MediaX
v1.0.0rc7 [7e6cb74]
Video streaming for military vehicles
Loading...
Searching...
No Matches
rtp_h264_payloader.h
Go to the documentation of this file.
1
//
2
// Copyright (c) 2025, Astute Systems PTY LTD
3
//
4
// This file is part of the VivoeX project developed by Astute Systems.
5
//
6
// Licensed under the Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
7
// License. See the LICENSE file in the project root for full license details.
8
//
12
13
#ifndef H264_GST_OPEN_RTP_H264_PAYLOADER_H_
14
#define H264_GST_OPEN_RTP_H264_PAYLOADER_H_
15
16
#include <gst/gst.h>
17
18
#include "
rtp/rtp_payloader.h
"
19
20
namespace
mediax::rtp::h264::gst::open
{
21
23
class
RtpH264GstOpenPayloader
:
public
mediax::rtp::RtpPayloader
{
24
public
:
29
RtpH264GstOpenPayloader
();
30
35
~RtpH264GstOpenPayloader
() final;
36
42
void
SetStreamInfo
(const ::
mediax
::rtp::
StreamInformation
&stream_information) override;
43
50
bool
Open
() final;
51
56
void
Close
() final;
57
65
int
Transmit
(uint8_t *rgbframe,
bool
blocking = true) final;
66
71
void
Start
() final;
72
77
void
Stop
() final;
78
79
private:
81
GstElement *
pipeline_
;
83
bool
started_
= false;
84
};
85
86
}
// namespace mediax::rtp::h264::gst::open
87
88
#endif
// H264_GST_OPEN_RTP_H264_PAYLOADER_H_
mediax::rtp::RtpPayloader
Manage an RTP stream.
Definition
rtp_payloader.h:30
mediax::rtp::h264::gst::open::RtpH264GstOpenPayloader
A RTP payloader for H.264 DEF-STAN 00-82 video streams.
Definition
rtp_h264_payloader.h:23
mediax::rtp::h264::gst::open::RtpH264GstOpenPayloader::~RtpH264GstOpenPayloader
~RtpH264GstOpenPayloader() final
Destroy the Rtp H.264 Payloader object.
mediax::rtp::h264::gst::open::RtpH264GstOpenPayloader::Open
bool Open() final
Open the RTP stream.
Definition
rtp_h264_payloader.cc:43
mediax::rtp::h264::gst::open::RtpH264GstOpenPayloader::pipeline_
GstElement * pipeline_
Gstreamer pipeline.
Definition
rtp_h264_payloader.h:81
mediax::rtp::h264::gst::open::RtpH264GstOpenPayloader::SetStreamInfo
void SetStreamInfo(const ::mediax::rtp::StreamInformation &stream_information) override
Set the Stream Info object.
Definition
rtp_h264_payloader.cc:32
mediax::rtp::h264::gst::open::RtpH264GstOpenPayloader::started_
bool started_
Pipeline started when true.
Definition
rtp_h264_payloader.h:83
mediax::rtp::h264::gst::open::RtpH264GstOpenPayloader::Close
void Close() final
Close the RTP stream.
Definition
rtp_h264_payloader.cc:108
mediax::rtp::h264::gst::open::RtpH264GstOpenPayloader::Stop
void Stop() final
Stop the stream.
Definition
rtp_h264_payloader.cc:157
mediax::rtp::h264::gst::open::RtpH264GstOpenPayloader::Start
void Start() final
Stop the stream, can be quickly re-started.
Definition
rtp_h264_payloader.cc:115
mediax::rtp::h264::gst::open::RtpH264GstOpenPayloader::Transmit
int Transmit(uint8_t *rgbframe, bool blocking=true) final
Definition
rtp_h264_payloader.cc:121
mediax::rtp::h264::gst::open::RtpH264GstOpenPayloader::RtpH264GstOpenPayloader
RtpH264GstOpenPayloader()
Construct a new Rtp H.264 Payloader object.
mediax::rtp::h264::gst::open
The Gstreamer implementation of the Nvidia (NVENC) namespace.
Definition
rtp_h264_depayloader.cc:34
mediax
The Astute Systems (MediaX) library for video streaming.
Definition
rtp_av1_depayloader.cc:34
rtp_payloader.h
RTP streaming video class for uncompressed DEF-STAN 00-82 video streams.
mediax::rtp::StreamInformation
Struct capturing all stream information.
Definition
rtp_types.h:223
src
h264
gst
open
rtp_h264_payloader.h
Generated by
1.9.8