|
Compy 0.2.0
A lightweight RTSP 1.0 server library for embedded systems
|
RTCP session management (RFC 3550 Section 6). More...
#include <compy/droppable.h>#include <compy/rtp_transport.h>#include <compy/transport.h>#include <compy/types/rtcp.h>#include <compy/priv/compiler_attrs.h>

Go to the source code of this file.
Typedefs | |
| typedef struct Compy_Rtcp | Compy_Rtcp |
Functions | |
| Compy_Rtcp * | Compy_Rtcp_new (Compy_RtpTransport *rtp, Compy_Transport rtcp_transport, const char *cname) COMPY_PRIV_MUST_USE |
| Creates a new RTCP session context. | |
| int | Compy_Rtcp_send_sr (Compy_Rtcp *self) COMPY_PRIV_MUST_USE |
| Generates and sends a compound SR + SDES packet. | |
| int | Compy_Rtcp_send_bye (Compy_Rtcp *self) COMPY_PRIV_MUST_USE |
| Generates and sends a BYE packet. | |
| int | Compy_Rtcp_handle_incoming (Compy_Rtcp *self, const uint8_t *data, size_t len) |
| Processes an incoming RTCP packet. | |
| const Compy_RtcpReportBlock * | Compy_Rtcp_get_last_rr (const Compy_Rtcp *self) COMPY_PRIV_MUST_USE |
| Returns the last received Receiver Report block, or NULL if none received. | |
| declImplExtern99 (Compy_Droppable, Compy_Rtcp) | |
RTCP session management (RFC 3550 Section 6).
Provides Sender Report generation, BYE signaling, and incoming Receiver Report parsing. The application is responsible for calling Compy_Rtcp_send_sr periodically (recommended interval: 5 seconds).
| const Compy_RtcpReportBlock * Compy_Rtcp_get_last_rr | ( | const Compy_Rtcp * | self | ) |
Returns the last received Receiver Report block, or NULL if none received.
self != NULL | int Compy_Rtcp_handle_incoming | ( | Compy_Rtcp * | self, |
| const uint8_t * | data, | ||
| size_t | len | ||
| ) |
Processes an incoming RTCP packet.
Currently handles Receiver Report (RR) packets, storing the first report block for later retrieval via Compy_Rtcp_get_last_rr.
| [in] | self | The RTCP session. |
| [in] | data | The raw RTCP packet data. |
| [in] | len | Length of data. |
self != NULL data != NULL| Compy_Rtcp * Compy_Rtcp_new | ( | Compy_RtpTransport * | rtp, |
| Compy_Transport | rtcp_transport, | ||
| const char * | cname | ||
| ) |
Creates a new RTCP session context.
| [in] | rtp | The RTP transport to read statistics from (not owned). |
| [in] | rtcp_transport | The transport for sending RTCP packets (port+1 or channel+1). |
| [in] | cname | The CNAME identifier for SDES (e.g., "camera@192.168.1.1"). |
rtp != NULL rtcp_transport.self && rtcp_transport.vptr cname != NULL | int Compy_Rtcp_send_bye | ( | Compy_Rtcp * | self | ) |
Generates and sends a BYE packet.
self != NULL| int Compy_Rtcp_send_sr | ( | Compy_Rtcp * | self | ) |
Generates and sends a compound SR + SDES packet.
Reads current statistics from the associated RTP transport and sends a Sender Report followed by an SDES chunk containing the CNAME.
self != NULL