SmolRTSP  0.1.3
A small, portable, extensible RTSP 1.0 implementation in C99
rtp_transport.h
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include <smolrtsp/droppable.h>
9 #include <smolrtsp/transport.h>
10 
11 #include <stdbool.h>
12 #include <stdint.h>
13 
14 #include <datatype99.h>
15 #include <slice99.h>
16 
17 #include <smolrtsp/priv/compiler_attrs.h>
18 
23 
38 // clang-format off
40  SmolRTSP_RtpTimestamp,
41  (SmolRTSP_RtpTimestamp_Raw, uint32_t),
42  (SmolRTSP_RtpTimestamp_SysClockUs, uint64_t)
43 );
44 // clang-format on
45 
58  SmolRTSP_Transport t, uint8_t payload_ty,
59  uint32_t clock_rate) SMOLRTSP_PRIV_MUST_USE;
60 
76  SmolRTSP_RtpTransport *self, SmolRTSP_RtpTimestamp ts, bool marker,
77  U8Slice99 payload_header, U8Slice99 payload) SMOLRTSP_PRIV_MUST_USE;
78 
86 
87 bool SmolRTSP_RtpTransport_is_full(SmolRTSP_RtpTransport *self);
Droppable types support.
SmolRTSP_RtpTransport * SmolRTSP_RtpTransport_new(SmolRTSP_Transport t, uint8_t payload_ty, uint32_t clock_rate) SMOLRTSP_PRIV_MUST_USE
Creates a new RTP transport from the underlying level-4 protocol t.
datatype99(SmolRTSP_RtpTimestamp,(SmolRTSP_RtpTimestamp_Raw, uint32_t),(SmolRTSP_RtpTimestamp_SysClockUs, uint64_t))
An RTP timestamp.
struct SmolRTSP_RtpTransport SmolRTSP_RtpTransport
An RTP data transport.
Definition: rtp_transport.h:22
int SmolRTSP_RtpTransport_send_packet(SmolRTSP_RtpTransport *self, SmolRTSP_RtpTimestamp ts, bool marker, U8Slice99 payload_header, U8Slice99 payload) SMOLRTSP_PRIV_MUST_USE
Sends an RTP packet.
declImplExtern99(SmolRTSP_Droppable, SmolRTSP_RtpTransport)
Implements SmolRTSP_Droppable_IFACE for SmolRTSP_RtpTransport.
RTSP data transport (level 4) implementations.