17#ifdef PROMEKI_HAVE_NETWORK
61#ifdef PROMEKI_HAVE_NETWORK
181 void sendAccumulatedPackets();
182 void flushRemaining();
186 double _packetTime = 1.0;
190 size_t _samplesPerPacket = 0;
191 size_t _bytesPerSampleFrame = 0;
192 size_t _packetBytes = 0;
198 size_t _accumOffset = 0;
200#ifdef PROMEKI_HAVE_NETWORK
DataType
Enumeration of supported audio sample data types.
Definition audiodesc.h:190
@ Invalid
Invalid / unset format.
Definition audiodesc.h:191
Lightweight error code wrapper for the promeki library.
Definition error.h:39
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
Terminal sink node that sends audio samples over RTP.
Definition rtpaudiosinknode.h:49
void process() override
Accumulates audio samples and sends complete RTP packets.
Error start() override
Starts the RTP session and begins accepting audio.
~RtpAudioSinkNode() override
Destructor.
uint8_t payloadType() const
Returns the RTP payload type.
Definition rtpaudiosinknode.h:92
double packetTime() const
Returns the packet time in milliseconds.
Definition rtpaudiosinknode.h:110
AudioDesc::DataType outputFormat() const
Returns the output sample format.
Definition rtpaudiosinknode.h:124
void setClockRate(uint32_t hz)
Sets the RTP timestamp clock rate.
Definition rtpaudiosinknode.h:98
Map< String, Variant > extendedStats() const override
Returns audio sink statistics.
void setOutputFormat(AudioDesc::DataType fmt)
Sets the output sample format for RTP transmission.
Definition rtpaudiosinknode.h:121
void starvation() override
Records an audio underrun event.
uint32_t clockRate() const
Returns the RTP clock rate.
Definition rtpaudiosinknode.h:101
void setDscp(uint8_t dscp)
Sets the DSCP value for QoS marking.
Definition rtpaudiosinknode.h:130
void setPacketTime(double ptime)
Sets the packet time in milliseconds.
Definition rtpaudiosinknode.h:107
Error configure() override
Validates configuration and creates the RTP session.
void setPayloadType(uint8_t pt)
Sets the RTP payload type number.
Definition rtpaudiosinknode.h:89
uint8_t dscp() const
Returns the DSCP value.
Definition rtpaudiosinknode.h:133
RtpAudioSinkNode(ObjectBase *parent=nullptr)
Constructs an RtpAudioSinkNode.
void stop() override
Flushes remaining audio and stops the RTP session.
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
Network address with port number.
Definition socketaddress.h:50
#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