Data Structures | |
struct | AVDictionaryEntry |
Defines | |
#define | AV_DICT_MATCH_CASE 1 |
#define | AV_DICT_IGNORE_SUFFIX 2 |
#define | AV_DICT_DONT_STRDUP_KEY 4 |
Take ownership of a key that's been allocated with av_malloc() and children. | |
#define | AV_DICT_DONT_STRDUP_VAL 8 |
Take ownership of a value that's been allocated with av_malloc() and chilren. | |
#define | AV_DICT_DONT_OVERWRITE 16 |
Don't overwrite existing entries. | |
#define | AV_DICT_APPEND 32 |
If the entry already exists, append to it. | |
Typedefs | |
typedef struct AVDictionary | AVDictionary |
Functions | |
AVDictionaryEntry * | av_dict_get (AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags) |
Get a dictionary entry with matching key. | |
int | av_dict_set (AVDictionary **pm, const char *key, const char *value, int flags) |
Set the given entry in *pm, overwriting an existing entry. | |
void | av_dict_copy (AVDictionary **dst, AVDictionary *src, int flags) |
Copy entries from one AVDictionary struct into another. | |
void | av_dict_free (AVDictionary **m) |
Free all the memory allocated for an AVDictionary struct and all keys and values. |
Dictionaries are used for storing key:value pairs. To create an AVDictionary, simply pass an address of a NULL pointer to av_dict_set(). NULL can be used as an empty dictionary wherever a pointer to an AVDictionary is required. Use av_dict_get() to retrieve an entry or iterate over all entries and finally av_dict_free() to free the dictionary and all its contents.
AVDictionary *d = NULL; // "create" an empty dictionary av_dict_set(&d, "foo", "bar", 0); // add an entry char *k = av_strdup("key"); // if your strings are already allocated, char *v = av_strdup("value"); // you can avoid copying them like this av_dict_set(&d, k, v, AV_DICT_DONT_STRDUP_KEY | AV_DICT_DONT_STRDUP_VAL); AVDictionaryEntry *t = NULL; while (t = av_dict_get(d, "", t, AV_DICT_IGNORE_SUFFIX)) { <....> // iterate over all entries in d } av_dict_free(&d);
#define AV_DICT_APPEND 32 |
If the entry already exists, append to it.
Note that no delimiter is added, the strings are simply concatenated.
Definition at line 74 of file dict.h.
Referenced by av_dict_set().
#define AV_DICT_DONT_OVERWRITE 16 |
Don't overwrite existing entries.
Definition at line 73 of file dict.h.
Referenced by av_dict_set(), copy_metadata(), new_output_stream(), opt_output_file(), read_ttag(), and transcode_init().
#define AV_DICT_DONT_STRDUP_KEY 4 |
Take ownership of a key that's been allocated with av_malloc() and children.
Definition at line 69 of file dict.h.
Referenced by av_dict_set(), ff_vorbis_comment(), read_tag(), and read_ttag().
#define AV_DICT_DONT_STRDUP_VAL 8 |
Take ownership of a value that's been allocated with av_malloc() and chilren.
Definition at line 71 of file dict.h.
Referenced by add_metadata(), ape_tag_read_field(), av_dict_set(), avi_read_tag(), ff_read_riff_info(), ff_rtp_chain_mux_open(), ff_sauce_read(), ff_vorbis_comment(), get_metadata(), modplug_load_metadata(), ogm_chapter(), read_tag(), read_ttag(), smjpeg_read_header(), sox_read_header(), and wc3_read_header().
#define AV_DICT_IGNORE_SUFFIX 2 |
Definition at line 68 of file dict.h.
Referenced by asf_write_header1(), assert_avoptions(), av_dict_copy(), av_dict_get(), av_opt_set_dict(), compact_show_tags(), default_show_tags(), dump_metadata(), ff_id3v2_write(), ff_metadata_conv(), ff_vorbiscomment_length(), ff_vorbiscomment_write(), filter_codec_opts(), flv_write_header(), id3v2_3_metadata_split_date(), json_show_tags(), main(), mkv_write_tag(), mkv_write_tags(), mov_write_string_metadata(), mp3_read_header(), mpc_read_header(), open_input_file(), read_thread(), smjpeg_write_header(), stream_component_open(), tta_read_header(), write_chapter(), write_globalinfo(), write_table_entries_attrib(), write_table_redirector_legacy_attrib(), write_tags(), wv_read_header(), and xml_show_tags().
#define AV_DICT_MATCH_CASE 1 |
typedef struct AVDictionary AVDictionary |
void av_dict_copy | ( | AVDictionary ** | dst, | |
AVDictionary * | src, | |||
int | flags | |||
) |
Copy entries from one AVDictionary struct into another.
dst | pointer to a pointer to a AVDictionary struct. If *dst is NULL, this function will allocate a struct for you and put it in *dst | |
src | pointer to source AVDictionary struct | |
flags | flags to use when setting entries in *dst |
Definition at line 114 of file dict.c.
Referenced by av_metadata_copy(), avcodec_open2(), avformat_open_input(), avformat_write_header(), copy_chapters(), copy_metadata(), ff_wms_parse_sdp_a_line(), and opt_output_file().
void av_dict_free | ( | AVDictionary ** | m | ) |
Free all the memory allocated for an AVDictionary struct and all keys and values.
Definition at line 100 of file dict.c.
Referenced by av_metadata_free(), av_open_input_file(), av_open_input_stream(), av_opt_set_dict(), avcodec_open2(), avformat_find_stream_info(), avformat_free_context(), avformat_open_input(), avformat_write_header(), close_connection(), exit_program(), ff_metadata_conv(), ff_rtp_chain_mux_open(), http_prepare_data(), id3v2_3_metadata_split_date(), main(), opt_input_file(), prepare_sdp_description(), read_thread(), transcode(), try_decode_frame(), and uninit_opts().
AVDictionaryEntry* av_dict_get | ( | AVDictionary * | m, | |
const char * | key, | |||
const AVDictionaryEntry * | prev, | |||
int | flags | |||
) |
Get a dictionary entry with matching key.
prev | Set to the previous matching element to find the next. If set to NULL the first matching element is returned. | |
flags | Allows case as well as suffix-insensitive comparisons. |
Definition at line 27 of file dict.c.
Referenced by asf_write_header1(), assert_avoptions(), av_dict_copy(), av_dict_set(), av_dump_format(), av_metadata_get(), av_opt_set_dict(), avi_write_header(), compact_show_tags(), default_show_tags(), dump_attachment(), dump_metadata(), dump_stream_format(), dv_init_mux(), ff_id3v2_write(), ff_metadata_conv(), ff_vorbiscomment_length(), ff_vorbiscomment_write(), filter_codec_opts(), flv_write_header(), get_date_tag(), gxf_write_umf_material_description(), id3v1_create_tag(), id3v1_set_string(), id3v2_3_metadata_split_date(), init_input_stream(), json_show_tags(), main(), mkv_write_attachments(), mkv_write_chapters(), mkv_write_header(), mkv_write_tag(), mkv_write_tags(), mkv_write_tracks(), mov_write_3gp_udta_tag(), mov_write_chpl_tag(), mov_write_header(), mov_write_string_metadata(), mov_write_trkn_tag(), mov_write_uuidusmt_tag(), mp3_read_header(), mpc_read_header(), mpegts_write_header(), mpegts_write_pmt(), mxf_write_header(), open_input_file(), read_thread(), rv10_write_header(), smjpeg_write_header(), sox_write_header(), stream_component_open(), transcode_init(), tta_read_header(), write_chapter(), write_globalinfo(), write_table_entries_attrib(), write_table_redirector_legacy_attrib(), write_tags(), wv_read_header(), and xml_show_tags().
int av_dict_set | ( | AVDictionary ** | pm, | |
const char * | key, | |||
const char * | value, | |||
int | flags | |||
) |
Set the given entry in *pm, overwriting an existing entry.
pm | pointer to a pointer to a dictionary struct. If *pm is NULL a dictionary struct is allocated and put in *pm. | |
key | entry key to add to *pm (will be av_strduped depending on flags) | |
value | entry value to add to *pm (will be av_strduped depending on flags). Passing a NULL value will cause an existing tag to be deleted. |
Definition at line 50 of file dict.c.
Referenced by add_metadata(), add_timecode_metadata(), amf_parse_object(), ape_tag_read_field(), applehttp_read_header(), asf_read_header(), av_dict_copy(), av_metadata_set2(), av_opt_set_dict(), avformat_find_stream_info(), avformat_write_header(), avi_metadata_creation_time(), avi_read_nikon(), avi_read_tag(), avpriv_new_chapter(), build_file_streams(), convert_format_parameters(), decode_info_header(), dv_read_timecode(), ff_metadata_conv(), ff_parse_mpeg2_descriptor(), ff_read_riff_info(), ff_rtp_chain_mux_open(), ff_sauce_read(), ff_vorbis_comment(), filter_codec_opts(), get_attachment(), get_meta(), get_metadata(), get_string(), get_tag(), http_prepare_data(), id3v2_3_metadata_split_date(), init_input_stream(), main(), matroska_convert_tag(), matroska_read_header(), merge_date(), modplug_load_metadata(), mov_metadata_creation_time(), mov_metadata_gnre(), mov_metadata_int8_bypass_padding(), mov_metadata_int8_no_padding(), mov_metadata_track_or_disc_number(), mov_read_ftyp(), mov_read_hdlr(), mov_read_mdhd(), mov_read_tkhd(), mov_read_udta_string(), new_output_stream(), nsv_parse_NSVf_header(), ogm_chapter(), opt_default(), opt_input_file(), opt_output_file(), parse_chunks(), parse_tag(), parse_timecode_in_framenum_format(), prepare_sdp_description(), r3d_read_red1(), read_gab2_sub(), read_info_chunk(), read_tag(), read_ttag(), rm_read_metadata(), rpl_read_header(), sdt_cb(), smjpeg_read_header(), sox_read_header(), stream_component_open(), transcode_init(), try_decode_frame(), vqf_read_header(), and wc3_read_header().