cleanup metadata handling
[fdkaac.git] / src / metadata.h
1 #ifndef METADATA_H
2 #define METADATA_H
3
4 #include "m4af.h"
5
6 typedef struct aacenc_tag_entry_t {
7 uint32_t tag;
8 char *name;
9 char *data;
10 uint32_t data_size;
11 } aacenc_tag_entry_t;
12
13 typedef struct aacenc_tag_store_t {
14 aacenc_tag_entry_t *tag_table;
15 unsigned tag_count;
16 unsigned tag_table_capacity;
17 } aacenc_tag_store_t;
18
19 typedef struct aacenc_translate_generic_text_tag_ctx_t {
20 unsigned track, track_total, disc, disc_total;
21 void (*add)(void *, const aacenc_tag_entry_t *);
22 void *add_ctx;
23 } aacenc_translate_generic_text_tag_ctx_t;
24
25 typedef void (*aacenc_tag_callback_t)(void *ctx, const char *key,
26 const char *value, uint32_t size);
27
28 void aacenc_translate_generic_text_tag(void *ctx, const char *key,
29 const char *val, uint32_t size);
30
31
32 void aacenc_add_tag_to_store(aacenc_tag_store_t *store, uint32_t tag,
33 const char *key, const char *value,
34 uint32_t size, int is_file_name);
35
36 void aacenc_add_tag_entry_to_store(void *store, const aacenc_tag_entry_t *tag);
37
38 void aacenc_free_tag_store(aacenc_tag_store_t *store);
39
40 void aacenc_write_tags_from_json(m4af_ctx_t *m4af, const char *json_filename);
41
42 void aacenc_write_tag_entry(void *m4af, const aacenc_tag_entry_t *tag);
43
44 #endif
This page took 0.02276 seconds and 4 git commands to generate.