FLAC  1.4.3
Free Lossless Audio Codec
Typedefs | Enumerations | Functions | Variables
metadata.h File Reference
#include <sys/types.h>
#include "export.h"
#include "callback.h"
#include "format.h"

Go to the source code of this file.

Typedefs

typedef struct FLAC__Metadata_SimpleIterator FLAC__Metadata_SimpleIterator
 
typedef struct FLAC__Metadata_Chain FLAC__Metadata_Chain
 
typedef struct FLAC__Metadata_Iterator FLAC__Metadata_Iterator
 

Enumerations

enum  FLAC__Metadata_SimpleIteratorStatus {
  FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK = 0 , FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT , FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE , FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE ,
  FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE , FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA , FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR , FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR ,
  FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR , FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR , FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR , FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR ,
  FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR
}
 
enum  FLAC__Metadata_ChainStatus {
  FLAC__METADATA_CHAIN_STATUS_OK = 0 , FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT , FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE , FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE ,
  FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE , FLAC__METADATA_CHAIN_STATUS_BAD_METADATA , FLAC__METADATA_CHAIN_STATUS_READ_ERROR , FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR ,
  FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR , FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR , FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR , FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR ,
  FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR , FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS , FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH , FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL
}
 

Functions

FLAC__bool FLAC__metadata_get_streaminfo (const char *filename, FLAC__StreamMetadata *streaminfo)
 
FLAC__bool FLAC__metadata_get_tags (const char *filename, FLAC__StreamMetadata **tags)
 
FLAC__bool FLAC__metadata_get_cuesheet (const char *filename, FLAC__StreamMetadata **cuesheet)
 
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_SimpleIteratorFLAC__metadata_simple_iterator_new (void)
 
void FLAC__metadata_simple_iterator_delete (FLAC__Metadata_SimpleIterator *iterator)
 
FLAC__Metadata_SimpleIteratorStatus FLAC__metadata_simple_iterator_status (FLAC__Metadata_SimpleIterator *iterator)
 
FLAC__bool FLAC__metadata_simple_iterator_init (FLAC__Metadata_SimpleIterator *iterator, const char *filename, FLAC__bool read_only, FLAC__bool preserve_file_stats)
 
FLAC__bool FLAC__metadata_simple_iterator_is_writable (const FLAC__Metadata_SimpleIterator *iterator)
 
FLAC__bool FLAC__metadata_simple_iterator_next (FLAC__Metadata_SimpleIterator *iterator)
 
FLAC__bool FLAC__metadata_simple_iterator_prev (FLAC__Metadata_SimpleIterator *iterator)
 
FLAC__bool FLAC__metadata_simple_iterator_is_last (const FLAC__Metadata_SimpleIterator *iterator)
 
off_t FLAC__metadata_simple_iterator_get_block_offset (const FLAC__Metadata_SimpleIterator *iterator)
 
FLAC__MetadataType FLAC__metadata_simple_iterator_get_block_type (const FLAC__Metadata_SimpleIterator *iterator)
 
uint32_t FLAC__metadata_simple_iterator_get_block_length (const FLAC__Metadata_SimpleIterator *iterator)
 
FLAC__bool FLAC__metadata_simple_iterator_get_application_id (FLAC__Metadata_SimpleIterator *iterator, FLAC__byte *id)
 
FLAC__StreamMetadataFLAC__metadata_simple_iterator_get_block (FLAC__Metadata_SimpleIterator *iterator)
 
FLAC__bool FLAC__metadata_simple_iterator_set_block (FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding)
 
FLAC__bool FLAC__metadata_simple_iterator_insert_block_after (FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding)
 
FLAC__bool FLAC__metadata_simple_iterator_delete_block (FLAC__Metadata_SimpleIterator *iterator, FLAC__bool use_padding)
 
FLAC__Metadata_ChainFLAC__metadata_chain_new (void)
 
void FLAC__metadata_chain_delete (FLAC__Metadata_Chain *chain)
 
FLAC__Metadata_ChainStatus FLAC__metadata_chain_status (FLAC__Metadata_Chain *chain)
 
FLAC__bool FLAC__metadata_chain_read (FLAC__Metadata_Chain *chain, const char *filename)
 
FLAC__bool FLAC__metadata_chain_read_ogg (FLAC__Metadata_Chain *chain, const char *filename)
 
FLAC__bool FLAC__metadata_chain_read_with_callbacks (FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks)
 
