| SmolRTSP 0.1.3
    A small, portable, extensible RTSP 1.0 implementation in C99 | 
An RTP data transport. More...
#include <smolrtsp/droppable.h>#include <smolrtsp/transport.h>#include <stdbool.h>#include <stdint.h>#include <datatype99.h>#include <slice99.h>#include <smolrtsp/priv/compiler_attrs.h>

Go to the source code of this file.
| Typedefs | |
| typedef struct SmolRTSP_RtpTransport | SmolRTSP_RtpTransport | 
| An RTP data transport. | |
| Functions | |
| datatype99 (SmolRTSP_RtpTimestamp,(SmolRTSP_RtpTimestamp_Raw, uint32_t),(SmolRTSP_RtpTimestamp_SysClockUs, uint64_t)) | |
| An RTP timestamp. | |
| 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. | |
| 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. | |
| bool | SmolRTSP_RtpTransport_is_full (SmolRTSP_RtpTransport *self) | 
An RTP data transport.
| datatype99 | ( | SmolRTSP_RtpTimestamp | , | 
| (SmolRTSP_RtpTimestamp_Raw, uint32_t) | , | ||
| (SmolRTSP_RtpTimestamp_SysClockUs, uint64_t) | |||
| ) | 
An RTP timestamp.
Raw – The value to be assigned to SmolRTSP_RtpHeader.timestamp without further conversion.SysClockUs – The timestamp value in microseconds derived from a system clock (e.g., clock_gettime). It should be used when a raw timestamp cannot be computed, as typically occurs with real-time video.See Datatype99 for the macro usage.
| declImplExtern99 | ( | SmolRTSP_Droppable | , | 
| SmolRTSP_RtpTransport | |||
| ) | 
Implements SmolRTSP_Droppable_IFACE for SmolRTSP_RtpTransport.
See Interface99 for the macro usage.
| SmolRTSP_RtpTransport * SmolRTSP_RtpTransport_new | ( | SmolRTSP_Transport | t, | 
| uint8_t | payload_ty, | ||
| uint32_t | clock_rate | ||
| ) | 
Creates a new RTP transport from the underlying level-4 protocol t. 
| [in] | t | The level-4 protocol (such as TCP or UDP). | 
| [in] | payload_ty | The RTP payload type. The list of payload types is available here: https://en.wikipedia.org/wiki/RTP_payload_formats. | 
| [in] | clock_rate | The RTP clock rate of payload_ty(HZ). | 
t.self && t.vptr rand PRNG must be set up via srand. | int SmolRTSP_RtpTransport_send_packet | ( | SmolRTSP_RtpTransport * | self, | 
| SmolRTSP_RtpTimestamp | ts, | ||
| bool | marker, | ||
| U8Slice99 | payload_header, | ||
| U8Slice99 | payload | ||
| ) | 
Sends an RTP packet.
| [out] | self | The RTP transport for sending this packet. | 
| [in] | ts | The RTP timestamp for this packet. | 
| [in] | marker | The RTP marker flag. | 
| [in] | payload_header | The payload header. Can be U8Slice99_empty(). | 
| [in] | payload | The payload data. | 
self != NULLerrno appropriately, 0 on success.