cleanup metadata handling
[fdkaac.git] / src / metadata.h
CommitLineData
cbb23cdb 1#ifndef METADATA_H
2#define METADATA_H
3
3b666b75 4#include "m4af.h"
5
cbb23cdb 6typedef struct aacenc_tag_entry_t {
3b666b75 7 uint32_t tag;
8 char *name;
9 char *data;
10 uint32_t data_size;
cbb23cdb 11} aacenc_tag_entry_t;
12
3b666b75 13typedef struct aacenc_tag_store_t {
cbb23cdb 14 aacenc_tag_entry_t *tag_table;
15 unsigned tag_count;
16 unsigned tag_table_capacity;
3b666b75 17} aacenc_tag_store_t;
18
19typedef 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
25typedef void (*aacenc_tag_callback_t)(void *ctx, const char *key,
26 const char *value, uint32_t size);
27
28void aacenc_translate_generic_text_tag(void *ctx, const char *key,
29 const char *val, uint32_t size);
30
31
32void 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);
cbb23cdb 35
3b666b75 36void aacenc_add_tag_entry_to_store(void *store, const aacenc_tag_entry_t *tag);
cbb23cdb 37
3b666b75 38void aacenc_free_tag_store(aacenc_tag_store_t *store);
cbb23cdb 39
3b666b75 40void aacenc_write_tags_from_json(m4af_ctx_t *m4af, const char *json_filename);
cbb23cdb 41
3b666b75 42void aacenc_write_tag_entry(void *m4af, const aacenc_tag_entry_t *tag);
cbb23cdb 43
44#endif
This page took 0.010965 seconds and 4 git commands to generate.