FLAC__bool FLAC__metadata_chain_read_ogg_with_callbacks (FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks)
 
FLAC__bool FLAC__metadata_chain_check_if_tempfile_needed (FLAC__Metadata_Chain *chain, FLAC__bool use_padding)
 
FLAC__bool FLAC__metadata_chain_write (FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__bool preserve_file_stats)
 
FLAC__bool FLAC__metadata_chain_write_with_callbacks (FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks)
 
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)
 
void FLAC__metadata_chain_merge_padding (FLAC__Metadata_Chain *chain)
 
void FLAC__metadata_chain_sort_padding (FLAC__Metadata_Chain *chain)
 
FLAC__Metadata_IteratorFLAC__metadata_iterator_new (void)
 
void FLAC__metadata_iterator_delete (FLAC__Metadata_Iterator *iterator)
 
void FLAC__metadata_iterator_init (FLAC__Metadata_Iterator *iterator, FLAC__Metadata_Chain *chain)
 
FLAC__bool FLAC__metadata_iterator_next (FLAC__Metadata_Iterator *iterator)
 
FLAC__bool FLAC__metadata_iterator_prev (FLAC__Metadata_Iterator *iterator)
 
FLAC__MetadataType FLAC__metadata_iterator_get_block_type (const FLAC__Metadata_Iterator *iterator)
 
FLAC__StreamMetadataFLAC__metadata_iterator_get_block (FLAC__Metadata_Iterator *iterator)
 
FLAC__bool FLAC__metadata_iterator_set_block (FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)
 
FLAC__bool FLAC__metadata_iterator_delete_block (FLAC__Metadata_Iterator *iterator, FLAC__bool replace_with_padding)
 
FLAC__bool FLAC__metadata_iterator_insert_block_before (FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)
 
FLAC__bool FLAC__metadata_iterator_insert_block_after (FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)
 
FLAC__StreamMetadataFLAC__metadata_object_new (FLAC__MetadataType type)
 
FLAC__StreamMetadataFLAC__metadata_object_clone (const FLAC__StreamMetadata *object)
 
void FLAC__metadata_object_delete (FLAC__StreamMetadata *object)
 
FLAC__bool FLAC__metadata_object_is_equal (const FLAC__StreamMetadata *block1, const FLAC__StreamMetadata *block2)
 
FLAC__bool FLAC__metadata_object_application_set_data (FLAC__StreamMetadata *object, FLAC__byte *data, uint32_t length, FLAC__bool copy)
 
FLAC__bool FLAC__metadata_object_seektable_resize_points (FLAC__StreamMetadata *object, uint32_t new_num_points)
 
void FLAC__metadata_object_seektable_set_point (FLAC__StreamMetadata *object, uint32_t point_num, FLAC__StreamMetadata_SeekPoint point)
 
FLAC__bool FLAC__metadata_object_seektable_insert_point (FLAC__StreamMetadata *object, uint32_t point_num, FLAC__StreamMetadata_SeekPoint point)
 
FLAC__bool FLAC__metadata_object_seektable_delete_point (FLAC__StreamMetadata *object, uint32_t point_num)
 
FLAC__bool FLAC__metadata_object_seektable_is_legal (const FLAC__StreamMetadata *object)
 
FLAC__bool FLAC__metadata_object_seektable_template_append_placeholders (FLAC__StreamMetadata *object, uint32_t num)
 
FLAC__bool FLAC__metadata_object_seektable_template_append_point (FLAC__StreamMetadata *object, FLAC__uint64 sample_number)
 
FLAC__bool FLAC__metadata_object_seektable_template_append_points (FLAC__StreamMetadata *object, FLAC__uint64 sample_numbers[], uint32_t num)
 
FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points (FLAC__StreamMetadata *object, uint32_t num, FLAC__uint64 total_samples)
 
FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points_by_samples (FLAC__StreamMetadata *object, uint32_t samples, FLAC__uint64 total_samples)
 
FLAC__bool FLAC__metadata_object_seektable_template_sort (FLAC__StreamMetadata *object, FLAC__bool compact)
 
