114typedef void * (*CMML_CloneFunc) (
void * data);
119typedef void * (*CMML_FreeFunc) (
void * data);
static int read_stream(CMML *cmml, const CMML_Stream *stream, void *user_data)
Definition: cmml-validate.c:133
static int read_clip(CMML *cmml, const CMML_Clip *clip, void *user_data)
Definition: cmml-validate.c:189
static int read_head(CMML *cmml, const CMML_Head *head, void *user_data)
Definition: cmml-validate.c:161
CMML_Head * cmml_get_last_head(CMML *cmml)
CMML_List * cmml_list_tail(CMML_List *list)
double cmml_skip_to_id(CMML *cmml, const char *id)
int cmml_head_pretty_snprint(char *buf, int n, CMML_Head *head)
int(* CMML_CmpFunc)(void *cmp_ctx, void *s1, void *s2)
Definition: cmml.h:128
CMML_Time * cmml_time_new_in_sec(const char *s, CMML_Time *ref, double base)
FILE * cmml_destroy(CMML *cmml)
int cmml_head_snprint(char *buf, int n, CMML_Head *head)
CMML_Error * cmml_error_new(CMML_Error_Type type)
double cmml_skip_to_offset(CMML *cmml, const char *offset)
CMML_UTC * cmml_utc_clone(CMML_UTC *t)
CMML_Head * cmml_head_clone(CMML_Head *src)
CMML_Time * cmml_time_clone(CMML_Time *t)
CMML_List * cmml_list_add_after(CMML_List *list, void *data, CMML_List *node)
int cmml_list_length(CMML_List *list)
CMML_List * cmml_list_free(CMML_List *list)
CMML_Error * cmml_get_last_error(CMML *cmml)
CMML_Time * cmml_time_new(const char *s)
enum _CMML_Error_Type CMML_Error_Type
void cmml_stream_destroy(CMML_Stream *stream)
int cmml_time_interval_new(const char *s, CMML_Time **t_start, CMML_Time **t_end)
CMML * cmml_open(const char *XMLfilename)
void *(* CMML_FreeFunc)(void *data)
Definition: cmml.h:119
double cmml_sec_parse(const char *s)
_CMML_Element_Type
Definition: cmml.h:278
@ CMML_NONE
Definition: cmml.h:279
@ CMML_CLIP
Definition: cmml.h:284
@ CMML_STREAM
Definition: cmml.h:281
@ CMML_CMML
Definition: cmml.h:280
@ CMML_HEAD
Definition: cmml.h:283
@ CMML_IMPORT
Definition: cmml.h:282
CMML_List * cmml_list_remove(CMML_List *list, CMML_List *node)
void cmml_error_destroy(CMML_Error *error)
CMML_Preamble * cmml_preamble_new(const char *encoding, const char *id, const char *lang, const char *dir, const char *granulerate)
CMML_List * cmml_list_clone(CMML_List *list)
CMML_UTC * cmml_utc_parse(const char *s)
void cmml_element_destroy(CMML_Element *element)
void CMML
Definition: cmml.h:50
int cmml_clip_snprint(char *buf, int n, CMML_Clip *clip)
int cmml_utc_snprint(char *buf, int n, CMML_UTC *t)
void cmml_clip_destroy(CMML_Clip *clip)
CMML_List * cmml_list_add_before(CMML_List *list, void *data, CMML_List *node)
CMML_Time * cmml_time_utc_to_sec(CMML_Time *t, CMML_Time *ref, double base)
CMML * cmml_new(FILE *file)
int cmml_utc_pretty_snprint(char *buf, int n, CMML_UTC *t)
double cmml_skip_to_utc(CMML *cmml, const char *utc)
int cmml_preamble_snprint(char *buf, int n, CMML_Preamble *pre)
CMML_Time * cmml_sec_new(const char *s)
int cmml_set_window(CMML *cmml, CMML_Time *start, CMML_Time *end)
CMML_Preamble * cmml_get_preamble(CMML *cmml)
CMML_List * cmml_list_clone_with(CMML_List *list, CMML_CloneFunc clone)
void cmml_set_sloppy(CMML *cmml, int value)
void *(* CMML_CloneFunc)(void *data)
Definition: cmml.h:114
CMML_List * cmml_list_append(CMML_List *list, void *data)
CMML_Element * cmml_element_new(CMML_Element_Type type)
double cmml_skip_to_secs(CMML *cmml, double seconds)
_CMML_Time_Type
Definition: cmml.h:75
@ CMML_UTC_TIME
Definition: cmml.h:77
@ CMML_SEC_TIME
Definition: cmml.h:76
_CMML_Error_Type
Definition: cmml.h:312
@ CMML_EXPAT_ERROR
Definition: cmml.h:320
@ CMML_DUPLICATE_STREAM
Definition: cmml.h:326
@ CMML_FORMAT_ERROR
Definition: cmml.h:329
@ CMML_EOF
Definition: cmml.h:315
@ CMML_NONSEQUENTIAL_CLIP
Definition: cmml.h:333
@ CMML_STREAM_NOT_FIRST
Definition: cmml.h:324
@ CMML_OK
Definition: cmml.h:314
@ CMML_READ_ERROR
Definition: cmml.h:317
@ CMML_NO_HEAD_TAG
Definition: cmml.h:323
@ CMML_UNKNOWN_TAG
Definition: cmml.h:330
@ CMML_TIME_ERROR
Definition: cmml.h:318
@ CMML_MALLOC_ERROR
Definition: cmml.h:319
@ CMML_PARSE_ERROR
Definition: cmml.h:321
@ CMML_XMLNS_REDEFINED
Definition: cmml.h:332
@ CMML_DUPLICATE_HEAD
Definition: cmml.h:327
@ CMML_HEAD_AFTER_CLIP
Definition: cmml.h:325
@ CMML_TAG_IGNORED
Definition: cmml.h:331
@ CMML_NO_CMML_TAG
Definition: cmml.h:322
int cmml_stream_pretty_snprint(char *buf, int n, CMML_Stream *stream)
CMML_Clip * cmml_clip_clone(CMML_Clip *src)
void cmml_preamble_destroy(CMML_Preamble *preamble)
CMML_Stream * cmml_stream_clone(CMML_Stream *src)
CMML_List * cmml_list_find(CMML_List *list, void *data)
enum _CMML_Element_Type CMML_Element_Type
enum _CMML_Time_Type CMML_Time_Type
int cmml_npt_snprint(char *buf, int n, double seconds)
void cmml_time_free(CMML_Time *t)
int(* CMMLReadStream)(CMML *cmml, const CMML_Stream *stream, void *user_data)
Definition: cmml.h:357
CMML * cmml_close(CMML *cmml)
CMML_Head * cmml_head_new(void)
CMML_List * cmml_list_new(void)
CMML_Time * cmml_utc_new(const char *s)
CMML_Preamble * cmml_preamble_clone(CMML_Preamble *src)
int(* CMMLReadHead)(CMML *cmml, const CMML_Head *head, void *user_data)
Definition: cmml.h:370
int cmml_error_snprint(char *buf, int n, CMML_Error *error, CMML *cmml)
void cmml_error_clear(CMML *cmml)
int cmml_list_is_singleton(CMML_List *list)
int(* CMMLReadClip)(CMML *cmml, const CMML_Clip *clip, void *user_data)
Definition: cmml.h:384
int cmml_stream_snprint(char *buf, int n, CMML_Stream *stream)
int cmml_element_snprint(char *buf, int n, CMML_Element *elem)
CMML_Stream * cmml_get_last_stream(CMML *cmml)
long cmml_read(CMML *cmml, long n)
CMML_Clip * cmml_get_last_clip(CMML *cmml)
CMML_List * cmml_list_prepend(CMML_List *list, void *data)
int cmml_clip_pretty_snprint(char *buf, int n, CMML_Clip *clip)
int cmml_list_is_empty(CMML_List *list)
CMML_Clip * cmml_clip_new(CMML_Time *start_time, CMML_Time *end_time)
double cmml_utc_diff(CMML_UTC *t2, CMML_UTC *t1)
CMML_Clip * cmml_get_previous_clip(CMML *cmml)
CMML_Stream * cmml_stream_new(void)
CMML_Element * cmml_element_clone(CMML_Element *src)
CMML_List * cmml_list_free_with(CMML_List *list, CMML_FreeFunc free_func)
CMML_Time * cmml_time_new_secs(double seconds)
int cmml_set_read_callbacks(CMML *cmml, CMMLReadStream read_stream, CMMLReadHead read_head, CMMLReadClip read_clip, void *user_data)
void cmml_head_destroy(CMML_Head *head)
char * track
Definition: cmml.h:248
char * img_src
Definition: cmml.h:264
char * dir
Definition: cmml.h:247
char * anchor_lang
Definition: cmml.h:255
char * img_class
Definition: cmml.h:260
char * img_lang
Definition: cmml.h:262
CMML_Time * end_time
Definition: cmml.h:250
char * desc_id
Definition: cmml.h:266
char * anchor_id
Definition: cmml.h:252
char * anchor_title
Definition: cmml.h:254
char * anchor_class
Definition: cmml.h:253
char * desc_title
Definition: cmml.h:268
char * desc_text
Definition: cmml.h:271
char * img_dir
Definition: cmml.h:263
char * desc_lang
Definition: cmml.h:269
CMML_Time * start_time
Definition: cmml.h:249
char * img_alt
Definition: cmml.h:265
char * desc_dir
Definition: cmml.h:270
char * lang
Definition: cmml.h:246
char * img_id
Definition: cmml.h:259
char * title
Definition: cmml.h:245
char * anchor_text
Definition: cmml.h:258
char * clip_class
Definition: cmml.h:244
char * anchor_href
Definition: cmml.h:257
char * desc_class
Definition: cmml.h:267
char * anchor_dir
Definition: cmml.h:256
char * img_title
Definition: cmml.h:261
CMML_List * meta
Definition: cmml.h:251
char * clip_id
Definition: cmml.h:243
CMML_Clip * clip
Definition: cmml.h:299
CMML_Stream * stream
Definition: cmml.h:297
CMML_Element_Type type
Definition: cmml.h:294
CMML_Head * head
Definition: cmml.h:298
CMML_Error_Type type
Definition: cmml.h:341
long line
Definition: cmml.h:342
long col
Definition: cmml.h:343
char * dir
Definition: cmml.h:226
char * base_href
Definition: cmml.h:233
char * head_id
Definition: cmml.h:224
char * title_lang
Definition: cmml.h:230
char * base_id
Definition: cmml.h:232
CMML_List * link
Definition: cmml.h:235
char * title_dir
Definition: cmml.h:231
CMML_List * meta
Definition: cmml.h:234
char * title
Definition: cmml.h:228
char * profile
Definition: cmml.h:227
char * title_id
Definition: cmml.h:229
char * lang
Definition: cmml.h:225
char * dir
Definition: cmml.h:165
char * lang
Definition: cmml.h:164
CMML_Time * end_time
Definition: cmml.h:170
CMML_Time * start_time
Definition: cmml.h:169
CMML_List * param
Definition: cmml.h:172
char * title
Definition: cmml.h:171
char * contenttype
Definition: cmml.h:167
char * src
Definition: cmml.h:168
char * granulerate
Definition: cmml.h:166
char * id
Definition: cmml.h:163
char * rel
Definition: cmml.h:215
char * lang
Definition: cmml.h:211
char * link_class
Definition: cmml.h:209
char * media
Definition: cmml.h:217
char * id
Definition: cmml.h:208
char * type
Definition: cmml.h:214
char * title
Definition: cmml.h:210
char * rev
Definition: cmml.h:216
char * dir
Definition: cmml.h:212
char * href
Definition: cmml.h:213
char * name
Definition: cmml.h:155
char * id
Definition: cmml.h:154
char * value
Definition: cmml.h:156
char * cmml_xmlns
Definition: cmml.h:144
char * xml_encoding
Definition: cmml.h:138
int doctype_declared
Definition: cmml.h:140
char * cmml_id
Definition: cmml.h:143
char * cmml_granulerate
Definition: cmml.h:145
char * cmml_lang
Definition: cmml.h:141
char * cmml_dir
Definition: cmml.h:142
int xml_standalone
Definition: cmml.h:139
char * xml_version
Definition: cmml.h:137
CMML_Time * utc
Definition: cmml.h:185
CMML_Time * basetime
Definition: cmml.h:184
char * id
Definition: cmml.h:183
CMML_UTC * utc
Definition: cmml.h:90
CMML_Time_Type type
Definition: cmml.h:87
double sec
Definition: cmml.h:91
char * tstr
Definition: cmml.h:86
short tm_sec
Definition: cmml.h:63
short tm_hour
Definition: cmml.h:65
short tm_hsec
Definition: cmml.h:62
short tm_mday
Definition: cmml.h:66
short tm_year
Definition: cmml.h:68
short tm_mon
Definition: cmml.h:67
short tm_min
Definition: cmml.h:64
void * data
Definition: cmml.h:108
CMML_List * next
Definition: cmml.h:107
CMML_List * prev
Definition: cmml.h:106