28#include "../live555_dtsgen.h"
65 void(*pf_output)(
void *, uint8_t *,
size_t),
70 psz64 += strspn(psz64,
" ");
73 pf_output(outputsys, xps, xpssz);
74 psz64 = strchr(psz64,
',');
77 }
while(psz64 && *psz64 && psz64 < pszend);
101 *ppp_append = &((**ppp_append)->p_next);
129 dtsgen_Resync(&sys->
dtsgen);
137 for(
int i=0; i<(1+!!au_end); i++)
140 block ? &block : NULL)))
static void vlc_rtp_es_send(struct vlc_rtp_es *es, block_t *block)
Sends coded data for output.
Definition rtp.h:310
size_t vlc_b64_decode_binary(uint8_t **pp_dst, const char *psz_src)
Definition strings.c:461
static void rtp_h26x_init(struct rtp_h26x_sys *sys)
Definition h26x.h:51
static void h26x_extractbase64xps(const char *psz64, const char *pszend, void(*pf_output)(void *, uint8_t *, size_t), void *outputsys)
Definition h26x.h:63
static block_t * h26x_wrap_prefix(block_t *block, bool b_annexb)
Definition h26x.h:80
static void h26x_output_blocks(struct rtp_h26x_sys *sys, bool b_annexb)
Definition h26x.h:151
static void h26x_add_xps(void *priv, uint8_t *xps, size_t xpssz)
Definition h26x.h:93
static const uint8_t annexbheader[]
Definition h26x.h:30
static block_t * h26x_fillextradata(const char *psz)
Definition h26x.h:104
static void h26x_output(struct rtp_h26x_sys *sys, block_t *block, vlc_tick_t pts, bool pcr, bool au_end)
Definition h26x.h:114
static void rtp_h26x_clear(struct rtp_h26x_sys *sys)
Definition h26x.h:44
RTP demux module shared declarations.
Definition vlc_codec.h:102
vlc_frame_t *(* pf_packetize)(decoder_t *, vlc_frame_t **ppframe)
Definition vlc_codec.h:180
decoder_t * p_packetizer
Definition h26x.h:40
block_t * p_packets
Definition h26x.h:37
struct vlc_rtp_es * es
Definition h26x.h:39
block_t * xps
Definition h26x.h:38
block_t ** pp_packets_next
Definition h26x.h:36
vlc_tick_t pts
Definition h26x.h:35
unsigned flags
Definition h26x.h:34
struct dtsgen_t dtsgen
Definition h26x.h:41
Definition vlc_frame.h:123
vlc_tick_t i_dts
Definition vlc_frame.h:135
uint8_t * p_buffer
Payload start.
Definition vlc_frame.h:126
vlc_tick_t i_pts
Definition vlc_frame.h:134
uint32_t i_flags
Definition vlc_frame.h:131
size_t i_buffer
Payload length.
Definition vlc_frame.h:127
RTP abstract output stream.
Definition rtp.h:289
#define block_ChainRelease
Definition vlc_block.h:99
#define BLOCK_FLAG_AU_END
Definition vlc_block.h:69
#define block_ChainGather
Definition vlc_block.h:102
#define BLOCK_FLAG_DISCONTINUITY
Definition vlc_block.h:58
#define block_Realloc
Definition vlc_block.h:86
#define block_heap_Alloc
Definition vlc_block.h:90
#define block_Release
Definition vlc_block.h:87
Decoder and encoder modules interface.
This file is a collection of common definitions and types.
static void SetDWBE(void *p, uint32_t dw)
Writes 32 bits in network byte order.
Definition vlc_common.h:1004
#define VLC_TICK_INVALID
Definition vlc_config.h:44
Demultiplexer modules interface.
Helper functions for nul-terminated strings.
int64_t vlc_tick_t
High precision date or time interval.
Definition vlc_tick.h:48