23#define COMPY_CRLF (CharSlice99_from_str("\r\n"))
28#define COMPY_DEFAULT_PORT 554
33#define COMPY_DEFAULT_RTSPS_PORT 322
151 CharSlice99 header_value) COMPY_PRIV_MUST_USE;
159#define COMPY_REQUIRE_ONVIF_BACKCHANNEL \
160 (CharSlice99_from_str("www.onvif.org/ver20/backchannel"))
178 CharSlice99 tag) COMPY_PRIV_MUST_USE;
220 const uint8_t data[restrict
static 4], uint8_t *restrict channel_id,
221 uint16_t *restrict payload_len);
#define COMPY_DEF_OPTION(...)
Defines a typed optional value.
Definition option.h:21
An RTP/RTCP channel pair specified as a range, e.g., interleaved=4-5.
Definition util.h:81
uint8_t rtp_channel
The RTP channel identifier.
Definition util.h:85
uint8_t rtcp_channel
The RTCP channel identifier.
Definition util.h:90
An RTP/RTCP port pair specified as a range, e.g., client_port=3456-3457.
Definition util.h:59
uint16_t rtp_port
The RTP port.
Definition util.h:63
uint16_t rtcp_port
The RTCP port.
Definition util.h:68
The RTSP transport configuration.
Definition util.h:105
Compy_PortPairOption client_port
The client_port parameter, if present.
Definition util.h:129
Compy_ChannelPairOption interleaved
The interleaved parameter, if present.
Definition util.h:124
Compy_PortPairOption server_port
The server_port parameter, if present.
Definition util.h:134
Compy_LowerTransport lower
The lower level transport (TCP or UDP).
Definition util.h:109
bool unicast
True if the unicast parameter is present.
Definition util.h:114
bool multicast
True if the multicast parameter is present.
Definition util.h:119
uint32_t compy_interleaved_header(uint8_t channel_id, uint16_t payload_len) COMPY_PRIV_MUST_USE
Returns a four-octet interleaved binary data header.
Definition util.c:150
bool compy_require_has_tag(const Compy_HeaderMap *restrict headers, CharSlice99 tag) COMPY_PRIV_MUST_USE
Checks whether a Require header is present in headers and contains the feature tag tag.
Definition util.c:174
const char * Compy_LowerTransport_str(Compy_LowerTransport self)
Converts self to a string representation ("TCP" for Compy_LowerTransport_TCP and "UDP" for Compy_Lowe...
Definition util.c:16
void compy_respond_option_not_supported(Compy_Context *ctx, CharSlice99 tag)
Responds with 551 Option not supported and an Unsupported header listing tag.
Definition util.c:186
void compy_parse_interleaved_header(const uint8_t data[restrict static 4], uint8_t *restrict channel_id, uint16_t *restrict payload_len)
Parses an four-octet interleaved binary data header data.
Definition util.c:162
Compy_LowerTransport
An RTSP lower transport.
Definition util.h:38
@ Compy_LowerTransport_TCP
TCP.
Definition util.h:42
@ Compy_LowerTransport_UDP
UDP.
Definition util.h:47
int compy_parse_transport(Compy_TransportConfig *restrict config, CharSlice99 header_value) COMPY_PRIV_MUST_USE
Parses the Transport header.
Definition util.c:41