20#include <interface99.h>
23#include <compy/priv/compiler_attrs.h>
31#define Compy_AudioReceiver_IFACE \
33 void, on_audio, VSelf99, uint8_t payload_type, uint32_t timestamp, \
34 uint32_t ssrc, U8Slice99 payload)
38#define COMPY_CHANNEL_RTCP 0
39#define COMPY_CHANNEL_RTP 1
51 Compy_Rtcp *rtcp, Compy_AudioReceiver audio_receiver) COMPY_PRIV_MUST_USE;
83 size_t len, int64_t arrival_us);
112 const char *cname, uint8_t *buf,
size_t cap);
126 const char *cname, uint8_t *buf,
size_t cap);
interface99(Compy_Controller)
Defines the Compy_Controller interface.
void Compy_RtpReceiver_set_clock_rate(Compy_RtpReceiver *self, uint32_t clock_rate)
Sets the RTP clock rate used to convert arrival instants into timestamp units for jitter (RFC 3550 §6...
Definition receiver.c:66
int Compy_RtpReceiver_feed_at(Compy_RtpReceiver *self, uint8_t channel_type, const uint8_t *data, size_t len, int64_t arrival_us)
Compy_RtpReceiver_feed with the packet's arrival instant, which enables the reception statistics behi...
Definition receiver.c:149
int Compy_RtpReceiver_feed(Compy_RtpReceiver *self, uint8_t channel_type, const uint8_t *data, size_t len)
Feeds raw received data into the receiver for demuxing.
Definition receiver.c:190
ssize_t Compy_RtpReceiver_write_rr(Compy_RtpReceiver *self, uint32_t reporter_ssrc, int64_t now_us, const char *cname, uint8_t *buf, size_t cap)
Writes an RTCP receiver report (RFC 3550 §6.4.2) about the RTP stream this receiver has been fed,...
Definition receiver.c:198
ssize_t Compy_RtpReceiver_write_bye(Compy_RtpReceiver *self, uint32_t reporter_ssrc, int64_t now_us, const char *cname, uint8_t *buf, size_t cap)
Writes the leave compound (RFC 3550 §6.3.7): the same report Compy_RtpReceiver_write_rr produces,...
Definition receiver.c:301
Compy_RtpReceiver * Compy_RtpReceiver_new(Compy_Rtcp *rtcp, Compy_AudioReceiver audio_receiver) COMPY_PRIV_MUST_USE
Creates a new RTP receiver for demuxing incoming data.
Definition receiver.c:46
RTCP session management (RFC 3550 Section 6).
RFC 3550-compliant RTP implementation.