FLAC__bool FLAC__metadata_object_vorbiscomment_set_vendor_string (FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
 
FLAC__bool FLAC__metadata_object_vorbiscomment_resize_comments (FLAC__StreamMetadata *object, uint32_t new_num_comments)
 
FLAC__bool FLAC__metadata_object_vorbiscomment_set_comment (FLAC__StreamMetadata *object, uint32_t comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
 
FLAC__bool FLAC__metadata_object_vorbiscomment_insert_comment (FLAC__StreamMetadata *object, uint32_t comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
 
FLAC__bool FLAC__metadata_object_vorbiscomment_append_comment (FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
 
FLAC__bool FLAC__metadata_object_vorbiscomment_replace_comment (FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool all, FLAC__bool copy)
 
FLAC__bool FLAC__metadata_object_vorbiscomment_delete_comment (FLAC__StreamMetadata *object, uint32_t comment_num)
 
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__bool FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair (const FLAC__StreamMetadata_VorbisComment_Entry entry, char **field_name, char **field_value)
 
FLAC__bool FLAC__metadata_object_vorbiscomment_entry_matches (const FLAC__StreamMetadata_VorbisComment_Entry entry, const char *field_name, uint32_t field_name_length)
 
int FLAC__metadata_object_vorbiscomment_find_entry_from (const FLAC__StreamMetadata *object, uint32_t offset, const char *field_name)
 
int FLAC__metadata_object_vorbiscomment_remove_entry_matching (FLAC__StreamMetadata *object, const char *field_name)
 
int FLAC__metadata_object_vorbiscomment_remove_entries_matching (FLAC__StreamMetadata *object, const char *field_name)
 
FLAC__StreamMetadata_CueSheet_TrackFLAC__metadata_object_cuesheet_track_new (void)
 
FLAC__StreamMetadata_CueSheet_TrackFLAC__metadata_object_cuesheet_track_clone (const FLAC__StreamMetadata_CueSheet_Track *object)
 
void FLAC__metadata_object_cuesheet_track_delete (FLAC__StreamMetadata_CueSheet_Track *object)
 
FLAC__bool FLAC__metadata_object_cuesheet_track_resize_indices (FLAC__StreamMetadata *object, uint32_t track_num, uint32_t new_num_indices)
 
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__bool FLAC__metadata_object_cuesheet_track_insert_blank_index (FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num)
 
FLAC__bool FLAC__metadata_object_cuesheet_track_delete_index (FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num)
 
FLAC__bool FLAC__metadata_object_cuesheet_resize_tracks (FLAC__StreamMetadata *object, uint32_t new_num_tracks)
 
FLAC__bool FLAC__metadata_object_cuesheet_set_track (FLAC__StreamMetadata *object, uint32_t track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy)
 
FLAC__bool FLAC__metadata_object_cuesheet_insert_track (FLAC__StreamMetadata *object, uint32_t track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy)
 
FLAC__bool FLAC__metadata_object_cuesheet_insert_blank_track (FLAC__StreamMetadata *object, uint32_t track_num)
 
FLAC__bool FLAC__metadata_object_cuesheet_delete_track (FLAC__StreamMetadata *object, uint32_t track_num)
 
FLAC__bool FLAC__metadata_object_cuesheet_is_legal (const FLAC__StreamMetadata *object, FLAC__bool check_cd_da_subset, const char **violation)
 
FLAC__uint32 FLAC__metadata_object_cuesheet_calculate_cddb_id (const FLAC__StreamMetadata *object)
 
FLAC__bool FLAC__metadata_object_picture_set_mime_type (FLAC__StreamMetadata *object, char *mime_type, FLAC__bool copy)
 
FLAC__bool FLAC__metadata_object_picture_set_description (FLAC__StreamMetadata *object, FLAC__byte *description, FLAC__bool copy)
 
FLAC__bool FLAC__metadata_object_picture_set_data (FLAC__StreamMetadata *object, FLAC__byte *data, FLAC__uint32 length, FLAC__bool copy)
 
FLAC__bool FLAC__metadata_object_picture_is_legal (const FLAC__StreamMetadata *object, const char **violation)
 
FLAC__byte * FLAC__metadata_object_get_raw (const FLAC__StreamMetadata *object)
 
FLAC__StreamMetadataFLAC__metadata_object_set_raw (FLAC__byte *buffer, FLAC__uint32 length)
 

Variables

const char *const FLAC__Metadata_SimpleIteratorStatusString []
 
const char *const FLAC__Metadata_ChainStatusString []
 

Detailed Description

This module provides functions for creating and manipulating FLAC metadata blocks in memory, and three progressively more powerful interfaces for traversing and editing metadata in FLAC files.

See the detailed documentation for each interface in the metadata module.


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