14#include <datatype99.h>
17#include <compy/priv/compiler_attrs.h>
41 (Compy_RtpTimestamp_Raw, uint32_t),
42 (Compy_RtpTimestamp_SysClockUs, uint64_t)
58 Compy_Transport t, uint8_t payload_ty,
59 uint32_t clock_rate) COMPY_PRIV_MUST_USE;
77 U8Slice99 payload_header, U8Slice99 payload) COMPY_PRIV_MUST_USE;
176 uint64_t monotonic_time_us);
uint32_t Compy_RtpTransport_get_last_rtp_timestamp(const Compy_RtpTransport *self)
Returns the RTP timestamp of the last sent packet.
Definition rtp_transport.c:220
declImplExtern99(Compy_Droppable, Compy_RtpTransport)
Implements Compy_Droppable_IFACE for Compy_RtpTransport.
void Compy_RtpTransport_set_clock_reference(Compy_RtpTransport *self, uint32_t rtp_timestamp, uint64_t monotonic_time_us)
Supplies a media-clock reference for RTCP Sender Reports.
Definition rtp_transport.c:225
uint32_t Compy_RtpTransport_get_rtp_timestamp_now(const Compy_RtpTransport *self)
Returns the RTP timestamp extrapolated to the current instant.
Definition rtp_transport.c:262
uint32_t Compy_RtpTransport_get_ssrc(const Compy_RtpTransport *self)
Returns the SSRC identifier of this transport.
Definition rtp_transport.c:176
uint32_t Compy_RtpTransport_get_rtp_timestamp_at(const Compy_RtpTransport *self, uint64_t monotonic_time_us)
Projects the RTP media clock to a CLOCK_MONOTONIC instant.
Definition rtp_transport.c:234
Compy_RtpTransport * Compy_RtpTransport_new(Compy_Transport t, uint8_t payload_ty, uint32_t clock_rate) COMPY_PRIV_MUST_USE
Creates a new RTP transport from the underlying level-4 protocol t.
Definition rtp_transport.c:41
uint32_t Compy_RtpTransport_get_packet_count(const Compy_RtpTransport *self)
Returns the total number of RTP packets sent.
Definition rtp_transport.c:209
uint32_t Compy_RtpTransport_get_octet_count(const Compy_RtpTransport *self)
Returns the total number of payload octets sent (excludes RTP headers).
Definition rtp_transport.c:214
datatype99(Compy_RtpTimestamp,(Compy_RtpTimestamp_Raw, uint32_t),(Compy_RtpTimestamp_SysClockUs, uint64_t))
An RTP timestamp.
void Compy_RtpTransport_set_ssrc(Compy_RtpTransport *self, uint32_t ssrc)
Sets the SSRC identifier of this transport.
Definition rtp_transport.c:181
int Compy_RtpTransport_send_packet(Compy_RtpTransport *self, Compy_RtpTimestamp ts, bool marker, U8Slice99 payload_header, U8Slice99 payload) COMPY_PRIV_MUST_USE
Sends an RTP packet.
Definition rtp_transport.c:91
void Compy_RtpTransport_set_extension(Compy_RtpTransport *self, uint8_t id, const uint8_t *value, uint8_t len)
Sets a persistent one-byte RTP header extension (RFC 8285).
Definition rtp_transport.c:186
uint16_t Compy_RtpTransport_get_seq(const Compy_RtpTransport *self)
Returns the current RTP sequence number of this transport.
Definition rtp_transport.c:204
Definition rtp_transport.c:20
RTSP data transport (level 4) implementations.