2 * Copyright (C) 2013 nu774
3 * For conditions of distribution and use, see copyright notice in COPYING
10 typedef struct aacenc_tag_entry_t
{
17 typedef struct aacenc_tag_store_t
{
18 aacenc_tag_entry_t
*tag_table
;
20 unsigned tag_table_capacity
;
23 typedef struct aacenc_translate_generic_text_tag_ctx_t
{
24 unsigned track
, track_total
, disc
, disc_total
;
25 void (*add
)(void *, const aacenc_tag_entry_t
*);
27 } aacenc_translate_generic_text_tag_ctx_t
;
29 typedef void (*aacenc_tag_callback_t
)(void *ctx
, const char *key
,
30 const char *value
, uint32_t size
);
32 void aacenc_translate_generic_text_tag(void *ctx
, const char *key
,
33 const char *val
, uint32_t size
);
36 void aacenc_add_tag_to_store(aacenc_tag_store_t
*store
, uint32_t tag
,
37 const char *key
, const char *value
,
38 uint32_t size
, int is_file_name
);
40 void aacenc_add_tag_entry_to_store(void *store
, const aacenc_tag_entry_t
*tag
);
42 void aacenc_free_tag_store(aacenc_tag_store_t
*store
);
44 void aacenc_write_tags_from_json(m4af_ctx_t
*m4af
, const char *json_filename
);
46 void aacenc_write_tag_entry(void *m4af
, const aacenc_tag_entry_t
*tag
);