18#ifdef PROMEKI_HAVE_NETWORK
62#ifdef PROMEKI_HAVE_NETWORK
91#ifdef PROMEKI_HAVE_NETWORK
202 std::chrono::nanoseconds _frameInterval{0};
203 std::chrono::steady_clock::time_point _nextFrameTime;
204 bool _firstFrame =
true;
207#ifdef PROMEKI_HAVE_NETWORK
Lightweight error code wrapper for the promeki library.
Definition error.h:39
Represents a video frame rate as a rational number.
Definition framerate.h:36
Dynamic array container wrapping std::vector.
Definition list.h:40
Base object for promeki.
Definition objectbase.h:129
ObjectBase * parent() const
Returns the parent object, if one. nullptr if none.
Definition objectbase.h:258
Abstract base class for RTP payload type handlers.
Definition rtppayload.h:32
RTP session for sending and receiving packets (RFC 3550).
Definition rtpsession.h:47
Terminal sink node that sends video frames over RTP.
Definition rtpvideosinknode.h:50
Error configure() override
Validates configuration and creates the RTP session.
void setFrameRate(const FrameRate &fps)
Sets the video frame rate for pacing.
Definition rtpvideosinknode.h:86
void setClockRate(uint32_t hz)
Sets the RTP timestamp clock rate.
Definition rtpvideosinknode.h:119
Map< String, Variant > extendedStats() const override
Returns video sink statistics.
Error start() override
Starts the RTP session and optionally joins a multicast group.
void starvation() override
Records a video underrun event.
void setPayloadType(uint8_t pt)
Sets the RTP payload type number.
Definition rtpvideosinknode.h:110
void stop() override
Stops the RTP session.
void setDscp(uint8_t dscp)
Sets the DSCP value for QoS marking.
Definition rtpvideosinknode.h:142
uint8_t dscp() const
Returns the DSCP value.
Definition rtpvideosinknode.h:145
RtpVideoSinkNode(ObjectBase *parent=nullptr)
Constructs an RtpVideoSinkNode.
uint8_t payloadType() const
Returns the RTP payload type.
Definition rtpvideosinknode.h:113
void setDumpPath(const String &path)
Sets a file path to dump the first frame's raw data.
Definition rtpvideosinknode.h:133
const FrameRate & frameRate() const
Returns the configured frame rate.
Definition rtpvideosinknode.h:89
uint32_t clockRate() const
Returns the RTP clock rate.
Definition rtpvideosinknode.h:122
const String & dumpPath() const
Returns the dump path.
Definition rtpvideosinknode.h:136
~RtpVideoSinkNode() override
Destructor.
void process() override
Sends a video frame over RTP with real-time pacing.
Network address with port number.
Definition socketaddress.h:50
Encoding-aware string class with copy-on-write semantics.
Definition string.h:35
#define PROMEKI_NAMESPACE_BEGIN
Starts a promeki namespace block.
Definition namespace.h:14
#define PROMEKI_NAMESPACE_END
Ends a promeki namespace block.
Definition namespace.h:19