FLAC: /build/flac/src/flac-1.4.3/include/FLAC/metadata.h Source File

FLAC 1.4.3 Free Lossless Audio Codec

metadata.h
Go to the documentation of this file.
1/* libFLAC - Free Lossless Audio Codec library
2 * Copyright (C) 2001-2009 Josh Coalson
3 * Copyright (C) 2011-2023 Xiph.Org Foundation
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * - Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * - Neither the name of the Xiph.org Foundation nor the names of its
17 * contributors may be used to endorse or promote products derived from
18 * this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32
33#ifndef FLAC__METADATA_H
34#define FLAC__METADATA_H
35
36#include <sys/types.h> /* for off_t */
37#include "export.h"
38#include "callback.h"
39#include "format.h"
40
41/* --------------------------------------------------------------------
42 (For an example of how all these routines are used, see the source
43 code for the unit tests in src/test_libFLAC/metadata_*.c, or
44 metaflac in src/metaflac/)
45 ------------------------------------------------------------------*/
46
124#ifdef __cplusplus
125extern "C" {
126#endif
127
128
164 FLAC_API FLAC__bool FLAC__metadata_get_streaminfo(const char *filename, FLAC__StreamMetadata *streaminfo);
165
183 FLAC_API FLAC__bool FLAC__metadata_get_tags(const char *filename, FLAC__StreamMetadata **tags);
184
202 FLAC_API FLAC__bool FLAC__metadata_get_cuesheet(const char *filename, FLAC__StreamMetadata **cuesheet);
203
242 FLAC_API FLAC__bool FLAC__metadata_get_picture(const char *filename, FLAC__StreamMetadata **picture, FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, uint32_t max_width, uint32_t max_height, uint32_t max_depth, uint32_t max_colors);
243
244/* \} */
245
246
302struct FLAC__Metadata_SimpleIterator;
308 typedef struct FLAC__Metadata_SimpleIterator FLAC__Metadata_SimpleIterator;
309
314 typedef enum {
315
316 FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK = 0,
319 FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT,
322 FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE,
325 FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE,
328 FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE,
331 FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA,
334 FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR,
337 FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR,
340 FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR,
343 FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR,
346 FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR,
349 FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR,
352 FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR
355} FLAC__Metadata_SimpleIteratorStatus;
356
362extern FLAC_API const char * const FLAC__Metadata_SimpleIteratorStatusString[];
363
364
370 FLAC_API FLAC__Metadata_SimpleIterator *FLAC__metadata_simple_iterator_new(void);
371
378 FLAC_API void FLAC__metadata_simple_iterator_delete(FLAC__Metadata_SimpleIterator *iterator);
379
390 FLAC_API FLAC__Metadata_SimpleIteratorStatus FLAC__metadata_simple_iterator_status(FLAC__Metadata_SimpleIterator *iterator);
391
416 FLAC_API FLAC__bool FLAC__metadata_simple_iterator_init(FLAC__Metadata_SimpleIterator *iterator, const char *filename, FLAC__bool read_only, FLAC__bool preserve_file_stats);
417
428 FLAC_API FLAC__bool FLAC__metadata_simple_iterator_is_writable(const FLAC__Metadata_SimpleIterator *iterator);
429
442 FLAC_API FLAC__bool FLAC__metadata_simple_iterator_next(FLAC__Metadata_SimpleIterator *iterator);
443
456 FLAC_API FLAC__bool FLAC__metadata_simple_iterator_prev(FLAC__Metadata_SimpleIterator *iterator);
457
469 FLAC_API FLAC__bool FLAC__metadata_simple_iterator_is_last(const FLAC__Metadata_SimpleIterator *iterator);
470
485 FLAC_API off_t FLAC__metadata_simple_iterator_get_block_offset(const FLAC__Metadata_SimpleIterator *iterator);
486
499 FLAC_API FLAC__MetadataType FLAC__metadata_simple_iterator_get_block_type(const FLAC__Metadata_SimpleIterator *iterator);
500
516 FLAC_API uint32_t FLAC__metadata_simple_iterator_get_block_length(const FLAC__Metadata_SimpleIterator *iterator);
517
541 FLAC_API FLAC__bool FLAC__metadata_simple_iterator_get_application_id(FLAC__Metadata_SimpleIterator *iterator, FLAC__byte *id);
542
559 FLAC_API FLAC__StreamMetadata *FLAC__metadata_simple_iterator_get_block(FLAC__Metadata_SimpleIterator *iterator);
560
615 FLAC_API FLAC__bool FLAC__metadata_simple_iterator_set_block(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding);
616
640 FLAC_API FLAC__bool FLAC__metadata_simple_iterator_insert_block_after(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding);
641
659 FLAC_API FLAC__bool FLAC__metadata_simple_iterator_delete_block(FLAC__Metadata_SimpleIterator *iterator, FLAC__bool use_padding);
660
661/* \} */
662
663
721struct FLAC__Metadata_Chain;
724 typedef struct FLAC__Metadata_Chain FLAC__Metadata_Chain;
725
726struct FLAC__Metadata_Iterator;
729 typedef struct FLAC__Metadata_Iterator FLAC__Metadata_Iterator;
730
731 typedef enum {
732 FLAC__METADATA_CHAIN_STATUS_OK = 0,
735 FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT,
738 FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE,
741 FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE,
744 FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE,
747 FLAC__METADATA_CHAIN_STATUS_BAD_METADATA,
750 FLAC__METADATA_CHAIN_STATUS_READ_ERROR,
753 FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR,
756 FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR,
759 FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR,
762 FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR,
765 FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR,
768 FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR,
771 FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS,
774 FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH,
783 FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL
793} FLAC__Metadata_ChainStatus;
794
800extern FLAC_API const char * const FLAC__Metadata_ChainStatusString[];
801
802/*********** FLAC__Metadata_Chain ***********/
803
809 FLAC_API FLAC__Metadata_Chain *FLAC__metadata_chain_new(void);
810
817 FLAC_API void FLAC__metadata_chain_delete(FLAC__Metadata_Chain *chain);
818
829 FLAC_API FLAC__Metadata_ChainStatus FLAC__metadata_chain_status(FLAC__Metadata_Chain *chain);
830
848 FLAC_API FLAC__bool FLAC__metadata_chain_read(FLAC__Metadata_Chain *chain, const char *filename);
849
870 FLAC_API FLAC__bool FLAC__metadata_chain_read_ogg(FLAC__Metadata_Chain *chain, const char *filename);
871
892 FLAC_API FLAC__bool FLAC__metadata_chain_read_with_callbacks(FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks);
893
917 FLAC_API FLAC__bool FLAC__metadata_chain_read_ogg_with_callbacks(FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks);
918
945 FLAC_API FLAC__bool FLAC__metadata_chain_check_if_tempfile_needed(FLAC__Metadata_Chain *chain, FLAC__bool use_padding);
946
991 FLAC_API FLAC__bool FLAC__metadata_chain_write(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__bool preserve_file_stats);
992
1021 FLAC_API FLAC__bool FLAC__metadata_chain_write_with_callbacks(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks);
1022
1072 FLAC_API FLAC__bool FLAC__metadata_chain_write_with_callbacks_and_tempfile(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks, FLAC__IOHandle temp_handle, FLAC__IOCallbacks temp_callbacks);
1073
1086 FLAC_API void FLAC__metadata_chain_merge_padding(FLAC__Metadata_Chain *chain);
1087
1101 FLAC_API void FLAC__metadata_chain_sort_padding(FLAC__Metadata_Chain *chain);
1102
1103
1104/*********** FLAC__Metadata_Iterator ***********/
1105
1111 FLAC_API FLAC__Metadata_Iterator *FLAC__metadata_iterator_new(void);
1112
1119 FLAC_API void FLAC__metadata_iterator_delete(FLAC__Metadata_Iterator *iterator);
1120
1130 FLAC_API void FLAC__metadata_iterator_init(FLAC__Metadata_Iterator *iterator, FLAC__Metadata_Chain *chain);
1131
1144 FLAC_API FLAC__bool FLAC__metadata_iterator_next(FLAC__Metadata_Iterator *iterator);
1145
1158 FLAC_API FLAC__bool FLAC__metadata_iterator_prev(FLAC__Metadata_Iterator *iterator);
1159
1170 FLAC_API FLAC__MetadataType FLAC__metadata_iterator_get_block_type(const FLAC__Metadata_Iterator *iterator);
1171
1191 FLAC_API FLAC__StreamMetadata *FLAC__metadata_iterator_get_block(FLAC__Metadata_Iterator *iterator);
1192
1208 FLAC_API FLAC__bool FLAC__metadata_iterator_set_block(FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block);
1209
1226 FLAC_API FLAC__bool FLAC__metadata_iterator_delete_block(FLAC__Metadata_Iterator *iterator, FLAC__bool replace_with_padding);
1227
1245 FLAC_API FLAC__bool FLAC__metadata_iterator_insert_block_before(FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block);
1246
1263 FLAC_API FLAC__bool FLAC__metadata_iterator_insert_block_after(FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block);
1264
1265/* \} */
1266
1267
1333 FLAC_API FLAC__StreamMetadata *FLAC__metadata_object_new(FLAC__MetadataType type);
1334
1347 FLAC_API FLAC__StreamMetadata *FLAC__metadata_object_clone(const FLAC__StreamMetadata *object);
1348
1358 FLAC_API void FLAC__metadata_object_delete(FLAC__StreamMetadata *object);
1359
1373 FLAC_API FLAC__bool FLAC__metadata_object_is_equal(const FLAC__StreamMetadata *block1, const FLAC__StreamMetadata *block2);
1374
1396 FLAC_API FLAC__bool FLAC__metadata_object_application_set_data(FLAC__StreamMetadata *object, FLAC__byte *data, uint32_t length, FLAC__bool copy);
1397
1414 FLAC_API FLAC__bool FLAC__metadata_object_seektable_resize_points(FLAC__StreamMetadata *object, uint32_t new_num_points);
1415
1426 FLAC_API void FLAC__metadata_object_seektable_set_point(FLAC__StreamMetadata *object, uint32_t point_num, FLAC__StreamMetadata_SeekPoint point);
1427
1440 FLAC_API FLAC__bool FLAC__metadata_object_seektable_insert_point(FLAC__StreamMetadata *object, uint32_t point_num, FLAC__StreamMetadata_SeekPoint point);
1441
1453 FLAC_API FLAC__bool FLAC__metadata_object_seektable_delete_point(FLAC__StreamMetadata *object, uint32_t point_num);
1454
1466 FLAC_API FLAC__bool FLAC__metadata_object_seektable_is_legal(const FLAC__StreamMetadata *object);
1467
1483 FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_placeholders(FLAC__StreamMetadata *object, uint32_t num);
1484
1500 FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_point(FLAC__StreamMetadata *object, FLAC__uint64 sample_number);
1501
1518 FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_points(FLAC__StreamMetadata *object, FLAC__uint64 sample_numbers[], uint32_t num);
1519
1540 FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points(FLAC__StreamMetadata *object, uint32_t num, FLAC__uint64 total_samples);
1541
1568 FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points_by_samples(FLAC__StreamMetadata *object, uint32_t samples, FLAC__uint64 total_samples);
1569
1585 FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_sort(FLAC__StreamMetadata *object, FLAC__bool compact);
1586
1610 FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_set_vendor_string(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy);
1611
1628 FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_resize_comments(FLAC__StreamMetadata *object, uint32_t new_num_comments);
1629
1655 FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_set_comment(FLAC__StreamMetadata *object, uint32_t comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy);
1656
1685 FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_insert_comment(FLAC__StreamMetadata *object, uint32_t comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy);
1686
1710 FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_append_comment(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy);
1711
1745 FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_replace_comment(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool all, FLAC__bool copy);
1746
1758 FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_delete_comment(FLAC__StreamMetadata *object, uint32_t comment_num);
1759
1779 FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair(FLAC__StreamMetadata_VorbisComment_Entry *entry, const char *field_name, const char *field_value);
1780
1800 FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair(const FLAC__StreamMetadata_VorbisComment_Entry entry, char **field_name, char **field_value);
1801
1814 FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_entry_matches(const FLAC__StreamMetadata_VorbisComment_Entry entry, const char *field_name, uint32_t field_name_length);
1815
1833 FLAC_API int FLAC__metadata_object_vorbiscomment_find_entry_from(const FLAC__StreamMetadata *object, uint32_t offset, const char *field_name);
1834
1846 FLAC_API int FLAC__metadata_object_vorbiscomment_remove_entry_matching(FLAC__StreamMetadata *object, const char *field_name);
1847
1859 FLAC_API int FLAC__metadata_object_vorbiscomment_remove_entries_matching(FLAC__StreamMetadata *object, const char *field_name);
1860
1868 FLAC_API FLAC__StreamMetadata_CueSheet_Track *FLAC__metadata_object_cuesheet_track_new(void);
1869
1883 FLAC_API FLAC__StreamMetadata_CueSheet_Track *FLAC__metadata_object_cuesheet_track_clone(const FLAC__StreamMetadata_CueSheet_Track *object);
1884
1891 FLAC_API void FLAC__metadata_object_cuesheet_track_delete(FLAC__StreamMetadata_CueSheet_Track *object);
1892
1912 FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_resize_indices(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t new_num_indices);
1913
1935 FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_insert_index(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num, FLAC__StreamMetadata_CueSheet_Index index);
1936
1959 FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_insert_blank_index(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num);
1960
1978 FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_delete_index(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num);
1979
1996 FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_resize_tracks(FLAC__StreamMetadata *object, uint32_t new_num_tracks);
1997
2018 FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_set_track(FLAC__StreamMetadata *object, uint32_t track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy);
2019
2041 FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_insert_track(FLAC__StreamMetadata *object, uint32_t track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy);
2042
2060 FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_insert_blank_track(FLAC__StreamMetadata *object, uint32_t track_num);
2061
2075 FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_delete_track(FLAC__StreamMetadata *object, uint32_t track_num);
2076
2096 FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_is_legal(const FLAC__StreamMetadata *object, FLAC__bool check_cd_da_subset, const char **violation);
2097
2109 FLAC_API FLAC__uint32 FLAC__metadata_object_cuesheet_calculate_cddb_id(const FLAC__StreamMetadata *object);
2110
2132 FLAC_API FLAC__bool FLAC__metadata_object_picture_set_mime_type(FLAC__StreamMetadata *object, char *mime_type, FLAC__bool copy);
2133
2154 FLAC_API FLAC__bool FLAC__metadata_object_picture_set_description(FLAC__StreamMetadata *object, FLAC__byte *description, FLAC__bool copy);
2155
2179 FLAC_API FLAC__bool FLAC__metadata_object_picture_set_data(FLAC__StreamMetadata *object, FLAC__byte *data, FLAC__uint32 length, FLAC__bool copy);
2180
2198 FLAC_API FLAC__bool FLAC__metadata_object_picture_is_legal(const FLAC__StreamMetadata *object, const char **violation);
2199
2200
2212 FLAC_API FLAC__byte * FLAC__metadata_object_get_raw(const FLAC__StreamMetadata *object);
2213
2214
2227 FLAC_API FLAC__StreamMetadata * FLAC__metadata_object_set_raw(FLAC__byte *buffer, FLAC__uint32 length);
2228/* \} */
2229
2230#ifdef __cplusplus
2231}
2232#endif
2233
2234#endif
export.h
This module contains #defines and symbols for exporting function calls, and providing version informa...
callback.h
This module defines the structures for describing I/O callbacks to the other FLAC interfaces.
format.h
This module contains structure definitions for the representation of FLAC format components in memory...
FLAC__IOHandle
void * FLAC__IOHandle
Definition callback.h:89
FLAC_API
#define FLAC_API
Definition export.h:91
FLAC__MetadataType
FLAC__MetadataType
Definition format.h:496
FLAC__StreamMetadata_Picture_Type
FLAC__StreamMetadata_Picture_Type
Definition format.h:739
FLAC__metadata_get_cuesheet
FLAC__bool FLAC__metadata_get_cuesheet(const char *filename, FLAC__StreamMetadata **cuesheet)
FLAC__metadata_get_tags
FLAC__bool FLAC__metadata_get_tags(const char *filename, FLAC__StreamMetadata **tags)
FLAC__metadata_get_streaminfo
FLAC__bool FLAC__metadata_get_streaminfo(const char *filename, FLAC__StreamMetadata *streaminfo)
FLAC__metadata_get_picture
FLAC__bool FLAC__metadata_get_picture(const char *filename, FLAC__StreamMetadata **picture, FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, uint32_t max_width, uint32_t max_height, uint32_t max_depth, uint32_t max_colors)
FLAC__metadata_simple_iterator_get_block_type
FLAC__MetadataType FLAC__metadata_simple_iterator_get_block_type(const FLAC__Metadata_SimpleIterator *iterator)
FLAC__metadata_simple_iterator_delete
void FLAC__metadata_simple_iterator_delete(FLAC__Metadata_SimpleIterator *iterator)
FLAC__metadata_simple_iterator_is_writable
FLAC__bool FLAC__metadata_simple_iterator_is_writable(const FLAC__Metadata_SimpleIterator *iterator)
FLAC__Metadata_SimpleIterator
struct FLAC__Metadata_SimpleIterator FLAC__Metadata_SimpleIterator
Definition metadata.h:308
FLAC__metadata_simple_iterator_get_block
FLAC__StreamMetadata * FLAC__metadata_simple_iterator_get_block(FLAC__Metadata_SimpleIterator *iterator)
FLAC__metadata_simple_iterator_prev
FLAC__bool FLAC__metadata_simple_iterator_prev(FLAC__Metadata_SimpleIterator *iterator)
FLAC__metadata_simple_iterator_insert_block_after
FLAC__bool FLAC__metadata_simple_iterator_insert_block_after(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding)
FLAC__metadata_simple_iterator_new
FLAC__Metadata_SimpleIterator * FLAC__metadata_simple_iterator_new(void)
FLAC__metadata_simple_iterator_is_last
FLAC__bool FLAC__metadata_simple_iterator_is_last(const FLAC__Metadata_SimpleIterator *iterator)
FLAC__Metadata_SimpleIteratorStatusString
const char *const FLAC__Metadata_SimpleIteratorStatusString[]
FLAC__metadata_simple_iterator_init
FLAC__bool FLAC__metadata_simple_iterator_init(FLAC__Metadata_SimpleIterator *iterator, const char *filename, FLAC__bool read_only, FLAC__bool preserve_file_stats)
FLAC__metadata_simple_iterator_next
FLAC__bool FLAC__metadata_simple_iterator_next(FLAC__Metadata_SimpleIterator *iterator)
FLAC__metadata_simple_iterator_delete_block
FLAC__bool FLAC__metadata_simple_iterator_delete_block(FLAC__Metadata_SimpleIterator *iterator, FLAC__bool use_padding)
FLAC__Metadata_SimpleIteratorStatus
FLAC__Metadata_SimpleIteratorStatus
Definition metadata.h:314
FLAC__metadata_simple_iterator_get_application_id
FLAC__bool FLAC__metadata_simple_iterator_get_application_id(FLAC__Metadata_SimpleIterator *iterator, FLAC__byte *id)
FLAC__metadata_simple_iterator_get_block_offset
off_t FLAC__metadata_simple_iterator_get_block_offset(const FLAC__Metadata_SimpleIterator *iterator)
FLAC__metadata_simple_iterator_set_block
FLAC__bool FLAC__metadata_simple_iterator_set_block(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding)
FLAC__metadata_simple_iterator_status
FLAC__Metadata_SimpleIteratorStatus FLAC__metadata_simple_iterator_status(FLAC__Metadata_SimpleIterator *iterator)
FLAC__metadata_simple_iterator_get_block_length
uint32_t FLAC__metadata_simple_iterator_get_block_length(const FLAC__Metadata_SimpleIterator *iterator)
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR
@ FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR
Definition metadata.h:334
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT
@ FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT
Definition metadata.h:319
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA
@ FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA
Definition metadata.h:331
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE
@ FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE
Definition metadata.h:322
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR
@ FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR
Definition metadata.h:337
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR
@ FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR
Definition metadata.h:343
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK
@ FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK
Definition metadata.h:316
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR
@ FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR
Definition metadata.h:346
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE
@ FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE
Definition metadata.h:325
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR
@ FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR
Definition metadata.h:352
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR
@ FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR
Definition metadata.h:349
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR
@ FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR
Definition metadata.h:340
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE
@ FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE
Definition metadata.h:328
FLAC__metadata_chain_new
FLAC__Metadata_Chain * FLAC__metadata_chain_new(void)
FLAC__metadata_chain_merge_padding
void FLAC__metadata_chain_merge_padding(FLAC__Metadata_Chain *chain)
FLAC__metadata_iterator_get_block
FLAC__StreamMetadata * FLAC__metadata_iterator_get_block(FLAC__Metadata_Iterator *iterator)
FLAC__metadata_iterator_init
void FLAC__metadata_iterator_init(FLAC__Metadata_Iterator *iterator, FLAC__Metadata_Chain *chain)
FLAC__metadata_iterator_delete
void FLAC__metadata_iterator_delete(FLAC__Metadata_Iterator *iterator)
FLAC__metadata_chain_read_ogg
FLAC__bool FLAC__metadata_chain_read_ogg(FLAC__Metadata_Chain *chain, const char *filename)
FLAC__metadata_chain_check_if_tempfile_needed
FLAC__bool FLAC__metadata_chain_check_if_tempfile_needed(FLAC__Metadata_Chain *chain, FLAC__bool use_padding)
FLAC__metadata_chain_delete
void FLAC__metadata_chain_delete(FLAC__Metadata_Chain *chain)
FLAC__metadata_chain_write
FLAC__bool FLAC__metadata_chain_write(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__bool preserve_file_stats)
FLAC__metadata_iterator_insert_block_after
FLAC__bool FLAC__metadata_iterator_insert_block_after(FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)
FLAC__metadata_chain_read_with_callbacks
FLAC__bool FLAC__metadata_chain_read_with_callbacks(FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks)
FLAC__metadata_chain_read
FLAC__bool FLAC__metadata_chain_read(FLAC__Metadata_Chain *chain, const char *filename)
FLAC__metadata_iterator_next
FLAC__bool FLAC__metadata_iterator_next(FLAC__Metadata_Iterator *iterator)
FLAC__Metadata_ChainStatusString
const char *const FLAC__Metadata_ChainStatusString[]
FLAC__metadata_chain_write_with_callbacks
FLAC__bool FLAC__metadata_chain_write_with_callbacks(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks)
FLAC__metadata_chain_write_with_callbacks_and_tempfile
FLAC__bool FLAC__metadata_chain_write_with_callbacks_and_tempfile(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks, FLAC__IOHandle temp_handle, FLAC__IOCallbacks temp_callbacks)
FLAC__metadata_chain_sort_padding
void FLAC__metadata_chain_sort_padding(FLAC__Metadata_Chain *chain)
FLAC__metadata_iterator_get_block_type
FLAC__MetadataType FLAC__metadata_iterator_get_block_type(const FLAC__Metadata_Iterator *iterator)
FLAC__metadata_iterator_insert_block_before
FLAC__bool FLAC__metadata_iterator_insert_block_before(FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)
FLAC__metadata_chain_status
FLAC__Metadata_ChainStatus FLAC__metadata_chain_status(FLAC__Metadata_Chain *chain)
FLAC__Metadata_Iterator
struct FLAC__Metadata_Iterator FLAC__Metadata_Iterator
Definition metadata.h:729
FLAC__metadata_iterator_prev
FLAC__bool FLAC__metadata_iterator_prev(FLAC__Metadata_Iterator *iterator)
FLAC__metadata_iterator_new
FLAC__Metadata_Iterator * FLAC__metadata_iterator_new(void)
FLAC__metadata_chain_read_ogg_with_callbacks
FLAC__bool FLAC__metadata_chain_read_ogg_with_callbacks(FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks)
FLAC__metadata_iterator_delete_block
FLAC__bool FLAC__metadata_iterator_delete_block(FLAC__Metadata_Iterator *iterator, FLAC__bool replace_with_padding)
FLAC__Metadata_Chain
struct FLAC__Metadata_Chain FLAC__Metadata_Chain
Definition metadata.h:724
FLAC__metadata_iterator_set_block
FLAC__bool FLAC__metadata_iterator_set_block(FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)
FLAC__Metadata_ChainStatus
FLAC__Metadata_ChainStatus
Definition metadata.h:731
FLAC__METADATA_CHAIN_STATUS_READ_ERROR
@ FLAC__METADATA_CHAIN_STATUS_READ_ERROR
Definition metadata.h:750
FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH
@ FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH
Definition metadata.h:774
FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT
@ FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT
Definition metadata.h:735
FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR
@ FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR
Definition metadata.h:762
FLAC__METADATA_CHAIN_STATUS_OK
@ FLAC__METADATA_CHAIN_STATUS_OK
Definition metadata.h:732
FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR
@ FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR
Definition metadata.h:768
FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE
@ FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE
Definition metadata.h:738
FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR
@ FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR
Definition metadata.h:753
FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR
@ FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR
Definition metadata.h:756
FLAC__METADATA_CHAIN_STATUS_BAD_METADATA
@ FLAC__METADATA_CHAIN_STATUS_BAD_METADATA
Definition metadata.h:747
FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE
@ FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE
Definition metadata.h:741
FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR
@ FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR
Definition metadata.h:765
FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS
@ FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS
Definition metadata.h:771
FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE
@ FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE
Definition metadata.h:744
FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR
@ FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR
Definition metadata.h:759
FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL
@ FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL
Definition metadata.h:783
FLAC__metadata_object_cuesheet_track_resize_indices
FLAC__bool FLAC__metadata_object_cuesheet_track_resize_indices(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t new_num_indices)
FLAC__metadata_object_picture_set_data
FLAC__bool FLAC__metadata_object_picture_set_data(FLAC__StreamMetadata *object, FLAC__byte *data, FLAC__uint32 length, FLAC__bool copy)
FLAC__metadata_object_vorbiscomment_remove_entry_matching
int FLAC__metadata_object_vorbiscomment_remove_entry_matching(FLAC__StreamMetadata *object, const char *field_name)
FLAC__metadata_object_vorbiscomment_replace_comment
FLAC__bool FLAC__metadata_object_vorbiscomment_replace_comment(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool all, FLAC__bool copy)
FLAC__metadata_object_vorbiscomment_set_comment
FLAC__bool FLAC__metadata_object_vorbiscomment_set_comment(FLAC__StreamMetadata *object, uint32_t comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
FLAC__metadata_object_cuesheet_track_new
FLAC__StreamMetadata_CueSheet_Track * FLAC__metadata_object_cuesheet_track_new(void)
FLAC__metadata_object_set_raw
FLAC__StreamMetadata * FLAC__metadata_object_set_raw(FLAC__byte *buffer, FLAC__uint32 length)
FLAC__metadata_object_seektable_template_append_point
FLAC__bool FLAC__metadata_object_seektable_template_append_point(FLAC__StreamMetadata *object, FLAC__uint64 sample_number)
FLAC__metadata_object_application_set_data
FLAC__bool FLAC__metadata_object_application_set_data(FLAC__StreamMetadata *object, FLAC__byte *data, uint32_t length, FLAC__bool copy)
FLAC__metadata_object_cuesheet_is_legal
FLAC__bool FLAC__metadata_object_cuesheet_is_legal(const FLAC__StreamMetadata *object, FLAC__bool check_cd_da_subset, const char **violation)
FLAC__metadata_object_cuesheet_delete_track
FLAC__bool FLAC__metadata_object_cuesheet_delete_track(FLAC__StreamMetadata *object, uint32_t track_num)
FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair
FLAC__bool FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair(const FLAC__StreamMetadata_VorbisComment_Entry entry, char **field_name, char **field_value)
FLAC__metadata_object_picture_set_description
FLAC__bool FLAC__metadata_object_picture_set_description(FLAC__StreamMetadata *object, FLAC__byte *description, FLAC__bool copy)
FLAC__metadata_object_cuesheet_track_insert_index
FLAC__bool FLAC__metadata_object_cuesheet_track_insert_index(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num, FLAC__StreamMetadata_CueSheet_Index index)
FLAC__metadata_object_vorbiscomment_insert_comment
FLAC__bool FLAC__metadata_object_vorbiscomment_insert_comment(FLAC__StreamMetadata *object, uint32_t comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
FLAC__metadata_object_seektable_template_append_points
FLAC__bool FLAC__metadata_object_seektable_template_append_points(FLAC__StreamMetadata *object, FLAC__uint64 sample_numbers[], uint32_t num)
FLAC__metadata_object_picture_set_mime_type
FLAC__bool FLAC__metadata_object_picture_set_mime_type(FLAC__StreamMetadata *object, char *mime_type, FLAC__bool copy)
FLAC__metadata_object_cuesheet_track_insert_blank_index
FLAC__bool FLAC__metadata_object_cuesheet_track_insert_blank_index(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num)
FLAC__metadata_object_vorbiscomment_remove_entries_matching
int FLAC__metadata_object_vorbiscomment_remove_entries_matching(FLAC__StreamMetadata *object, const char *field_name)
FLAC__metadata_object_seektable_insert_point
FLAC__bool FLAC__metadata_object_seektable_insert_point(FLAC__StreamMetadata *object, uint32_t point_num, FLAC__StreamMetadata_SeekPoint point)
FLAC__metadata_object_vorbiscomment_set_vendor_string
FLAC__bool FLAC__metadata_object_vorbiscomment_set_vendor_string(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
FLAC__metadata_object_is_equal
FLAC__bool FLAC__metadata_object_is_equal(const FLAC__StreamMetadata *block1, const FLAC__StreamMetadata *block2)
FLAC__metadata_object_delete
void FLAC__metadata_object_delete(FLAC__StreamMetadata *object)
FLAC__metadata_object_seektable_resize_points
FLAC__bool FLAC__metadata_object_seektable_resize_points(FLAC__StreamMetadata *object, uint32_t new_num_points)
FLAC__metadata_object_cuesheet_insert_blank_track
FLAC__bool FLAC__metadata_object_cuesheet_insert_blank_track(FLAC__StreamMetadata *object, uint32_t track_num)
FLAC__metadata_object_picture_is_legal
FLAC__bool FLAC__metadata_object_picture_is_legal(const FLAC__StreamMetadata *object, const char **violation)
FLAC__metadata_object_vorbiscomment_append_comment
FLAC__bool FLAC__metadata_object_vorbiscomment_append_comment(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
FLAC__metadata_object_get_raw
FLAC__byte * FLAC__metadata_object_get_raw(const FLAC__StreamMetadata *object)
FLAC__metadata_object_cuesheet_resize_tracks
FLAC__bool FLAC__metadata_object_cuesheet_resize_tracks(FLAC__StreamMetadata *object, uint32_t new_num_tracks)
FLAC__metadata_object_seektable_delete_point
FLAC__bool FLAC__metadata_object_seektable_delete_point(FLAC__StreamMetadata *object, uint32_t point_num)
FLAC__metadata_object_cuesheet_track_delete
void FLAC__metadata_object_cuesheet_track_delete(FLAC__StreamMetadata_CueSheet_Track *object)
FLAC__metadata_object_cuesheet_insert_track
FLAC__bool FLAC__metadata_object_cuesheet_insert_track(FLAC__StreamMetadata *object, uint32_t track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy)
FLAC__metadata_object_vorbiscomment_entry_matches
FLAC__bool FLAC__metadata_object_vorbiscomment_entry_matches(const FLAC__StreamMetadata_VorbisComment_Entry entry, const char *field_name, uint32_t field_name_length)
FLAC__metadata_object_vorbiscomment_resize_comments
FLAC__bool FLAC__metadata_object_vorbiscomment_resize_comments(FLAC__StreamMetadata *object, uint32_t new_num_comments)
FLAC__metadata_object_cuesheet_set_track
FLAC__bool FLAC__metadata_object_cuesheet_set_track(FLAC__StreamMetadata *object, uint32_t track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy)
FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair
FLAC__bool FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair(FLAC__StreamMetadata_VorbisComment_Entry *entry, const char *field_name, const char *field_value)
FLAC__metadata_object_seektable_template_append_spaced_points
FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points(FLAC__StreamMetadata *object, uint32_t num, FLAC__uint64 total_samples)
FLAC__metadata_object_seektable_template_append_spaced_points_by_samples
FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points_by_samples(FLAC__StreamMetadata *object, uint32_t samples, FLAC__uint64 total_samples)
FLAC__metadata_object_cuesheet_track_delete_index
FLAC__bool FLAC__metadata_object_cuesheet_track_delete_index(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num)
FLAC__metadata_object_cuesheet_track_clone
FLAC__StreamMetadata_CueSheet_Track * FLAC__metadata_object_cuesheet_track_clone(const FLAC__StreamMetadata_CueSheet_Track *object)
FLAC__metadata_object_seektable_set_point
void FLAC__metadata_object_seektable_set_point(FLAC__StreamMetadata *object, uint32_t point_num, FLAC__StreamMetadata_SeekPoint point)
FLAC__metadata_object_seektable_template_append_placeholders
FLAC__bool FLAC__metadata_object_seektable_template_append_placeholders(FLAC__StreamMetadata *object, uint32_t num)
FLAC__metadata_object_vorbiscomment_delete_comment
FLAC__bool FLAC__metadata_object_vorbiscomment_delete_comment(FLAC__StreamMetadata *object, uint32_t comment_num)
FLAC__metadata_object_seektable_is_legal
FLAC__bool FLAC__metadata_object_seektable_is_legal(const FLAC__StreamMetadata *object)
FLAC__metadata_object_vorbiscomment_find_entry_from
int FLAC__metadata_object_vorbiscomment_find_entry_from(const FLAC__StreamMetadata *object, uint32_t offset, const char *field_name)
FLAC__metadata_object_new
FLAC__StreamMetadata * FLAC__metadata_object_new(FLAC__MetadataType type)
FLAC__metadata_object_clone
FLAC__StreamMetadata * FLAC__metadata_object_clone(const FLAC__StreamMetadata *object)
FLAC__metadata_object_seektable_template_sort
FLAC__bool FLAC__metadata_object_seektable_template_sort(FLAC__StreamMetadata *object, FLAC__bool compact)
FLAC__metadata_object_cuesheet_calculate_cddb_id
FLAC__uint32 FLAC__metadata_object_cuesheet_calculate_cddb_id(const FLAC__StreamMetadata *object)
FLAC__IOCallbacks
Definition callback.h:175
FLAC__StreamMetadata_CueSheet_Index
Definition format.h:654
FLAC__StreamMetadata_CueSheet_Track
Definition format.h:673
FLAC__StreamMetadata_SeekPoint
Definition format.h:581
FLAC__StreamMetadata_VorbisComment_Entry
Definition format.h:631
FLAC__StreamMetadata
Definition format.h:841

Copyright (c) 2000-2009 Josh Coalson Copyright (c) 2011-2023 Xiph.Org Foundation