24#ifndef LIBCAPTION_FLV_H
25#define LIBCAPTION_FLV_H
30#define FLV_HEADER_SIZE 13
31#define FLV_FOOTER_SIZE 4
32#define FLV_TAG_HEADER_SIZE 11
33#define FLV_TAG_FOOTER_SIZE 4
static double flvtag_cts_seconds(flvtag_t *tag)
Definition flv.h:112
size_t flvtag_payload_size(flvtag_t *tag)
Definition flv.c:150
int flvtag_addcaption_text(flvtag_t *tag, const utf8_char_t *text)
Definition flv.c:386
static flvtag_type_t flvtag_type(flvtag_t *tag)
Definition flv.h:52
void flvtag_free(flvtag_t *tag)
Definition flv.c:33
static uint32_t flvtag_cts(flvtag_t *tag)
Definition flv.h:109
sei_t * flv_read_sei(FILE *flv, flvtag_t *tag)
static uint32_t flvtag_pts(flvtag_t *tag)
Definition flv.h:110
FILE * flv_open_read(const char *flv)
Definition flv.c:61
int flvtag_amfcaption_708(flvtag_t *tag, uint32_t timestamp, sei_message_t *msg)
Definition flv.c:260
static flvtag_codecid_t flvtag_codecid(flvtag_t *tag)
Definition flv.h:84
FILE * flv_close(FILE *flv)
Definition flv.c:79
static flvtag_soundformat_t flvtag_soundformat(flvtag_t *tag)
Definition flv.h:72
static double flvtag_dts_seconds(flvtag_t *tag)
Definition flv.h:111
flvtag_codecid_t
Definition flv.h:74
@ flvtag_codecid_avc
Definition flv.h:81
@ flvtag_codecid_screenvideoversion2
Definition flv.h:80
@ flvtag_codecid_unknown
Definition flv.h:75
@ flvtag_codecid_sorensonh263
Definition flv.h:76
@ flvtag_codecid_on2vp6
Definition flv.h:78
@ flvtag_codecid_screenvideo
Definition flv.h:77
@ flvtag_codecid_on2vp6withalphachannel
Definition flv.h:79
static flvtag_frametype_t flvtag_frametype(flvtag_t *tag)
Definition flv.h:95
#define FLV_TAG_FOOTER_SIZE
Definition flv.h:33
flvtag_avcpackettype_t
Definition flv.h:97
@ flvtag_avcpackettype_sequenceheader
Definition flv.h:99
@ flvtag_avcpackettype_endofsequence
Definition flv.h:101
@ flvtag_avcpackettype_unknown
Definition flv.h:98
@ flvtag_avcpackettype_nalu
Definition flv.h:100
int flv_read_tag(FILE *flv, flvtag_t *tag)
Definition flv.c:108
static flvtag_avcpackettype_t flvtag_avcpackettype(flvtag_t *tag)
Definition flv.h:104
int flv_write_header(FILE *flv, int has_audio, int has_video)
Definition flv.c:102
flvtag_type_t
Definition flv.h:46
@ flvtag_type_video
Definition flv.h:48
@ flvtag_type_audio
Definition flv.h:47
@ flvtag_type_scriptdata
Definition flv.h:49
FILE * flv_open_write(const char *flv)
Definition flv.c:70
static const uint8_t * flvtag_raw_data(flvtag_t *tag)
Definition flv.h:123
void flvtag_swap(flvtag_t *tag1, flvtag_t *tag2)
Definition flv.c:42
int flvtag_addcaption_scc(flvtag_t *tag, const scc_t *scc)
Definition flv.c:405
int flvtag_avcwritenal(flvtag_t *tag, uint8_t *data, size_t size)
Definition flv.c:316
int flv_read_header(FILE *flv, int *has_audio, int *has_video)
Definition flv.c:85
#define FLV_TAG_HEADER_SIZE
Definition flv.h:32
int flvtag_initavc(flvtag_t *tag, uint32_t dts, int32_t cts, flvtag_frametype_t type)
Definition flv.c:175
static double flvtag_pts_seconds(flvtag_t *tag)
Definition flv.h:113
static uint32_t flvtag_timestamp(flvtag_t *tag)
Definition flv.h:107
flvtag_soundformat_t
Definition flv.h:54
@ flvtag_soundformat_linearpcmplatformendian
Definition flv.h:56
@ flvtag_soundformat_unknown
Definition flv.h:55
@ flvtag_soundformat_devicespecificsound
Definition flv.h:69
@ flvtag_soundformat_mp3
Definition flv.h:58
@ flvtag_soundformat_nellymoser_8khzmono
Definition flv.h:61
@ flvtag_soundformat_nellymoser
Definition flv.h:62
@ flvtag_soundformat_g711alawlogarithmicpcm
Definition flv.h:63
@ flvtag_soundformat_aac
Definition flv.h:66
@ flvtag_soundformat_speex
Definition flv.h:67
@ flvtag_soundformat_nellymoser_16khzmono
Definition flv.h:60
@ flvtag_soundformat_linearpcmlittleendian
Definition flv.h:59
@ flvtag_soundformat_mp3_8khz
Definition flv.h:68
@ flvtag_soundformat_reserved
Definition flv.h:65
@ flvtag_soundformat_adpcm
Definition flv.h:57
@ flvtag_soundformat_g711mulawlogarithmicpcm
Definition flv.h:64
flvtag_frametype_t
Definition flv.h:86
@ flvtag_frametype_keyframe
Definition flv.h:88
@ flvtag_frametype_unknown
Definition flv.h:87
@ flvtag_frametype_disposableinterframe
Definition flv.h:90
@ flvtag_frametype_interframe
Definition flv.h:89
@ flvtag_frametype_commandframe
Definition flv.h:92
@ flvtag_frametype_generatedkeyframe
Definition flv.h:91
int flv_write_tag(FILE *flv, flvtag_t *tag)
Definition flv.c:129
uint8_t * flvtag_payload_data(flvtag_t *tag)
Definition flv.c:155
void flvtag_init(flvtag_t *tag)
Definition flv.c:28
int flvtag_amfcaption_utf8(flvtag_t *tag, uint32_t timestamp, const utf8_char_t *text)
Definition flv.c:289
size_t flvtag_header_size(flvtag_t *tag)
Definition flv.c:135
static const size_t flvtag_raw_size(flvtag_t *tag)
Definition flv.h:124
static uint32_t flvtag_dts(flvtag_t *tag)
Definition flv.h:108
static size_t flvtag_size(flvtag_t *tag)
Definition flv.h:106
size_t aloc
Definition flv.h:39
uint8_t * data
Definition flv.h:38