SmolRTSP 0.2.0
A small, portable, extensible RTSP 1.0 implementation in C99
Loading...
Searching...
No Matches
nal_transport.h
Go to the documentation of this file.
1
11#pragma once
12
13#include <smolrtsp/droppable.h>
14#include <smolrtsp/nal.h>
16
17#include <stdbool.h>
18#include <stddef.h>
19#include <stdint.h>
20
21#include <smolrtsp/priv/compiler_attrs.h>
22
23#ifdef SMOLRTSP_WITH_H264
27#define SMOLRTSP_MAX_H264_NALU_SIZE 1200
28#endif
29
30#ifdef SMOLRTSP_WITH_H265
34#define SMOLRTSP_MAX_H265_NALU_SIZE 1200
35#endif
36
37#ifdef SMOLRTSP_WITH_H266
41#define SMOLRTSP_MAX_H266_NALU_SIZE 1200
42#endif
43
49typedef struct {
50#ifdef SMOLRTSP_WITH_H264
54 size_t max_h264_nalu_size;
55#endif
56
57#ifdef SMOLRTSP_WITH_H265
61 size_t max_h265_nalu_size;
62#endif
63
64#ifdef SMOLRTSP_WITH_H266
68 size_t max_h266_nalu_size;
69#endif
71
82SmolRTSP_NalTransportConfig_default(void) SMOLRTSP_PRIV_MUST_USE;
83
88
98
109 SmolRTSP_NalTransportConfig config) SMOLRTSP_PRIV_MUST_USE;
110
134 SmolRTSP_NalTransport *self, SmolRTSP_RtpTimestamp ts, bool is_au_end,
135 SmolRTSP_NalUnit nalu) SMOLRTSP_PRIV_MUST_USE;
136
144
145bool SmolRTSP_NalTransport_is_full(SmolRTSP_NalTransport *self);
Droppable types support.
A generic NAL (Network Abstraction Layer) representation.
int SmolRTSP_NalTransport_send_packet(SmolRTSP_NalTransport *self, SmolRTSP_RtpTimestamp ts, bool is_au_end, SmolRTSP_NalUnit nalu) SMOLRTSP_PRIV_MUST_USE
Sends an RTP/NAL packet.
SmolRTSP_NalTransportConfig SmolRTSP_NalTransportConfig_default(void) SMOLRTSP_PRIV_MUST_USE
Returns the default SmolRTSP_NalTransportConfig.
declImplExtern99(SmolRTSP_Droppable, SmolRTSP_NalTransport)
Implements SmolRTSP_Droppable_IFACE for SmolRTSP_NalTransport.
SmolRTSP_NalTransport * SmolRTSP_NalTransport_new(SmolRTSP_RtpTransport *t) SMOLRTSP_PRIV_MUST_USE
Creates a new RTP/NAL transport with the default configuration.
SmolRTSP_NalTransport * SmolRTSP_NalTransport_new_with_config(SmolRTSP_RtpTransport *t, SmolRTSP_NalTransportConfig config) SMOLRTSP_PRIV_MUST_USE
Creates a new RTP/NAL transport with a custom configuration.
struct SmolRTSP_NalTransport SmolRTSP_NalTransport
An RTP/NAL data transport.
Definition nal_transport.h:87
An RTP data transport.
struct SmolRTSP_RtpTransport SmolRTSP_RtpTransport
An RTP data transport.
Definition rtp_transport.h:22
The configuration structure for SmolRTSP_NalTransport.
Definition nal_transport.h:49
A generic NAL unit (H.264, H.265, or H.266 / VVC).
Definition nal.h:167