another big glob of changes/fixes
diff --git a/src/flac/Makefile.vc b/src/flac/Makefile.vc
index 3d3f130..dc5b7fa 100644
--- a/src/flac/Makefile.vc
+++ b/src/flac/Makefile.vc
@@ -21,10 +21,10 @@
!IFDEF DEBUG
.c.obj:
- $(cc) $(cdebug) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3\" -DFLAC__HAS_OGG -YX /Od /D "_DEBUG" $<
+ $(cc) $(cdebug) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3_beta\" -DFLAC__HAS_OGG -YX /Od /D "_DEBUG" $<
!else
.c.obj:
- $(cc) /O2 $(crelease) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3\" -DFLAC__HAS_OGG -YX -DNODEBUG $<
+ $(cc) /O2 $(crelease) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3_beta\" -DFLAC__HAS_OGG -YX -DNODEBUG $<
!endif
C_FILES= \
diff --git a/src/flac/decode.c b/src/flac/decode.c
index 5d60dc9..fe5f4c1 100644
--- a/src/flac/decode.c
+++ b/src/flac/decode.c
@@ -94,7 +94,7 @@
* actually never used in the callbacks.
*/
static FLAC__StreamDecoderWriteStatus write_callback(const void *decoder, const FLAC__Frame *frame, const FLAC__int32 *buffer[], void *client_data);
-static void metadata_callback(const void *decoder, const FLAC__StreamMetaData *metadata, void *client_data);
+static void metadata_callback(const void *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
static void error_callback(const void *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
static void print_stats(const stream_info_struct *stream_info);
@@ -492,7 +492,7 @@
* unnecessary but here the cast makes the C compiler happy.
*/
FLAC__stream_decoder_set_write_callback(stream_info->decoder.stream, (FLAC__StreamDecoderWriteStatus (*)(const FLAC__StreamDecoder *, const FLAC__Frame *, const FLAC__int32 *[], void *))write_callback);
- FLAC__stream_decoder_set_metadata_callback(stream_info->decoder.stream, (void (*)(const FLAC__StreamDecoder *, const FLAC__StreamMetaData *, void *))metadata_callback);
+ FLAC__stream_decoder_set_metadata_callback(stream_info->decoder.stream, (void (*)(const FLAC__StreamDecoder *, const FLAC__StreamMetadata *, void *))metadata_callback);
FLAC__stream_decoder_set_error_callback(stream_info->decoder.stream, (void (*)(const FLAC__StreamDecoder *, FLAC__StreamDecoderErrorStatus, void *))error_callback);
FLAC__stream_decoder_set_client_data(stream_info->decoder.stream, stream_info);
@@ -521,7 +521,7 @@
* the callback down to 'FLAC__FileDecoder *'.
*/
FLAC__file_decoder_set_write_callback(stream_info->decoder.file, (FLAC__StreamDecoderWriteStatus (*)(const FLAC__FileDecoder *, const FLAC__Frame *, const FLAC__int32 * const [], void *))write_callback);
- FLAC__file_decoder_set_metadata_callback(stream_info->decoder.file, (void (*)(const FLAC__FileDecoder *, const FLAC__StreamMetaData *, void *))metadata_callback);
+ FLAC__file_decoder_set_metadata_callback(stream_info->decoder.file, (void (*)(const FLAC__FileDecoder *, const FLAC__StreamMetadata *, void *))metadata_callback);
FLAC__file_decoder_set_error_callback(stream_info->decoder.file, (void (*)(const FLAC__FileDecoder *, FLAC__StreamDecoderErrorStatus, void *))error_callback);
FLAC__file_decoder_set_client_data(stream_info->decoder.file, stream_info);
@@ -755,7 +755,7 @@
return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
}
-void metadata_callback(const void *decoder, const FLAC__StreamMetaData *metadata, void *client_data)
+void metadata_callback(const void *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
stream_info_struct *stream_info = (stream_info_struct *)client_data;
(void)decoder;
@@ -856,7 +856,7 @@
}
}
#if 0
-void metadata_callback(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetaData *metadata, void *client_data)
+void metadata_callback(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
encoder_wrapper_struct *encoder_wrapper = (encoder_wrapper_struct *)client_data;
FLAC__byte b;
diff --git a/src/flac/encode.c b/src/flac/encode.c
index a2ad9bd..3c978ae 100644
--- a/src/flac/encode.c
+++ b/src/flac/encode.c
@@ -86,7 +86,7 @@
FLAC__uint64 stream_offset; /* i.e. number of bytes before the first byte of the the first frame's header */
unsigned current_frame;
verify_fifo_struct verify_fifo;
- FLAC__StreamMetaData_SeekTable seek_table;
+ FLAC__StreamMetadata_SeekTable seek_table;
unsigned first_seek_point_to_check;
#ifdef FLAC__HAS_OGG
FLAC__bool use_ogg;
@@ -107,16 +107,16 @@
/* local routines */
static FLAC__bool init(encoder_wrapper_struct *encoder_wrapper);
static FLAC__bool init_encoder(encode_options_t options, unsigned channels, unsigned bps, unsigned sample_rate, encoder_wrapper_struct *encoder_wrapper);
-static FLAC__bool convert_to_seek_table(char *requested_seek_points, int num_requested_seek_points, FLAC__uint64 stream_samples, unsigned blocksize, FLAC__StreamMetaData_SeekTable *seek_table);
-static void append_point_to_seek_table(FLAC__StreamMetaData_SeekTable *seek_table, FLAC__uint64 sample, FLAC__uint64 stream_samples, FLAC__uint64 blocksize);
-static int seekpoint_compare(const FLAC__StreamMetaData_SeekPoint *l, const FLAC__StreamMetaData_SeekPoint *r);
+static FLAC__bool convert_to_seek_table(char *requested_seek_points, int num_requested_seek_points, FLAC__uint64 stream_samples, unsigned blocksize, FLAC__StreamMetadata_SeekTable *seek_table);
+static void append_point_to_seek_table(FLAC__StreamMetadata_SeekTable *seek_table, FLAC__uint64 sample, FLAC__uint64 stream_samples, FLAC__uint64 blocksize);
+static int seekpoint_compare(const FLAC__StreamMetadata_SeekPoint *l, const FLAC__StreamMetadata_SeekPoint *r);
static void format_input(FLAC__int32 *dest[], unsigned wide_samples, FLAC__bool is_big_endian, FLAC__bool is_unsigned_samples, unsigned channels, unsigned bps, encoder_wrapper_struct *encoder_wrapper);
static void append_to_verify_fifo(encoder_wrapper_struct *encoder_wrapper, const FLAC__int32 * const input[], unsigned channels, unsigned wide_samples);
static FLAC__StreamEncoderWriteStatus write_callback(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], unsigned bytes, unsigned samples, unsigned current_frame, void *client_data);
-static void metadata_callback(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetaData *metadata, void *client_data);
+static void metadata_callback(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetadata *metadata, void *client_data);
static FLAC__StreamDecoderReadStatus verify_read_callback(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data);
static FLAC__StreamDecoderWriteStatus verify_write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data);
-static void verify_metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data);
+static void verify_metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
static void verify_error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
static void print_stats(const encoder_wrapper_struct *encoder_wrapper);
static FLAC__bool read_little_endian_uint16(FILE *f, FLAC__uint16 *val, FLAC__bool eof_ok, const char *fn);
@@ -682,8 +682,8 @@
FLAC__bool init_encoder(encode_options_t options, unsigned channels, unsigned bps, unsigned sample_rate, encoder_wrapper_struct *encoder_wrapper)
{
unsigned i, num_metadata;
- FLAC__StreamMetaData seek_table, padding;
- FLAC__StreamMetaData *metadata[2];
+ FLAC__StreamMetadata seek_table, padding;
+ FLAC__StreamMetadata *metadata[2];
if(channels != 2)
options.do_mid_side = options.loose_mid_side = false;
@@ -770,7 +770,7 @@
return true;
}
-FLAC__bool convert_to_seek_table(char *requested_seek_points, int num_requested_seek_points, FLAC__uint64 stream_samples, unsigned blocksize, FLAC__StreamMetaData_SeekTable *seek_table)
+FLAC__bool convert_to_seek_table(char *requested_seek_points, int num_requested_seek_points, FLAC__uint64 stream_samples, unsigned blocksize, FLAC__StreamMetadata_SeekTable *seek_table)
{
unsigned i, j, real_points, placeholders;
char *pt = requested_seek_points, *q;
@@ -810,7 +810,7 @@
pt = requested_seek_points;
/* make some space */
- if(0 == (seek_table->points = (FLAC__StreamMetaData_SeekPoint*)malloc(sizeof(FLAC__StreamMetaData_SeekPoint) * (real_points+placeholders))))
+ if(0 == (seek_table->points = (FLAC__StreamMetadata_SeekPoint*)malloc(sizeof(FLAC__StreamMetadata_SeekPoint) * (real_points+placeholders))))
return false;
/* initialize the seek_table. we set frame_samples to zero to signify the points have not yet been hit by a frame write yet. */
@@ -844,7 +844,7 @@
}
/* sort the seekpoints */
- qsort(seek_table->points, seek_table->num_points, sizeof(FLAC__StreamMetaData_SeekPoint), (int (*)(const void *, const void *))seekpoint_compare);
+ qsort(seek_table->points, seek_table->num_points, sizeof(FLAC__StreamMetadata_SeekPoint), (int (*)(const void *, const void *))seekpoint_compare);
/* uniqify the seekpoints */
first = true;
@@ -866,7 +866,7 @@
return true;
}
-void append_point_to_seek_table(FLAC__StreamMetaData_SeekTable *seek_table, FLAC__uint64 sample, FLAC__uint64 stream_samples, FLAC__uint64 blocksize)
+void append_point_to_seek_table(FLAC__StreamMetadata_SeekTable *seek_table, FLAC__uint64 sample, FLAC__uint64 stream_samples, FLAC__uint64 blocksize)
{
const FLAC__uint64 target_sample = (sample / blocksize) * blocksize;
@@ -874,7 +874,7 @@
seek_table->points[seek_table->num_points++].sample_number = target_sample;
}
-int seekpoint_compare(const FLAC__StreamMetaData_SeekPoint *l, const FLAC__StreamMetaData_SeekPoint *r)
+int seekpoint_compare(const FLAC__StreamMetadata_SeekPoint *l, const FLAC__StreamMetadata_SeekPoint *r)
{
/* we don't just 'return l->sample_number - r->sample_number' since the result (FLAC__int64) might overflow an 'int' */
if(l->sample_number == r->sample_number)
@@ -1064,7 +1064,7 @@
}
}
-void metadata_callback(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetaData *metadata, void *client_data)
+void metadata_callback(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
encoder_wrapper_struct *encoder_wrapper = (encoder_wrapper_struct *)client_data;
FLAC__byte b;
@@ -1230,7 +1230,7 @@
return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
}
-void verify_metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data)
+void verify_metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
(void)decoder;
(void)metadata;
diff --git a/src/libFLAC++/file_decoder.cc b/src/libFLAC++/file_decoder.cc
index abb5ac2..3744ba8 100644
--- a/src/libFLAC++/file_decoder.cc
+++ b/src/libFLAC++/file_decoder.cc
@@ -52,7 +52,7 @@
return (bool)::FLAC__file_decoder_set_filename(decoder_, value);
}
- bool File::set_metadata_respond(::FLAC__MetaDataType type)
+ bool File::set_metadata_respond(::FLAC__MetadataType type)
{
FLAC__ASSERT(0 != decoder_);
return (bool)::FLAC__file_decoder_set_metadata_respond(decoder_, type);
@@ -70,7 +70,7 @@
return (bool)::FLAC__file_decoder_set_metadata_respond_all(decoder_);
}
- bool File::set_metadata_ignore(::FLAC__MetaDataType type)
+ bool File::set_metadata_ignore(::FLAC__MetadataType type)
{
FLAC__ASSERT(0 != decoder_);
return (bool)::FLAC__file_decoder_set_metadata_ignore(decoder_, type);
@@ -185,7 +185,7 @@
return instance->write_callback(frame, buffer);
}
- void File::metadata_callback_(const ::FLAC__FileDecoder *decoder, const ::FLAC__StreamMetaData *metadata, void *client_data)
+ void File::metadata_callback_(const ::FLAC__FileDecoder *decoder, const ::FLAC__StreamMetadata *metadata, void *client_data)
{
(void) decoder;
FLAC__ASSERT(0 != client_data);
diff --git a/src/libFLAC++/metadata.cc b/src/libFLAC++/metadata.cc
index d1e8272..19fb497 100644
--- a/src/libFLAC++/metadata.cc
+++ b/src/libFLAC++/metadata.cc
@@ -29,7 +29,7 @@
namespace local {
- Prototype *construct_block(::FLAC__StreamMetaData *object)
+ Prototype *construct_block(::FLAC__StreamMetadata *object)
{
Prototype *ret = 0;
switch(object->type) {
@@ -57,17 +57,59 @@
};
+ Prototype *clone(const Prototype *object)
+ {
+ const StreamInfo *streaminfo = dynamic_cast<const StreamInfo *>(object);
+ const Padding *padding = dynamic_cast<const Padding *>(object);
+ const Application *application = dynamic_cast<const Application *>(object);
+ const SeekTable *seektable = dynamic_cast<const SeekTable *>(object);
+ const VorbisComment *vorbiscomment = dynamic_cast<const VorbisComment *>(object);
+
+ if(0 != streaminfo)
+ return new StreamInfo(*streaminfo);
+ else if(0 != padding)
+ return new Padding(*padding);
+ else if(0 != application)
+ return new Application(*application);
+ else if(0 != seektable)
+ return new SeekTable(*seektable);
+ else if(0 != vorbiscomment)
+ return new VorbisComment(*vorbiscomment);
+ else {
+ FLAC__ASSERT(0);
+ return 0;
+ }
+ }
+
//
// Prototype
//
- Prototype::Prototype(::FLAC__StreamMetaData *object, bool copy):
- object_(0)
+ Prototype::Prototype(const Prototype &object):
+ object_(::FLAC__metadata_object_clone(object.object_)),
+ is_reference_(false)
+ {
+ FLAC__ASSERT(object.is_valid());
+ }
+
+ Prototype::Prototype(const ::FLAC__StreamMetadata &object):
+ object_(::FLAC__metadata_object_clone(&object)),
+ is_reference_(false)
+ {
+ }
+
+ Prototype::Prototype(const ::FLAC__StreamMetadata *object):
+ object_(::FLAC__metadata_object_clone(object)),
+ is_reference_(false)
{
FLAC__ASSERT(0 != object);
- clear();
- object_ = copy? ::FLAC__metadata_object_copy(object) : object;
- is_reference_ = false;
+ }
+
+ Prototype::Prototype(::FLAC__StreamMetadata *object, bool copy):
+ object_(copy? ::FLAC__metadata_object_clone(object) : object),
+ is_reference_(false)
+ {
+ FLAC__ASSERT(0 != object);
}
Prototype::~Prototype()
@@ -77,34 +119,32 @@
void Prototype::clear()
{
- if(0 != object_)
+ if(0 != object_ && !is_reference_)
FLAC__metadata_object_delete(object_);
object_ = 0;
}
void Prototype::operator=(const Prototype &object)
{
+ FLAC__ASSERT(object.is_valid());
clear();
- is_reference_ = object.is_reference_;
- if(is_reference_)
- object_ = object.object_;
- else
- object_ = ::FLAC__metadata_object_copy(object.object_);
+ is_reference_ = false;
+ object_ = ::FLAC__metadata_object_clone(object.object_);
}
- void Prototype::operator=(const ::FLAC__StreamMetaData &object)
+ void Prototype::operator=(const ::FLAC__StreamMetadata &object)
{
clear();
is_reference_ = false;
- object_ = ::FLAC__metadata_object_copy(&object);
+ object_ = ::FLAC__metadata_object_clone(&object);
}
- void Prototype::operator=(const ::FLAC__StreamMetaData *object)
+ void Prototype::operator=(const ::FLAC__StreamMetadata *object)
{
FLAC__ASSERT(0 != object);
clear();
is_reference_ = false;
- object_ = ::FLAC__metadata_object_copy(object);
+ object_ = ::FLAC__metadata_object_clone(object);
}
bool Prototype::get_is_last() const
@@ -113,7 +153,7 @@
return (bool)object_->is_last;
}
- FLAC__MetaDataType Prototype::get_type() const
+ FLAC__MetadataType Prototype::get_type() const
{
FLAC__ASSERT(is_valid());
return object_->type;
@@ -125,6 +165,12 @@
return object_->length;
}
+ void Prototype::set_is_last(bool value)
+ {
+ FLAC__ASSERT(is_valid());
+ object_->is_last = value;
+ }
+
//
// StreamInfo
@@ -134,10 +180,6 @@
Prototype(FLAC__metadata_object_new(FLAC__METADATA_TYPE_STREAMINFO), /*copy=*/false)
{ }
- StreamInfo::StreamInfo(::FLAC__StreamMetaData *object, bool copy):
- Prototype(object, copy)
- { }
-
StreamInfo::~StreamInfo()
{ }
@@ -271,10 +313,6 @@
Prototype(FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING), /*copy=*/false)
{ }
- Padding::Padding(::FLAC__StreamMetaData *object, bool copy):
- Prototype(object, copy)
- { }
-
Padding::~Padding()
{ }
@@ -293,10 +331,6 @@
Prototype(FLAC__metadata_object_new(FLAC__METADATA_TYPE_APPLICATION), /*copy=*/false)
{ }
- Application::Application(::FLAC__StreamMetaData *object, bool copy):
- Prototype(object, copy)
- { }
-
Application::~Application()
{ }
@@ -312,13 +346,19 @@
return object_->data.application.data;
}
- void Application::set_id(FLAC__byte value[4])
+ void Application::set_id(const FLAC__byte value[4])
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(0 != value);
memcpy(object_->data.application.id, value, 4);
}
+ bool Application::set_data(const FLAC__byte *data, unsigned length)
+ {
+ FLAC__ASSERT(is_valid());
+ return (bool)::FLAC__metadata_object_application_set_data(object_, (FLAC__byte*)data, length, true);
+ }
+
bool Application::set_data(FLAC__byte *data, unsigned length, bool copy)
{
FLAC__ASSERT(is_valid());
@@ -334,10 +374,6 @@
Prototype(FLAC__metadata_object_new(FLAC__METADATA_TYPE_SEEKTABLE), /*copy=*/false)
{ }
- SeekTable::SeekTable(::FLAC__StreamMetaData *object, bool copy):
- Prototype(object, copy)
- { }
-
SeekTable::~SeekTable()
{ }
@@ -347,21 +383,21 @@
return object_->data.seek_table.num_points;
}
- ::FLAC__StreamMetaData_SeekPoint SeekTable::get_point(unsigned index) const
+ ::FLAC__StreamMetadata_SeekPoint SeekTable::get_point(unsigned index) const
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(index < object_->data.seek_table.num_points);
return object_->data.seek_table.points[index];
}
- void SeekTable::set_point(unsigned index, const ::FLAC__StreamMetaData_SeekPoint &point)
+ void SeekTable::set_point(unsigned index, const ::FLAC__StreamMetadata_SeekPoint &point)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(index < object_->data.seek_table.num_points);
::FLAC__metadata_object_seektable_set_point(object_, index, point);
}
- bool SeekTable::insert_point(unsigned index, const ::FLAC__StreamMetaData_SeekPoint &point)
+ bool SeekTable::insert_point(unsigned index, const ::FLAC__StreamMetadata_SeekPoint &point)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(index <= object_->data.seek_table.num_points);
@@ -405,16 +441,16 @@
VorbisComment::Entry::Entry(const Entry &entry)
{
+ FLAC__ASSERT(entry.is_valid());
zero();
- if(entry.is_valid())
- construct((const char *)entry.entry_.entry, entry.entry_.length);
+ construct((const char *)entry.entry_.entry, entry.entry_.length);
}
void VorbisComment::Entry::operator=(const Entry &entry)
{
+ FLAC__ASSERT(entry.is_valid());
clear();
- if(entry.is_valid())
- construct((const char *)entry.entry_.entry, entry.entry_.length);
+ construct((const char *)entry.entry_.entry, entry.entry_.length);
}
VorbisComment::Entry::~Entry()
@@ -445,7 +481,7 @@
return field_value_length_;
}
- ::FLAC__StreamMetaData_VorbisComment_Entry VorbisComment::Entry::get_entry() const
+ ::FLAC__StreamMetadata_VorbisComment_Entry VorbisComment::Entry::get_entry() const
{
FLAC__ASSERT(is_valid());
return entry_;
@@ -477,14 +513,12 @@
clear_entry();
if(0 == (entry_.entry = (FLAC__byte*)malloc(field_length))) {
- clear();
is_valid_ = false;
}
else {
entry_.length = field_length;
memcpy(entry_.entry, field, field_length);
- parse_field();
- is_valid_ = true;
+ (void) parse_field();
}
return is_valid_;
@@ -498,13 +532,11 @@
clear_field_name();
if(0 == (field_name_ = strdup(field_name))) {
- clear();
is_valid_ = false;
}
else {
field_name_length_ = strlen(field_name_);
compose_field();
- is_valid_ = true;
}
return is_valid_;
@@ -518,14 +550,12 @@
clear_field_value();
if(0 == (field_value_ = (char *)malloc(field_value_length))) {
- clear();
is_valid_ = false;
}
else {
field_value_length_ = field_value_length;
memcpy(field_value_, field_value, field_value_length);
compose_field();
- is_valid_ = true;
}
return is_valid_;
@@ -533,7 +563,7 @@
void VorbisComment::Entry::zero()
{
- is_valid_ = false;
+ is_valid_ = true;
entry_.length = 0;
entry_.entry = 0;
field_name_ = 0;
@@ -547,13 +577,12 @@
clear_entry();
clear_field_name();
clear_field_value();
- is_valid_ = false;
+ is_valid_ = true;
}
void VorbisComment::Entry::clear_entry()
{
if(0 != entry_.entry) {
- FLAC__ASSERT(entry_.length == 0);
free(entry_.entry);
entry_.entry = 0;
entry_.length = 0;
@@ -563,7 +592,6 @@
void VorbisComment::Entry::clear_field_name()
{
if(0 != field_name_) {
- FLAC__ASSERT(field_name_length_ == 0);
free(field_name_);
field_name_ = 0;
field_name_length_ = 0;
@@ -573,7 +601,6 @@
void VorbisComment::Entry::clear_field_value()
{
if(0 != field_value_) {
- FLAC__ASSERT(field_name_length_ == 0);
free(field_value_);
field_value_ = 0;
field_value_length_ = 0;
@@ -582,21 +609,14 @@
void VorbisComment::Entry::construct(const char *field, unsigned field_length)
{
- set_field(field, field_length);
- if(is_valid_) {
+ if(set_field(field, field_length))
parse_field();
- }
}
void VorbisComment::Entry::construct(const char *field_name, const char *field_value, unsigned field_value_length)
{
- set_field_name(field_name);
- if(is_valid_) {
- set_field_value(field_value, field_value_length);
- if(is_valid_) {
- compose_field();
- }
- }
+ if(set_field_name(field_name) && set_field_value(field_value, field_value_length))
+ compose_field();
}
void VorbisComment::Entry::compose_field()
@@ -604,14 +624,14 @@
clear_entry();
if(0 == (entry_.entry = (FLAC__byte*)malloc(field_name_length_ + 1 + field_value_length_))) {
- clear();
+ is_valid_ = false;
}
else {
memcpy(entry_.entry, field_name_, field_name_length_);
entry_.length += field_name_length_;
memcpy(entry_.entry + entry_.length, "=", 1);
entry_.length += 1;
- memcpy(entry_.entry, field_value_, field_value_length_);
+ memcpy(entry_.entry + entry_.length, field_value_, field_value_length_);
entry_.length += field_value_length_;
is_valid_ = true;
}
@@ -624,25 +644,32 @@
const char *p = (const char *)memchr(entry_.entry, '=', entry_.length);
- if(0 == p) {
- clear();
- return;
- }
+ if(0 == p)
+ p = (const char *)entry_.entry + entry_.length;
- if(0 == (field_name_ = (char *)malloc(p - (const char *)entry_.entry + 1))) { // +1 for the trailing \0
- clear();
+ field_name_length_ = p - (const char *)entry_.entry;
+ if(0 == (field_name_ = (char *)malloc(field_name_length_ + 1))) { // +1 for the trailing \0
+ is_valid_ = false;
return;
}
- field_name_length_ = p - (const char *)entry_.entry;
memcpy(field_name_, entry_.entry, field_name_length_);
field_name_[field_name_length_] = '\0';
- if(0 == (field_value_ = (char *)malloc(entry_.length - field_name_length_ - 1))) {
- clear();
- return;
+ if(entry_.length - field_name_length_ == 0) {
+ field_value_length_ = 0;
+ if(0 == (field_value_ = (char *)malloc(0))) {
+ is_valid_ = false;
+ return;
+ }
}
- field_value_length_ = entry_.length - field_name_length_ - 1;
- memcpy(field_value_, ++p, field_value_length_);
+ else {
+ field_value_length_ = entry_.length - field_name_length_ - 1;
+ if(0 == (field_value_ = (char *)malloc(field_value_length_))) {
+ is_valid_ = false;
+ return;
+ }
+ memcpy(field_value_, ++p, field_value_length_);
+ }
is_valid_ = true;
}
@@ -656,10 +683,6 @@
Prototype(FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT), /*copy=*/false)
{ }
- VorbisComment::VorbisComment(::FLAC__StreamMetaData *object, bool copy):
- Prototype(object, copy)
- { }
-
VorbisComment::~VorbisComment()
{ }
@@ -679,13 +702,17 @@
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(index < object_->data.vorbis_comment.num_comments);
- return Entry((const char *)object_->data.vorbis_comment.vendor_string.entry, object_->data.vorbis_comment.vendor_string.length);
+ return Entry((const char *)object_->data.vorbis_comment.comments[index].entry, object_->data.vorbis_comment.comments[index].length);
}
bool VorbisComment::set_vendor_string(const VorbisComment::Entry &entry)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_object_vorbiscomment_set_vendor_string(object_, entry.get_entry(), /*copy=*/true);
+ // vendor_string is a special kind of entry
+ ::FLAC__StreamMetadata_VorbisComment_Entry vendor_string;
+ vendor_string.length = entry.get_field_name_length();
+ vendor_string.entry = (FLAC__byte*)entry.get_field_name(); // we can cheat on const-ness because we make a copy below:
+ return (bool)::FLAC__metadata_object_vorbiscomment_set_vendor_string(object_, vendor_string, /*copy=*/true);
}
bool VorbisComment::set_comment(unsigned index, const VorbisComment::Entry &entry)
@@ -720,9 +747,9 @@
{
FLAC__ASSERT(0 != filename);
- FLAC__StreamMetaData s;
+ ::FLAC__StreamMetadata s;
- if(FLAC__metadata_get_streaminfo(filename, &s.data.stream_info)) {
+ if(::FLAC__metadata_get_streaminfo(filename, &s.data.stream_info)) {
streaminfo = s;
return true;
}
@@ -789,7 +816,7 @@
return (bool)::FLAC__metadata_simple_iterator_prev(iterator_);
}
- ::FLAC__MetaDataType SimpleIterator::get_block_type() const
+ ::FLAC__MetadataType SimpleIterator::get_block_type() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__metadata_simple_iterator_get_block_type(iterator_);
@@ -922,7 +949,7 @@
return (bool)::FLAC__metadata_iterator_prev(iterator_);
}
- ::FLAC__MetaDataType Iterator::get_block_type() const
+ ::FLAC__MetadataType Iterator::get_block_type() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__metadata_iterator_get_block_type(iterator_);
diff --git a/src/libFLAC++/seekable_stream_decoder.cc b/src/libFLAC++/seekable_stream_decoder.cc
index c12b7c3..85de046 100644
--- a/src/libFLAC++/seekable_stream_decoder.cc
+++ b/src/libFLAC++/seekable_stream_decoder.cc
@@ -46,7 +46,7 @@
return (bool)::FLAC__seekable_stream_decoder_set_md5_checking(decoder_, value);
}
- bool SeekableStream::set_metadata_respond(::FLAC__MetaDataType type)
+ bool SeekableStream::set_metadata_respond(::FLAC__MetadataType type)
{
FLAC__ASSERT(is_valid());
return (bool)::FLAC__seekable_stream_decoder_set_metadata_respond(decoder_, type);
@@ -64,7 +64,7 @@
return (bool)::FLAC__seekable_stream_decoder_set_metadata_respond_all(decoder_);
}
- bool SeekableStream::set_metadata_ignore(::FLAC__MetaDataType type)
+ bool SeekableStream::set_metadata_ignore(::FLAC__MetadataType type)
{
FLAC__ASSERT(is_valid());
return (bool)::FLAC__seekable_stream_decoder_set_metadata_ignore(decoder_, type);
@@ -241,7 +241,7 @@
return instance->write_callback(frame, buffer);
}
- void SeekableStream::metadata_callback_(const ::FLAC__SeekableStreamDecoder *decoder, const ::FLAC__StreamMetaData *metadata, void *client_data)
+ void SeekableStream::metadata_callback_(const ::FLAC__SeekableStreamDecoder *decoder, const ::FLAC__StreamMetadata *metadata, void *client_data)
{
(void) decoder;
FLAC__ASSERT(0 != client_data);
diff --git a/src/libFLAC++/stream_decoder.cc b/src/libFLAC++/stream_decoder.cc
index faa7ece..106a43e 100644
--- a/src/libFLAC++/stream_decoder.cc
+++ b/src/libFLAC++/stream_decoder.cc
@@ -40,7 +40,7 @@
return 0 != decoder_;
}
- bool Stream::set_metadata_respond(::FLAC__MetaDataType type)
+ bool Stream::set_metadata_respond(::FLAC__MetadataType type)
{
FLAC__ASSERT(is_valid());
return (bool)::FLAC__stream_decoder_set_metadata_respond(decoder_, type);
@@ -58,7 +58,7 @@
return (bool)::FLAC__stream_decoder_set_metadata_respond_all(decoder_);
}
- bool Stream::set_metadata_ignore(::FLAC__MetaDataType type)
+ bool Stream::set_metadata_ignore(::FLAC__MetadataType type)
{
FLAC__ASSERT(is_valid());
return (bool)::FLAC__stream_decoder_set_metadata_ignore(decoder_, type);
@@ -183,7 +183,7 @@
return instance->write_callback(frame, buffer);
}
- void Stream::metadata_callback_(const ::FLAC__StreamDecoder *decoder, const ::FLAC__StreamMetaData *metadata, void *client_data)
+ void Stream::metadata_callback_(const ::FLAC__StreamDecoder *decoder, const ::FLAC__StreamMetadata *metadata, void *client_data)
{
(void)decoder;
FLAC__ASSERT(0 != client_data);
diff --git a/src/libFLAC++/stream_encoder.cc b/src/libFLAC++/stream_encoder.cc
index b756cb0..a999786 100644
--- a/src/libFLAC++/stream_encoder.cc
+++ b/src/libFLAC++/stream_encoder.cc
@@ -136,7 +136,7 @@
return (bool)::FLAC__stream_encoder_set_total_samples_estimate(encoder_, value);
}
- bool Stream::set_metadata(::FLAC__StreamMetaData **metadata, unsigned num_blocks)
+ bool Stream::set_metadata(::FLAC__StreamMetadata **metadata, unsigned num_blocks)
{
FLAC__ASSERT(is_valid());
return (bool)::FLAC__stream_encoder_set_metadata(encoder_, metadata, num_blocks);
@@ -274,7 +274,7 @@
return instance->write_callback(buffer, bytes, samples, current_frame);
}
- void Stream::metadata_callback_(const ::FLAC__StreamEncoder *encoder, const ::FLAC__StreamMetaData *metadata, void *client_data)
+ void Stream::metadata_callback_(const ::FLAC__StreamEncoder *encoder, const ::FLAC__StreamMetadata *metadata, void *client_data)
{
(void)encoder;
FLAC__ASSERT(0 != client_data);
diff --git a/src/libFLAC/file_decoder.c b/src/libFLAC/file_decoder.c
index 62a926d..67e3c66 100644
--- a/src/libFLAC/file_decoder.c
+++ b/src/libFLAC/file_decoder.c
@@ -46,7 +46,7 @@
static FLAC__SeekableStreamDecoderLengthStatus length_callback_(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data);
static FLAC__bool eof_callback_(const FLAC__SeekableStreamDecoder *decoder, void *client_data);
static FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data);
-static void metadata_callback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data);
+static void metadata_callback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
static void error_callback_(const FLAC__SeekableStreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
/***********************************************************************
@@ -57,7 +57,7 @@
typedef struct FLAC__FileDecoderPrivate {
FLAC__StreamDecoderWriteStatus (*write_callback)(const FLAC__FileDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data);
- void (*metadata_callback)(const FLAC__FileDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data);
+ void (*metadata_callback)(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
void (*error_callback)(const FLAC__FileDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
void *client_data;
FILE *file;
@@ -254,7 +254,7 @@
return true;
}
-FLAC__bool FLAC__file_decoder_set_metadata_callback(FLAC__FileDecoder *decoder, void (*value)(const FLAC__FileDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data))
+FLAC__bool FLAC__file_decoder_set_metadata_callback(FLAC__FileDecoder *decoder, void (*value)(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data))
{
FLAC__ASSERT(decoder != 0);
FLAC__ASSERT(decoder->private_ != 0);
@@ -287,7 +287,7 @@
return true;
}
-FLAC__bool FLAC__file_decoder_set_metadata_respond(FLAC__FileDecoder *decoder, FLAC__MetaDataType type)
+FLAC__bool FLAC__file_decoder_set_metadata_respond(FLAC__FileDecoder *decoder, FLAC__MetadataType type)
{
FLAC__ASSERT(decoder != 0);
FLAC__ASSERT(decoder->private_ != 0);
@@ -320,7 +320,7 @@
return FLAC__seekable_stream_decoder_set_metadata_respond_all(decoder->private_->seekable_stream_decoder);
}
-FLAC__bool FLAC__file_decoder_set_metadata_ignore(FLAC__FileDecoder *decoder, FLAC__MetaDataType type)
+FLAC__bool FLAC__file_decoder_set_metadata_ignore(FLAC__FileDecoder *decoder, FLAC__MetadataType type)
{
FLAC__ASSERT(decoder != 0);
FLAC__ASSERT(decoder->private_ != 0);
@@ -611,7 +611,7 @@
return file_decoder->private_->write_callback(file_decoder, frame, buffer, file_decoder->private_->client_data);
}
-void metadata_callback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data)
+void metadata_callback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
FLAC__FileDecoder *file_decoder = (FLAC__FileDecoder *)client_data;
(void)decoder;
diff --git a/src/libFLAC/format.c b/src/libFLAC/format.c
index f8eae47..6c17b60 100644
--- a/src/libFLAC/format.c
+++ b/src/libFLAC/format.c
@@ -103,7 +103,7 @@
"FRAME_NUMBER_TYPE_SAMPLE_NUMBER"
};
-const char * const FLAC__MetaDataTypeString[] = {
+const char * const FLAC__MetadataTypeString[] = {
"STREAMINFO",
"PADDING",
"APPLICATION",
diff --git a/src/libFLAC/include/private/metadata.h b/src/libFLAC/include/private/metadata.h
index a2e5532..de845d3 100644
--- a/src/libFLAC/include/private/metadata.h
+++ b/src/libFLAC/include/private/metadata.h
@@ -22,6 +22,6 @@
#include "FLAC/metadata.h"
-void FLAC__metadata_object_delete_data(FLAC__StreamMetaData *object);
+void FLAC__metadata_object_delete_data(FLAC__StreamMetadata *object);
#endif
diff --git a/src/libFLAC/include/private/stream_encoder_framing.h b/src/libFLAC/include/private/stream_encoder_framing.h
index 6b94ab7..4908db4 100644
--- a/src/libFLAC/include/private/stream_encoder_framing.h
+++ b/src/libFLAC/include/private/stream_encoder_framing.h
@@ -23,7 +23,7 @@
#include "FLAC/format.h"
#include "bitbuffer.h"
-FLAC__bool FLAC__add_metadata_block(const FLAC__StreamMetaData *metadata, FLAC__BitBuffer *bb);
+FLAC__bool FLAC__add_metadata_block(const FLAC__StreamMetadata *metadata, FLAC__BitBuffer *bb);
FLAC__bool FLAC__frame_add_header(const FLAC__FrameHeader *header, FLAC__bool streamable_subset, FLAC__bool is_last_block, FLAC__BitBuffer *bb);
FLAC__bool FLAC__subframe_add_constant(const FLAC__Subframe_Constant *subframe, unsigned subframe_bps, unsigned wasted_bits, FLAC__BitBuffer *bb);
FLAC__bool FLAC__subframe_add_fixed(const FLAC__Subframe_Fixed *subframe, unsigned residual_samples, unsigned subframe_bps, unsigned wasted_bits, FLAC__BitBuffer *bb);
diff --git a/src/libFLAC/include/protected/stream_encoder.h b/src/libFLAC/include/protected/stream_encoder.h
index 5d4dcd2..9f2d6a4 100644
--- a/src/libFLAC/include/protected/stream_encoder.h
+++ b/src/libFLAC/include/protected/stream_encoder.h
@@ -40,7 +40,7 @@
unsigned max_residual_partition_order;
unsigned rice_parameter_search_dist;
FLAC__uint64 total_samples_estimate;
- FLAC__StreamMetaData **metadata;
+ FLAC__StreamMetadata **metadata;
unsigned num_metadata_blocks;
} FLAC__StreamEncoderProtected;
diff --git a/src/libFLAC/metadata_iterators.c b/src/libFLAC/metadata_iterators.c
index b6f177f..b34ae89 100644
--- a/src/libFLAC/metadata_iterators.c
+++ b/src/libFLAC/metadata_iterators.c
@@ -60,49 +60,49 @@
static FLAC__uint32 unpack_uint32_little_endian_(FLAC__byte *b, unsigned bytes);
static FLAC__uint64 unpack_uint64_(FLAC__byte *b, unsigned bytes);
-static FLAC__bool read_metadata_block_header_(FLAC__MetaData_SimpleIterator *iterator);
-static FLAC__bool read_metadata_block_data_(FLAC__MetaData_SimpleIterator *iterator, FLAC__StreamMetaData *block);
-static FLAC__MetaData_SimpleIteratorStatus read_metadata_block_data_streaminfo_(FILE *file, FLAC__StreamMetaData_StreamInfo *block);
-static FLAC__MetaData_SimpleIteratorStatus read_metadata_block_data_padding_(FILE *file, FLAC__StreamMetaData_Padding *block, unsigned block_length);
-static FLAC__MetaData_SimpleIteratorStatus read_metadata_block_data_application_(FILE *file, FLAC__StreamMetaData_Application *block, unsigned block_length);
-static FLAC__MetaData_SimpleIteratorStatus read_metadata_block_data_seektable_(FILE *file, FLAC__StreamMetaData_SeekTable *block, unsigned block_length);
-static FLAC__MetaData_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_entry_(FILE *file, FLAC__StreamMetaData_VorbisComment_Entry *entry);
-static FLAC__MetaData_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_(FILE *file, FLAC__StreamMetaData_VorbisComment *block);
+static FLAC__bool read_metadata_block_header_(FLAC__Metadata_SimpleIterator *iterator);
+static FLAC__bool read_metadata_block_data_(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block);
+static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_streaminfo_(FILE *file, FLAC__StreamMetadata_StreamInfo *block);
+static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_padding_(FILE *file, FLAC__StreamMetadata_Padding *block, unsigned block_length);
+static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_application_(FILE *file, FLAC__StreamMetadata_Application *block, unsigned block_length);
+static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_seektable_(FILE *file, FLAC__StreamMetadata_SeekTable *block, unsigned block_length);
+static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_entry_(FILE *file, FLAC__StreamMetadata_VorbisComment_Entry *entry);
+static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_(FILE *file, FLAC__StreamMetadata_VorbisComment *block);
-static FLAC__bool write_metadata_block_header_(FILE *file, FLAC__MetaData_SimpleIteratorStatus *status, const FLAC__StreamMetaData *block);
-static FLAC__bool write_metadata_block_data_(FILE *file, FLAC__MetaData_SimpleIteratorStatus *status, const FLAC__StreamMetaData *block);
-static FLAC__MetaData_SimpleIteratorStatus write_metadata_block_data_streaminfo_(FILE *file, const FLAC__StreamMetaData_StreamInfo *block);
-static FLAC__MetaData_SimpleIteratorStatus write_metadata_block_data_padding_(FILE *file, const FLAC__StreamMetaData_Padding *block, unsigned block_length);
-static FLAC__MetaData_SimpleIteratorStatus write_metadata_block_data_application_(FILE *file, const FLAC__StreamMetaData_Application *block, unsigned block_length);
-static FLAC__MetaData_SimpleIteratorStatus write_metadata_block_data_seektable_(FILE *file, const FLAC__StreamMetaData_SeekTable *block);
-static FLAC__MetaData_SimpleIteratorStatus write_metadata_block_data_vorbis_comment_(FILE *file, const FLAC__StreamMetaData_VorbisComment *block);
-static FLAC__bool write_metadata_block_stationary_(FLAC__MetaData_SimpleIterator *iterator, const FLAC__StreamMetaData *block);
-static FLAC__bool write_metadata_block_stationary_with_padding_(FLAC__MetaData_SimpleIterator *iterator, FLAC__StreamMetaData *block, unsigned padding_length, FLAC__bool padding_is_last);
-static FLAC__bool rewrite_whole_file_(FLAC__MetaData_SimpleIterator *iterator, FLAC__StreamMetaData *block, FLAC__bool append);
+static FLAC__bool write_metadata_block_header_(FILE *file, FLAC__Metadata_SimpleIteratorStatus *status, const FLAC__StreamMetadata *block);
+static FLAC__bool write_metadata_block_data_(FILE *file, FLAC__Metadata_SimpleIteratorStatus *status, const FLAC__StreamMetadata *block);
+static FLAC__Metadata_SimpleIteratorStatus write_metadata_block_data_streaminfo_(FILE *file, const FLAC__StreamMetadata_StreamInfo *block);
+static FLAC__Metadata_SimpleIteratorStatus write_metadata_block_data_padding_(FILE *file, const FLAC__StreamMetadata_Padding *block, unsigned block_length);
+static FLAC__Metadata_SimpleIteratorStatus write_metadata_block_data_application_(FILE *file, const FLAC__StreamMetadata_Application *block, unsigned block_length);
+static FLAC__Metadata_SimpleIteratorStatus write_metadata_block_data_seektable_(FILE *file, const FLAC__StreamMetadata_SeekTable *block);
+static FLAC__Metadata_SimpleIteratorStatus write_metadata_block_data_vorbis_comment_(FILE *file, const FLAC__StreamMetadata_VorbisComment *block);
+static FLAC__bool write_metadata_block_stationary_(FLAC__Metadata_SimpleIterator *iterator, const FLAC__StreamMetadata *block);
+static FLAC__bool write_metadata_block_stationary_with_padding_(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, unsigned padding_length, FLAC__bool padding_is_last);
+static FLAC__bool rewrite_whole_file_(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool append);
-static FLAC__bool chain_rewrite_chain_(FLAC__MetaData_Chain *chain);
-static FLAC__bool chain_rewrite_file_(FLAC__MetaData_Chain *chain, const char *tempfile_path_prefix);
+static FLAC__bool chain_rewrite_chain_(FLAC__Metadata_Chain *chain);
+static FLAC__bool chain_rewrite_file_(FLAC__Metadata_Chain *chain, const char *tempfile_path_prefix);
-static void simple_iterator_push_(FLAC__MetaData_SimpleIterator *iterator);
-static FLAC__bool simple_iterator_pop_(FLAC__MetaData_SimpleIterator *iterator);
+static void simple_iterator_push_(FLAC__Metadata_SimpleIterator *iterator);
+static FLAC__bool simple_iterator_pop_(FLAC__Metadata_SimpleIterator *iterator);
/* return 0 if OK, 1 if read error, 2 if not a FLAC file */
static unsigned seek_to_first_metadata_block_(FILE *f);
-static FLAC__bool simple_iterator_copy_file_prefix_(FLAC__MetaData_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, FLAC__bool append);
-static FLAC__bool simple_iterator_copy_file_postfix_(FLAC__MetaData_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, int fixup_is_last_code, long fixup_is_last_flag_offset, FLAC__bool backup);
+static FLAC__bool simple_iterator_copy_file_prefix_(FLAC__Metadata_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, FLAC__bool append);
+static FLAC__bool simple_iterator_copy_file_postfix_(FLAC__Metadata_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, int fixup_is_last_code, long fixup_is_last_flag_offset, FLAC__bool backup);
-static FLAC__bool copy_n_bytes_from_file_(FILE *file, FILE *tempfile, unsigned bytes/*@@@ 4G limit*/, FLAC__MetaData_SimpleIteratorStatus *status);
-static FLAC__bool copy_remaining_bytes_from_file_(FILE *file, FILE *tempfile, FLAC__MetaData_SimpleIteratorStatus *status);
+static FLAC__bool copy_n_bytes_from_file_(FILE *file, FILE *tempfile, unsigned bytes/*@@@ 4G limit*/, FLAC__Metadata_SimpleIteratorStatus *status);
+static FLAC__bool copy_remaining_bytes_from_file_(FILE *file, FILE *tempfile, FLAC__Metadata_SimpleIteratorStatus *status);
-static FLAC__bool open_tempfile_(const char *filename, const char *tempfile_path_prefix, FILE **tempfile, char **tempfilename, FLAC__MetaData_SimpleIteratorStatus *status);
-static FLAC__bool transport_tempfile_(const char *filename, FILE **tempfile, char **tempfilename, FLAC__MetaData_SimpleIteratorStatus *status);
+static FLAC__bool open_tempfile_(const char *filename, const char *tempfile_path_prefix, FILE **tempfile, char **tempfilename, FLAC__Metadata_SimpleIteratorStatus *status);
+static FLAC__bool transport_tempfile_(const char *filename, FILE **tempfile, char **tempfilename, FLAC__Metadata_SimpleIteratorStatus *status);
static void cleanup_tempfile_(FILE **tempfile, char **tempfilename);
static FLAC__bool get_file_stats_(const char *filename, struct stat *stats);
static void set_file_stats_(const char *filename, struct stat *stats);
-static FLAC__MetaData_ChainStatus get_equivalent_status_(FLAC__MetaData_SimpleIteratorStatus status);
+static FLAC__Metadata_ChainStatus get_equivalent_status_(FLAC__Metadata_SimpleIteratorStatus status);
/****************************************************************************
@@ -112,16 +112,16 @@
***************************************************************************/
static FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__FileDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data);
-static void metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data);
+static void metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
static void error_callback_(const FLAC__FileDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
typedef struct {
FLAC__bool got_error;
FLAC__bool got_streaminfo;
- FLAC__StreamMetaData_StreamInfo *streaminfo;
+ FLAC__StreamMetadata_StreamInfo *streaminfo;
} level0_client_data;
-FLAC__bool FLAC__metadata_get_streaminfo(const char *filename, FLAC__StreamMetaData_StreamInfo *streaminfo)
+FLAC__bool FLAC__metadata_get_streaminfo(const char *filename, FLAC__StreamMetadata_StreamInfo *streaminfo)
{
level0_client_data cd;
FLAC__FileDecoder *decoder = FLAC__file_decoder_new();
@@ -165,7 +165,7 @@
return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
}
-void metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data)
+void metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
level0_client_data *cd = (level0_client_data *)client_data;
(void)decoder;
@@ -195,24 +195,24 @@
#define SIMPLE_ITERATOR_MAX_PUSH_DEPTH (1+4)
/* 1 for initial offset, +4 for our own personal use */
-struct FLAC__MetaData_SimpleIterator {
+struct FLAC__Metadata_SimpleIterator {
FILE *file;
char *filename, *tempfile_path_prefix;
struct stat stats;
FLAC__bool has_stats;
FLAC__bool is_writable;
- FLAC__MetaData_SimpleIteratorStatus status;
+ FLAC__Metadata_SimpleIteratorStatus status;
/*@@@ 2G limits here because of the offset type: */
long offset[SIMPLE_ITERATOR_MAX_PUSH_DEPTH];
long first_offset; /* this is the offset to the STREAMINFO block */
unsigned depth;
/* this is the metadata block header of the current block we are pointing to: */
FLAC__bool is_last;
- FLAC__MetaDataType type;
+ FLAC__MetadataType type;
unsigned length;
};
-const char * const FLAC__MetaData_SimpleIteratorStatusString[] = {
+const char * const FLAC__Metadata_SimpleIteratorStatusString[] = {
"FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK",
"FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT",
"FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE",
@@ -229,9 +229,9 @@
};
-FLAC__MetaData_SimpleIterator *FLAC__metadata_simple_iterator_new()
+FLAC__Metadata_SimpleIterator *FLAC__metadata_simple_iterator_new()
{
- FLAC__MetaData_SimpleIterator *iterator = malloc(sizeof(FLAC__MetaData_SimpleIterator));
+ FLAC__Metadata_SimpleIterator *iterator = malloc(sizeof(FLAC__Metadata_SimpleIterator));
if(0 != iterator) {
iterator->file = 0;
@@ -247,7 +247,7 @@
return iterator;
}
-static void simple_iterator_free_guts_(FLAC__MetaData_SimpleIterator *iterator)
+static void simple_iterator_free_guts_(FLAC__Metadata_SimpleIterator *iterator)
{
FLAC__ASSERT(0 != iterator);
@@ -267,7 +267,7 @@
}
}
-void FLAC__metadata_simple_iterator_delete(FLAC__MetaData_SimpleIterator *iterator)
+void FLAC__metadata_simple_iterator_delete(FLAC__Metadata_SimpleIterator *iterator)
{
FLAC__ASSERT(0 != iterator);
@@ -275,9 +275,9 @@
free(iterator);
}
-FLAC__MetaData_SimpleIteratorStatus FLAC__metadata_simple_iterator_status(FLAC__MetaData_SimpleIterator *iterator)
+FLAC__Metadata_SimpleIteratorStatus FLAC__metadata_simple_iterator_status(FLAC__Metadata_SimpleIterator *iterator)
{
- FLAC__MetaData_SimpleIteratorStatus status;
+ FLAC__Metadata_SimpleIteratorStatus status;
FLAC__ASSERT(0 != iterator);
@@ -286,7 +286,7 @@
return status;
}
-static FLAC__bool simple_iterator_prime_input_(FLAC__MetaData_SimpleIterator *iterator)
+static FLAC__bool simple_iterator_prime_input_(FLAC__Metadata_SimpleIterator *iterator)
{
unsigned ret;
@@ -343,10 +343,10 @@
* '/' as the directory separator. A trailing slash is not needed; it
* will be added automatically.
*/
-FLAC__bool FLAC__metadata_simple_iterator_init(FLAC__MetaData_SimpleIterator *iterator, const char *filename, FLAC__bool preserve_file_stats, const char *tempfile_path_prefix);
+FLAC__bool FLAC__metadata_simple_iterator_init(FLAC__Metadata_SimpleIterator *iterator, const char *filename, FLAC__bool preserve_file_stats, const char *tempfile_path_prefix);
#endif
-FLAC__bool FLAC__metadata_simple_iterator_init(FLAC__MetaData_SimpleIterator *iterator, const char *filename, FLAC__bool preserve_file_stats)
+FLAC__bool FLAC__metadata_simple_iterator_init(FLAC__Metadata_SimpleIterator *iterator, const char *filename, FLAC__bool preserve_file_stats)
{
const char *tempfile_path_prefix = 0; /*@@@ search for comments near 'rename(...)' for what it will take to finish implementing this */
@@ -370,7 +370,7 @@
return simple_iterator_prime_input_(iterator);
}
-FLAC__bool FLAC__metadata_simple_iterator_is_writable(const FLAC__MetaData_SimpleIterator *iterator)
+FLAC__bool FLAC__metadata_simple_iterator_is_writable(const FLAC__Metadata_SimpleIterator *iterator)
{
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
@@ -378,7 +378,7 @@
return iterator->is_writable;
}
-FLAC__bool FLAC__metadata_simple_iterator_next(FLAC__MetaData_SimpleIterator *iterator)
+FLAC__bool FLAC__metadata_simple_iterator_next(FLAC__Metadata_SimpleIterator *iterator)
{
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
@@ -396,7 +396,7 @@
return read_metadata_block_header_(iterator);
}
-FLAC__bool FLAC__metadata_simple_iterator_prev(FLAC__MetaData_SimpleIterator *iterator)
+FLAC__bool FLAC__metadata_simple_iterator_prev(FLAC__Metadata_SimpleIterator *iterator)
{
long this_offset;
@@ -430,7 +430,7 @@
return true;
}
-FLAC__MetaDataType FLAC__metadata_simple_iterator_get_block_type(const FLAC__MetaData_SimpleIterator *iterator)
+FLAC__MetadataType FLAC__metadata_simple_iterator_get_block_type(const FLAC__Metadata_SimpleIterator *iterator)
{
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
@@ -438,9 +438,9 @@
return iterator->type;
}
-FLAC__StreamMetaData *FLAC__metadata_simple_iterator_get_block(FLAC__MetaData_SimpleIterator *iterator)
+FLAC__StreamMetadata *FLAC__metadata_simple_iterator_get_block(FLAC__Metadata_SimpleIterator *iterator)
{
- FLAC__StreamMetaData *block = FLAC__metadata_object_new(iterator->type);
+ FLAC__StreamMetadata *block = FLAC__metadata_object_new(iterator->type);
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
@@ -467,7 +467,7 @@
return block;
}
-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_set_block(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding)
{
FLAC__ASSERT_DECLARATION(long debug_target_offset = iterator->offset[iterator->depth];)
FLAC__bool ret;
@@ -564,7 +564,7 @@
}
}
-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_insert_block_after(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding)
{
unsigned padding_leftover = 0;
FLAC__bool padding_is_last = false;
@@ -642,7 +642,7 @@
}
}
-FLAC__bool FLAC__metadata_simple_iterator_delete_block(FLAC__MetaData_SimpleIterator *iterator, FLAC__bool use_padding)
+FLAC__bool FLAC__metadata_simple_iterator_delete_block(FLAC__Metadata_SimpleIterator *iterator, FLAC__bool use_padding)
{
FLAC__ASSERT_DECLARATION(long debug_target_offset = iterator->offset[iterator->depth];)
FLAC__bool ret;
@@ -653,7 +653,7 @@
}
if(use_padding) {
- FLAC__StreamMetaData *padding = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING);
+ FLAC__StreamMetadata *padding = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING);
if(0 == padding) {
iterator->status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
return false;
@@ -687,17 +687,17 @@
***************************************************************************/
-typedef struct FLAC__MetaData_Node {
- FLAC__StreamMetaData *data;
- struct FLAC__MetaData_Node *prev, *next;
-} FLAC__MetaData_Node;
+typedef struct FLAC__Metadata_Node {
+ FLAC__StreamMetadata *data;
+ struct FLAC__Metadata_Node *prev, *next;
+} FLAC__Metadata_Node;
-struct FLAC__MetaData_Chain {
+struct FLAC__Metadata_Chain {
char *filename;
- FLAC__MetaData_Node *head;
- FLAC__MetaData_Node *tail;
+ FLAC__Metadata_Node *head;
+ FLAC__Metadata_Node *tail;
unsigned nodes;
- FLAC__MetaData_ChainStatus status;
+ FLAC__Metadata_ChainStatus status;
long first_offset, last_offset; /*@@@ 2G limit */
/*
* This is the length of the chain initially read from the FLAC file.
@@ -708,12 +708,12 @@
unsigned current_length; /*@@@ 4G limit */
};
-struct FLAC__MetaData_Iterator {
- FLAC__MetaData_Chain *chain;
- FLAC__MetaData_Node *current;
+struct FLAC__Metadata_Iterator {
+ FLAC__Metadata_Chain *chain;
+ FLAC__Metadata_Node *current;
};
-const char * const FLAC__MetaData_ChainStatusString[] = {
+const char * const FLAC__Metadata_ChainStatusString[] = {
"FLAC__METADATA_CHAIN_STATUS_OK",
"FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT",
"FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE",
@@ -730,15 +730,15 @@
};
-static FLAC__MetaData_Node *node_new_()
+static FLAC__Metadata_Node *node_new_()
{
- FLAC__MetaData_Node *node = (FLAC__MetaData_Node*)malloc(sizeof(FLAC__MetaData_Node));
+ FLAC__Metadata_Node *node = (FLAC__Metadata_Node*)malloc(sizeof(FLAC__Metadata_Node));
if(0 != node)
- memset(node, 0, sizeof(FLAC__MetaData_Node));
+ memset(node, 0, sizeof(FLAC__Metadata_Node));
return node;
}
-static void node_delete_(FLAC__MetaData_Node *node)
+static void node_delete_(FLAC__Metadata_Node *node)
{
FLAC__ASSERT(0 != node);
if(0 != node->data)
@@ -746,7 +746,7 @@
free(node);
}
-static void chain_append_node_(FLAC__MetaData_Chain *chain, FLAC__MetaData_Node *node)
+static void chain_append_node_(FLAC__Metadata_Chain *chain, FLAC__Metadata_Node *node)
{
FLAC__ASSERT(0 != chain);
FLAC__ASSERT(0 != node);
@@ -769,7 +769,7 @@
chain->current_length += (FLAC__STREAM_METADATA_HEADER_LENGTH + node->data->length);
}
-static void chain_remove_node_(FLAC__MetaData_Chain *chain, FLAC__MetaData_Node *node)
+static void chain_remove_node_(FLAC__Metadata_Chain *chain, FLAC__Metadata_Node *node)
{
FLAC__ASSERT(0 != chain);
FLAC__ASSERT(0 != node);
@@ -791,13 +791,13 @@
chain->current_length -= (FLAC__STREAM_METADATA_HEADER_LENGTH + node->data->length);
}
-static void chain_delete_node_(FLAC__MetaData_Chain *chain, FLAC__MetaData_Node *node)
+static void chain_delete_node_(FLAC__Metadata_Chain *chain, FLAC__Metadata_Node *node)
{
chain_remove_node_(chain, node);
node_delete_(node);
}
-static void iterator_insert_node_(FLAC__MetaData_Iterator *iterator, FLAC__MetaData_Node *node)
+static void iterator_insert_node_(FLAC__Metadata_Iterator *iterator, FLAC__Metadata_Node *node)
{
FLAC__ASSERT(0 != node);
FLAC__ASSERT(0 != node->data);
@@ -823,7 +823,7 @@
iterator->chain->current_length += (FLAC__STREAM_METADATA_HEADER_LENGTH + node->data->length);
}
-static void iterator_insert_node_after_(FLAC__MetaData_Iterator *iterator, FLAC__MetaData_Node *node)
+static void iterator_insert_node_after_(FLAC__Metadata_Iterator *iterator, FLAC__Metadata_Node *node)
{
FLAC__ASSERT(0 != node);
FLAC__ASSERT(0 != node->data);
@@ -852,7 +852,7 @@
}
/* return true iff node and node->next are both padding */
-static FLAC__bool chain_merge_adjacent_padding_(FLAC__MetaData_Chain *chain, FLAC__MetaData_Node *node)
+static FLAC__bool chain_merge_adjacent_padding_(FLAC__Metadata_Chain *chain, FLAC__Metadata_Node *node)
{
if(node->data->type == FLAC__METADATA_TYPE_PADDING && 0 != node->next && node->next->data->type == FLAC__METADATA_TYPE_PADDING) {
const unsigned growth = FLAC__STREAM_METADATA_HEADER_LENGTH + node->next->data->length;
@@ -866,9 +866,9 @@
return false;
}
-FLAC__MetaData_Chain *FLAC__metadata_chain_new()
+FLAC__Metadata_Chain *FLAC__metadata_chain_new()
{
- FLAC__MetaData_Chain *chain = malloc(sizeof(FLAC__MetaData_Chain));
+ FLAC__Metadata_Chain *chain = malloc(sizeof(FLAC__Metadata_Chain));
if(0 != chain) {
chain->filename = 0;
@@ -881,9 +881,9 @@
return chain;
}
-void FLAC__metadata_chain_delete(FLAC__MetaData_Chain *chain)
+void FLAC__metadata_chain_delete(FLAC__Metadata_Chain *chain)
{
- FLAC__MetaData_Node *node, *next;
+ FLAC__Metadata_Node *node, *next;
FLAC__ASSERT(0 != chain);
@@ -899,9 +899,9 @@
free(chain);
}
-FLAC__MetaData_ChainStatus FLAC__metadata_chain_status(FLAC__MetaData_Chain *chain)
+FLAC__Metadata_ChainStatus FLAC__metadata_chain_status(FLAC__Metadata_Chain *chain)
{
- FLAC__MetaData_ChainStatus status;
+ FLAC__Metadata_ChainStatus status;
FLAC__ASSERT(0 != chain);
@@ -910,10 +910,10 @@
return status;
}
-FLAC__bool FLAC__metadata_chain_read(FLAC__MetaData_Chain *chain, const char *filename)
+FLAC__bool FLAC__metadata_chain_read(FLAC__Metadata_Chain *chain, const char *filename)
{
- FLAC__MetaData_SimpleIterator *iterator;
- FLAC__MetaData_Node *node;
+ FLAC__Metadata_SimpleIterator *iterator;
+ FLAC__Metadata_Node *node;
FLAC__ASSERT(0 != chain);
FLAC__ASSERT(0 != filename);
@@ -962,7 +962,7 @@
return true;
}
-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(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__bool preserve_file_stats)
{
struct stat stats;
const char *tempfile_path_prefix = 0;
@@ -975,8 +975,8 @@
FLAC__ASSERT(chain->current_length == chain->initial_length);
}
else if(chain->current_length + FLAC__STREAM_METADATA_HEADER_LENGTH <= chain->initial_length) {
- FLAC__StreamMetaData *padding;
- FLAC__MetaData_Node *node;
+ FLAC__StreamMetadata *padding;
+ FLAC__Metadata_Node *node;
if(0 == (padding = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING))) {
chain->status = FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR;
return false;
@@ -1024,7 +1024,7 @@
/* recompute lengths and offsets if necessary */
if(chain->initial_length != chain->current_length) {
- const FLAC__MetaData_Node *node;
+ const FLAC__Metadata_Node *node;
chain->initial_length = chain->current_length;
chain->last_offset = chain->first_offset;
for(node = chain->head; node; node = node->next)
@@ -1034,9 +1034,9 @@
return true;
}
-void FLAC__metadata_chain_merge_padding(FLAC__MetaData_Chain *chain)
+void FLAC__metadata_chain_merge_padding(FLAC__Metadata_Chain *chain)
{
- FLAC__MetaData_Node *node;
+ FLAC__Metadata_Node *node;
FLAC__ASSERT(0 != chain);
@@ -1046,9 +1046,9 @@
}
}
-void FLAC__metadata_chain_sort_padding(FLAC__MetaData_Chain *chain)
+void FLAC__metadata_chain_sort_padding(FLAC__Metadata_Chain *chain)
{
- FLAC__MetaData_Node *node, *save;
+ FLAC__Metadata_Node *node, *save;
unsigned i;
FLAC__ASSERT(0 != chain);
@@ -1073,9 +1073,9 @@
}
-FLAC__MetaData_Iterator *FLAC__metadata_iterator_new()
+FLAC__Metadata_Iterator *FLAC__metadata_iterator_new()
{
- FLAC__MetaData_Iterator *iterator = malloc(sizeof(FLAC__MetaData_Iterator));
+ FLAC__Metadata_Iterator *iterator = malloc(sizeof(FLAC__Metadata_Iterator));
if(0 != iterator) {
iterator->current = 0;
@@ -1085,7 +1085,7 @@
return iterator;
}
-void FLAC__metadata_iterator_delete(FLAC__MetaData_Iterator *iterator)
+void FLAC__metadata_iterator_delete(FLAC__Metadata_Iterator *iterator)
{
FLAC__ASSERT(0 != iterator);
@@ -1096,7 +1096,7 @@
* Initialize the iterator to point to the first metadata block in the
* given chain.
*/
-void FLAC__metadata_iterator_init(FLAC__MetaData_Iterator *iterator, FLAC__MetaData_Chain *chain)
+void FLAC__metadata_iterator_init(FLAC__Metadata_Iterator *iterator, FLAC__Metadata_Chain *chain)
{
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != chain);
@@ -1106,7 +1106,7 @@
iterator->current = chain->head;
}
-FLAC__bool FLAC__metadata_iterator_next(FLAC__MetaData_Iterator *iterator)
+FLAC__bool FLAC__metadata_iterator_next(FLAC__Metadata_Iterator *iterator)
{
FLAC__ASSERT(0 != iterator);
@@ -1117,7 +1117,7 @@
return true;
}
-FLAC__bool FLAC__metadata_iterator_prev(FLAC__MetaData_Iterator *iterator)
+FLAC__bool FLAC__metadata_iterator_prev(FLAC__Metadata_Iterator *iterator)
{
FLAC__ASSERT(0 != iterator);
@@ -1128,7 +1128,7 @@
return true;
}
-FLAC__MetaDataType FLAC__metadata_iterator_get_block_type(const FLAC__MetaData_Iterator *iterator)
+FLAC__MetadataType FLAC__metadata_iterator_get_block_type(const FLAC__Metadata_Iterator *iterator)
{
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->current);
@@ -1137,7 +1137,7 @@
return iterator->current->data->type;
}
-FLAC__StreamMetaData *FLAC__metadata_iterator_get_block(FLAC__MetaData_Iterator *iterator)
+FLAC__StreamMetadata *FLAC__metadata_iterator_get_block(FLAC__Metadata_Iterator *iterator)
{
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->current);
@@ -1145,14 +1145,14 @@
return iterator->current->data;
}
-FLAC__bool FLAC__metadata_iterator_set_block(FLAC__MetaData_Iterator *iterator, FLAC__StreamMetaData *block)
+FLAC__bool FLAC__metadata_iterator_set_block(FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)
{
return FLAC__metadata_iterator_delete_block(iterator, false) && FLAC__metadata_iterator_insert_block_after(iterator, block);
}
-FLAC__bool FLAC__metadata_iterator_delete_block(FLAC__MetaData_Iterator *iterator, FLAC__bool replace_with_padding)
+FLAC__bool FLAC__metadata_iterator_delete_block(FLAC__Metadata_Iterator *iterator, FLAC__bool replace_with_padding)
{
- FLAC__MetaData_Node *save;
+ FLAC__Metadata_Node *save;
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->current);
@@ -1176,9 +1176,9 @@
return true;
}
-FLAC__bool FLAC__metadata_iterator_insert_block_before(FLAC__MetaData_Iterator *iterator, FLAC__StreamMetaData *block)
+FLAC__bool FLAC__metadata_iterator_insert_block_before(FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)
{
- FLAC__MetaData_Node *node;
+ FLAC__Metadata_Node *node;
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->current);
@@ -1200,9 +1200,9 @@
return true;
}
-FLAC__bool FLAC__metadata_iterator_insert_block_after(FLAC__MetaData_Iterator *iterator, FLAC__StreamMetaData *block)
+FLAC__bool FLAC__metadata_iterator_insert_block_after(FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)
{
- FLAC__MetaData_Node *node;
+ FLAC__Metadata_Node *node;
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->current);
@@ -1295,7 +1295,7 @@
return ret;
}
-FLAC__bool read_metadata_block_header_(FLAC__MetaData_SimpleIterator *iterator)
+FLAC__bool read_metadata_block_header_(FLAC__Metadata_SimpleIterator *iterator)
{
FLAC__byte raw_header[FLAC__STREAM_METADATA_HEADER_LENGTH];
@@ -1308,7 +1308,7 @@
}
iterator->is_last = raw_header[0] & 0x80? true : false;
- iterator->type = (FLAC__MetaDataType)(raw_header[0] & 0x7f);
+ iterator->type = (FLAC__MetadataType)(raw_header[0] & 0x7f);
iterator->length = unpack_uint32_(raw_header + 1, 3);
/* do some checking */
@@ -1320,7 +1320,7 @@
return true;
}
-FLAC__bool read_metadata_block_data_(FLAC__MetaData_SimpleIterator *iterator, FLAC__StreamMetaData *block)
+FLAC__bool read_metadata_block_data_(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block)
{
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
@@ -1349,7 +1349,7 @@
return (iterator->status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK);
}
-FLAC__MetaData_SimpleIteratorStatus read_metadata_block_data_streaminfo_(FILE *file, FLAC__StreamMetaData_StreamInfo *block)
+FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_streaminfo_(FILE *file, FLAC__StreamMetadata_StreamInfo *block)
{
FLAC__byte buffer[FLAC__STREAM_METADATA_STREAMINFO_LENGTH], *b;
@@ -1378,7 +1378,7 @@
}
-FLAC__MetaData_SimpleIteratorStatus read_metadata_block_data_padding_(FILE *file, FLAC__StreamMetaData_Padding *block, unsigned block_length)
+FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_padding_(FILE *file, FLAC__StreamMetadata_Padding *block, unsigned block_length)
{
FLAC__ASSERT(0 != file);
@@ -1390,7 +1390,7 @@
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__MetaData_SimpleIteratorStatus read_metadata_block_data_application_(FILE *file, FLAC__StreamMetaData_Application *block, unsigned block_length)
+FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_application_(FILE *file, FLAC__StreamMetadata_Application *block, unsigned block_length)
{
const unsigned id_bytes = FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8;
@@ -1415,7 +1415,7 @@
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__MetaData_SimpleIteratorStatus read_metadata_block_data_seektable_(FILE *file, FLAC__StreamMetaData_SeekTable *block, unsigned block_length)
+FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_seektable_(FILE *file, FLAC__StreamMetadata_SeekTable *block, unsigned block_length)
{
unsigned i;
FLAC__byte buffer[FLAC__STREAM_METADATA_SEEKPOINT_LENGTH];
@@ -1427,7 +1427,7 @@
if(block->num_points == 0)
block->points = 0;
- else if(0 == (block->points = malloc(block->num_points * sizeof(FLAC__StreamMetaData_SeekPoint))))
+ else if(0 == (block->points = malloc(block->num_points * sizeof(FLAC__StreamMetadata_SeekPoint))))
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
for(i = 0; i < block->num_points; i++) {
@@ -1442,7 +1442,7 @@
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__MetaData_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_entry_(FILE *file, FLAC__StreamMetaData_VorbisComment_Entry *entry)
+FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_entry_(FILE *file, FLAC__StreamMetadata_VorbisComment_Entry *entry)
{
const unsigned entry_length_len = FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN / 8;
FLAC__byte buffer[4]; /* magic number is asserted below */
@@ -1468,10 +1468,10 @@
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__MetaData_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_(FILE *file, FLAC__StreamMetaData_VorbisComment *block)
+FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_(FILE *file, FLAC__StreamMetadata_VorbisComment *block)
{
unsigned i;
- FLAC__MetaData_SimpleIteratorStatus status;
+ FLAC__Metadata_SimpleIteratorStatus status;
const unsigned num_comments_len = FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN / 8;
FLAC__byte buffer[4]; /* magic number is asserted below */
@@ -1488,7 +1488,7 @@
if(block->num_comments == 0) {
block->comments = 0;
}
- else if(0 == (block->comments = malloc(block->num_comments * sizeof(FLAC__StreamMetaData_VorbisComment_Entry))))
+ else if(0 == (block->comments = malloc(block->num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry))))
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
for(i = 0; i < block->num_comments; i++) {
@@ -1499,7 +1499,7 @@
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__bool write_metadata_block_header_(FILE *file, FLAC__MetaData_SimpleIteratorStatus *status, const FLAC__StreamMetaData *block)
+FLAC__bool write_metadata_block_header_(FILE *file, FLAC__Metadata_SimpleIteratorStatus *status, const FLAC__StreamMetadata *block)
{
FLAC__byte buffer[FLAC__STREAM_METADATA_HEADER_LENGTH];
@@ -1518,7 +1518,7 @@
return true;
}
-FLAC__bool write_metadata_block_data_(FILE *file, FLAC__MetaData_SimpleIteratorStatus *status, const FLAC__StreamMetaData *block)
+FLAC__bool write_metadata_block_data_(FILE *file, FLAC__Metadata_SimpleIteratorStatus *status, const FLAC__StreamMetadata *block)
{
FLAC__ASSERT(0 != file);
FLAC__ASSERT(0 != status);
@@ -1546,7 +1546,7 @@
return (*status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK);
}
-FLAC__MetaData_SimpleIteratorStatus write_metadata_block_data_streaminfo_(FILE *file, const FLAC__StreamMetaData_StreamInfo *block)
+FLAC__Metadata_SimpleIteratorStatus write_metadata_block_data_streaminfo_(FILE *file, const FLAC__StreamMetadata_StreamInfo *block)
{
FLAC__byte buffer[FLAC__STREAM_METADATA_STREAMINFO_LENGTH];
const unsigned channels1 = block->channels - 1;
@@ -1575,7 +1575,7 @@
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__MetaData_SimpleIteratorStatus write_metadata_block_data_padding_(FILE *file, const FLAC__StreamMetaData_Padding *block, unsigned block_length)
+FLAC__Metadata_SimpleIteratorStatus write_metadata_block_data_padding_(FILE *file, const FLAC__StreamMetadata_Padding *block, unsigned block_length)
{
unsigned i, n = block_length;
FLAC__byte buffer[1024];
@@ -1598,7 +1598,7 @@
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__MetaData_SimpleIteratorStatus write_metadata_block_data_application_(FILE *file, const FLAC__StreamMetaData_Application *block, unsigned block_length)
+FLAC__Metadata_SimpleIteratorStatus write_metadata_block_data_application_(FILE *file, const FLAC__StreamMetadata_Application *block, unsigned block_length)
{
const unsigned id_bytes = FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8;
@@ -1615,7 +1615,7 @@
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__MetaData_SimpleIteratorStatus write_metadata_block_data_seektable_(FILE *file, const FLAC__StreamMetaData_SeekTable *block)
+FLAC__Metadata_SimpleIteratorStatus write_metadata_block_data_seektable_(FILE *file, const FLAC__StreamMetadata_SeekTable *block)
{
unsigned i;
FLAC__byte buffer[FLAC__STREAM_METADATA_SEEKPOINT_LENGTH];
@@ -1634,7 +1634,7 @@
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__MetaData_SimpleIteratorStatus write_metadata_block_data_vorbis_comment_(FILE *file, const FLAC__StreamMetaData_VorbisComment *block)
+FLAC__Metadata_SimpleIteratorStatus write_metadata_block_data_vorbis_comment_(FILE *file, const FLAC__StreamMetadata_VorbisComment *block)
{
unsigned i;
const unsigned entry_length_len = FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN / 8;
@@ -1665,7 +1665,7 @@
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__bool write_metadata_block_stationary_(FLAC__MetaData_SimpleIterator *iterator, const FLAC__StreamMetaData *block)
+FLAC__bool write_metadata_block_stationary_(FLAC__Metadata_SimpleIterator *iterator, const FLAC__StreamMetadata *block)
{
if(0 != fseek(iterator->file, iterator->offset[iterator->depth], SEEK_SET)) {
iterator->status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR;
@@ -1686,9 +1686,9 @@
return read_metadata_block_header_(iterator);
}
-FLAC__bool write_metadata_block_stationary_with_padding_(FLAC__MetaData_SimpleIterator *iterator, FLAC__StreamMetaData *block, unsigned padding_length, FLAC__bool padding_is_last)
+FLAC__bool write_metadata_block_stationary_with_padding_(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, unsigned padding_length, FLAC__bool padding_is_last)
{
- FLAC__StreamMetaData *padding;
+ FLAC__StreamMetadata *padding;
if(0 != fseek(iterator->file, iterator->offset[iterator->depth], SEEK_SET)) {
iterator->status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR;
@@ -1729,7 +1729,7 @@
return read_metadata_block_header_(iterator);
}
-FLAC__bool rewrite_whole_file_(FLAC__MetaData_SimpleIterator *iterator, FLAC__StreamMetaData *block, FLAC__bool append)
+FLAC__bool rewrite_whole_file_(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool append)
{
FILE *tempfile;
char *tempfilename;
@@ -1780,11 +1780,11 @@
return true;
}
-FLAC__bool chain_rewrite_chain_(FLAC__MetaData_Chain *chain)
+FLAC__bool chain_rewrite_chain_(FLAC__Metadata_Chain *chain)
{
FILE *f;
- FLAC__MetaData_Node *node;
- FLAC__MetaData_SimpleIteratorStatus status;
+ FLAC__Metadata_Node *node;
+ FLAC__Metadata_SimpleIteratorStatus status;
FLAC__ASSERT(0 != chain);
FLAC__ASSERT(0 != chain->filename);
@@ -1817,12 +1817,12 @@
return true;
}
-FLAC__bool chain_rewrite_file_(FLAC__MetaData_Chain *chain, const char *tempfile_path_prefix)
+FLAC__bool chain_rewrite_file_(FLAC__Metadata_Chain *chain, const char *tempfile_path_prefix)
{
FILE *f, *tempfile;
char *tempfilename;
- FLAC__MetaData_SimpleIteratorStatus status;
- const FLAC__MetaData_Node *node;
+ FLAC__Metadata_SimpleIteratorStatus status;
+ const FLAC__Metadata_Node *node;
FLAC__ASSERT(0 != chain);
FLAC__ASSERT(0 != chain->filename);
@@ -1877,14 +1877,14 @@
return true;
}
-void simple_iterator_push_(FLAC__MetaData_SimpleIterator *iterator)
+void simple_iterator_push_(FLAC__Metadata_SimpleIterator *iterator)
{
FLAC__ASSERT(iterator->depth+1 < SIMPLE_ITERATOR_MAX_PUSH_DEPTH);
iterator->offset[iterator->depth+1] = iterator->offset[iterator->depth];
iterator->depth++;
}
-FLAC__bool simple_iterator_pop_(FLAC__MetaData_SimpleIterator *iterator)
+FLAC__bool simple_iterator_pop_(FLAC__Metadata_SimpleIterator *iterator)
{
FLAC__ASSERT(iterator->depth > 0);
iterator->depth--;
@@ -1947,7 +1947,7 @@
return 2;
}
-FLAC__bool simple_iterator_copy_file_prefix_(FLAC__MetaData_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, FLAC__bool append)
+FLAC__bool simple_iterator_copy_file_prefix_(FLAC__Metadata_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, FLAC__bool append)
{
const long offset_end = append? iterator->offset[iterator->depth] + (long)FLAC__STREAM_METADATA_HEADER_LENGTH + (long)iterator->length : iterator->offset[iterator->depth];
@@ -1967,7 +1967,7 @@
return true;
}
-FLAC__bool simple_iterator_copy_file_postfix_(FLAC__MetaData_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, int fixup_is_last_code, long fixup_is_last_flag_offset, FLAC__bool backup)
+FLAC__bool simple_iterator_copy_file_postfix_(FLAC__Metadata_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, int fixup_is_last_code, long fixup_is_last_flag_offset, FLAC__bool backup)
{
long save_offset = iterator->offset[iterator->depth]; /*@@@ 2G limit */
FLAC__ASSERT(0 != *tempfile);
@@ -2046,7 +2046,7 @@
}
}
-FLAC__bool copy_n_bytes_from_file_(FILE *file, FILE *tempfile, unsigned bytes/*@@@ 4G limit*/, FLAC__MetaData_SimpleIteratorStatus *status)
+FLAC__bool copy_n_bytes_from_file_(FILE *file, FILE *tempfile, unsigned bytes/*@@@ 4G limit*/, FLAC__Metadata_SimpleIteratorStatus *status)
{
FLAC__byte buffer[8192];
unsigned n;
@@ -2067,7 +2067,7 @@
return true;
}
-FLAC__bool copy_remaining_bytes_from_file_(FILE *file, FILE *tempfile, FLAC__MetaData_SimpleIteratorStatus *status)
+FLAC__bool copy_remaining_bytes_from_file_(FILE *file, FILE *tempfile, FLAC__Metadata_SimpleIteratorStatus *status)
{
FLAC__byte buffer[8192];
size_t n;
@@ -2087,7 +2087,7 @@
return true;
}
-FLAC__bool open_tempfile_(const char *filename, const char *tempfile_path_prefix, FILE **tempfile, char **tempfilename, FLAC__MetaData_SimpleIteratorStatus *status)
+FLAC__bool open_tempfile_(const char *filename, const char *tempfile_path_prefix, FILE **tempfile, char **tempfilename, FLAC__Metadata_SimpleIteratorStatus *status)
{
static const char *tempfile_suffix = ".metadata_edit";
if(0 == tempfile_path_prefix) {
@@ -2123,7 +2123,7 @@
return true;
}
-FLAC__bool transport_tempfile_(const char *filename, FILE **tempfile, char **tempfilename, FLAC__MetaData_SimpleIteratorStatus *status)
+FLAC__bool transport_tempfile_(const char *filename, FILE **tempfile, char **tempfilename, FLAC__Metadata_SimpleIteratorStatus *status)
{
FLAC__ASSERT(0 != filename);
FLAC__ASSERT(0 != tempfile);
@@ -2184,7 +2184,7 @@
#endif
}
-FLAC__MetaData_ChainStatus get_equivalent_status_(FLAC__MetaData_SimpleIteratorStatus status)
+FLAC__Metadata_ChainStatus get_equivalent_status_(FLAC__Metadata_SimpleIteratorStatus status)
{
switch(status) {
case FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK:
diff --git a/src/libFLAC/metadata_object.c b/src/libFLAC/metadata_object.c
index 21f81c4..c79fd81 100644
--- a/src/libFLAC/metadata_object.c
+++ b/src/libFLAC/metadata_object.c
@@ -48,7 +48,7 @@
return true;
}
-static FLAC__bool copy_vcentry_(FLAC__StreamMetaData_VorbisComment_Entry *to, const FLAC__StreamMetaData_VorbisComment_Entry *from)
+static FLAC__bool copy_vcentry_(FLAC__StreamMetadata_VorbisComment_Entry *to, const FLAC__StreamMetadata_VorbisComment_Entry *from)
{
to->length = from->length;
if(0 == from->entry) {
@@ -66,7 +66,7 @@
return true;
}
-static void seektable_calculate_length_(FLAC__StreamMetaData *object)
+static void seektable_calculate_length_(FLAC__StreamMetadata *object)
{
FLAC__ASSERT(0 != object);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
@@ -74,13 +74,13 @@
object->length = object->data.seek_table.num_points * FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
}
-static FLAC__StreamMetaData_SeekPoint *seekpoint_array_new_(unsigned num_points)
+static FLAC__StreamMetadata_SeekPoint *seekpoint_array_new_(unsigned num_points)
{
- FLAC__StreamMetaData_SeekPoint *object_array;
+ FLAC__StreamMetadata_SeekPoint *object_array;
FLAC__ASSERT(num_points > 0);
- object_array = malloc(num_points * sizeof(FLAC__StreamMetaData_SeekPoint));
+ object_array = malloc(num_points * sizeof(FLAC__StreamMetadata_SeekPoint));
if(0 != object_array) {
unsigned i;
@@ -94,7 +94,7 @@
return object_array;
}
-static void vorbiscomment_calculate_length_(FLAC__StreamMetaData *object)
+static void vorbiscomment_calculate_length_(FLAC__StreamMetadata *object)
{
unsigned i;
@@ -109,21 +109,21 @@
}
}
-static FLAC__StreamMetaData_VorbisComment_Entry *vorbiscomment_entry_array_new_(unsigned num_comments)
+static FLAC__StreamMetadata_VorbisComment_Entry *vorbiscomment_entry_array_new_(unsigned num_comments)
{
- FLAC__StreamMetaData_VorbisComment_Entry *object_array;
+ FLAC__StreamMetadata_VorbisComment_Entry *object_array;
FLAC__ASSERT(num_comments > 0);
- object_array = malloc(num_comments * sizeof(FLAC__StreamMetaData_VorbisComment_Entry));
+ object_array = malloc(num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry));
if(0 != object_array)
- memset(object_array, 0, num_comments * sizeof(FLAC__StreamMetaData_VorbisComment_Entry));
+ memset(object_array, 0, num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry));
return object_array;
}
-static void vorbiscomment_entry_array_delete_(FLAC__StreamMetaData_VorbisComment_Entry *object_array, unsigned num_comments)
+static void vorbiscomment_entry_array_delete_(FLAC__StreamMetadata_VorbisComment_Entry *object_array, unsigned num_comments)
{
unsigned i;
@@ -137,9 +137,9 @@
free(object_array);
}
-static FLAC__StreamMetaData_VorbisComment_Entry *vorbiscomment_entry_array_copy_(const FLAC__StreamMetaData_VorbisComment_Entry *object_array, unsigned num_comments)
+static FLAC__StreamMetadata_VorbisComment_Entry *vorbiscomment_entry_array_copy_(const FLAC__StreamMetadata_VorbisComment_Entry *object_array, unsigned num_comments)
{
- FLAC__StreamMetaData_VorbisComment_Entry *return_array;
+ FLAC__StreamMetadata_VorbisComment_Entry *return_array;
FLAC__ASSERT(0 != object_array);
FLAC__ASSERT(num_comments > 0);
@@ -154,7 +154,7 @@
* deleted and we don't want the destructor freeing uninitialized
* pointers.
*/
- memset(return_array, 0, num_comments * sizeof(FLAC__StreamMetaData_VorbisComment_Entry));
+ memset(return_array, 0, num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry));
for(i = 0; i < num_comments; i++) {
if(!copy_vcentry_(return_array+i, object_array+i)) {
@@ -167,7 +167,7 @@
return return_array;
}
-static FLAC__bool vorbiscomment_set_entry_(FLAC__StreamMetaData *object, FLAC__StreamMetaData_VorbisComment_Entry *dest, const FLAC__StreamMetaData_VorbisComment_Entry *src, FLAC__bool copy)
+static FLAC__bool vorbiscomment_set_entry_(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry *dest, const FLAC__StreamMetadata_VorbisComment_Entry *src, FLAC__bool copy)
{
FLAC__byte *save;
@@ -206,11 +206,11 @@
will return pointer to new empty object of type 'type', or 0 if malloc failed
type is valid type
*/
-FLAC__StreamMetaData *FLAC__metadata_object_new(FLAC__MetaDataType type)
+FLAC__StreamMetadata *FLAC__metadata_object_new(FLAC__MetadataType type)
{
- FLAC__StreamMetaData *object = malloc(sizeof(FLAC__StreamMetaData));
+ FLAC__StreamMetadata *object = malloc(sizeof(FLAC__StreamMetadata));
if(0 != object) {
- memset(object, 0, sizeof(FLAC__StreamMetaData));
+ memset(object, 0, sizeof(FLAC__StreamMetadata));
object->is_last = false;
object->type = type;
switch(type) {
@@ -242,9 +242,9 @@
return a pointer to a copy of 'object', or 0 if any malloc failed. does a deep copy. user gets ownership of object.
FLAC__ASSERT(0 != object);
*/
-FLAC__StreamMetaData *FLAC__metadata_object_copy(const FLAC__StreamMetaData *object)
+FLAC__StreamMetadata *FLAC__metadata_object_clone(const FLAC__StreamMetadata *object)
{
- FLAC__StreamMetaData *to;
+ FLAC__StreamMetadata *to;
FLAC__ASSERT(0 != object);
@@ -254,7 +254,7 @@
to->length = object->length;
switch(to->type) {
case FLAC__METADATA_TYPE_STREAMINFO:
- memcpy(&to->data.stream_info, &object->data.stream_info, sizeof(FLAC__StreamMetaData_StreamInfo));
+ memcpy(&to->data.stream_info, &object->data.stream_info, sizeof(FLAC__StreamMetadata_StreamInfo));
break;
case FLAC__METADATA_TYPE_PADDING:
break;
@@ -267,7 +267,7 @@
break;
case FLAC__METADATA_TYPE_SEEKTABLE:
to->data.seek_table.num_points = object->data.seek_table.num_points;
- if(!copy_bytes_((FLAC__byte**)&to->data.seek_table.points, (FLAC__byte*)object->data.seek_table.points, object->data.seek_table.num_points * sizeof(FLAC__StreamMetaData_SeekPoint))) {
+ if(!copy_bytes_((FLAC__byte**)&to->data.seek_table.points, (FLAC__byte*)object->data.seek_table.points, object->data.seek_table.num_points * sizeof(FLAC__StreamMetadata_SeekPoint))) {
FLAC__metadata_object_delete(to);
return 0;
}
@@ -302,7 +302,7 @@
return to;
}
-void FLAC__metadata_object_delete_data(FLAC__StreamMetaData *object)
+void FLAC__metadata_object_delete_data(FLAC__StreamMetadata *object)
{
FLAC__ASSERT(0 != object);
@@ -334,13 +334,13 @@
/*@@@@move
frees 'object'. does a deep delete.
*/
-void FLAC__metadata_object_delete(FLAC__StreamMetaData *object)
+void FLAC__metadata_object_delete(FLAC__StreamMetadata *object)
{
FLAC__metadata_object_delete_data(object);
free(object);
}
-static FLAC__bool compare_block_data_streaminfo_(const FLAC__StreamMetaData_StreamInfo *block1, const FLAC__StreamMetaData_StreamInfo *block2)
+static FLAC__bool compare_block_data_streaminfo_(const FLAC__StreamMetadata_StreamInfo *block1, const FLAC__StreamMetadata_StreamInfo *block2)
{
if(block1->min_blocksize != block2->min_blocksize)
return false;
@@ -363,7 +363,7 @@
return true;
}
-static FLAC__bool compare_block_data_application_(const FLAC__StreamMetaData_Application *block1, const FLAC__StreamMetaData_Application *block2, unsigned block_length)
+static FLAC__bool compare_block_data_application_(const FLAC__StreamMetadata_Application *block1, const FLAC__StreamMetadata_Application *block2, unsigned block_length)
{
FLAC__ASSERT(0 != block1);
FLAC__ASSERT(0 != block2);
@@ -377,7 +377,7 @@
return block1->data == block2->data;
}
-static FLAC__bool compare_block_data_seektable_(const FLAC__StreamMetaData_SeekTable *block1, const FLAC__StreamMetaData_SeekTable *block2)
+static FLAC__bool compare_block_data_seektable_(const FLAC__StreamMetadata_SeekTable *block1, const FLAC__StreamMetadata_SeekTable *block2)
{
unsigned i;
@@ -402,7 +402,7 @@
return block1->points == block2->points;
}
-static FLAC__bool compare_block_data_vorbiscomment_(const FLAC__StreamMetaData_VorbisComment *block1, const FLAC__StreamMetaData_VorbisComment *block2)
+static FLAC__bool compare_block_data_vorbiscomment_(const FLAC__StreamMetadata_VorbisComment *block1, const FLAC__StreamMetadata_VorbisComment *block2)
{
unsigned i;
@@ -430,7 +430,7 @@
return true;
}
-FLAC__bool FLAC__metadata_object_is_equal(const FLAC__StreamMetaData *block1, const FLAC__StreamMetaData *block2)
+FLAC__bool FLAC__metadata_object_is_equal(const FLAC__StreamMetadata *block1, const FLAC__StreamMetadata *block2)
{
if(block1->type != block2->type) {
return false;
@@ -463,7 +463,7 @@
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_APPLICATION);
FLAC__ASSERT((0 != data && length > 0) || (0 == data && length == 0 && copy == false));
*/
-FLAC__bool FLAC__metadata_object_application_set_data(FLAC__StreamMetaData *object, FLAC__byte *data, unsigned length, FLAC__bool copy)
+FLAC__bool FLAC__metadata_object_application_set_data(FLAC__StreamMetadata *object, FLAC__byte *data, unsigned length, FLAC__bool copy)
{
FLAC__byte *save;
@@ -488,7 +488,7 @@
return true;
}
-FLAC__bool FLAC__metadata_object_seektable_resize_points(FLAC__StreamMetaData *object, unsigned new_num_points)
+FLAC__bool FLAC__metadata_object_seektable_resize_points(FLAC__StreamMetadata *object, unsigned new_num_points)
{
FLAC__ASSERT(0 != object);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
@@ -501,8 +501,8 @@
return false;
}
else {
- const unsigned old_size = object->data.seek_table.num_points * sizeof(FLAC__StreamMetaData_SeekPoint);
- const unsigned new_size = new_num_points * sizeof(FLAC__StreamMetaData_SeekPoint);
+ const unsigned old_size = object->data.seek_table.num_points * sizeof(FLAC__StreamMetadata_SeekPoint);
+ const unsigned new_size = new_num_points * sizeof(FLAC__StreamMetadata_SeekPoint);
FLAC__ASSERT(object->data.seek_table.num_points > 0);
@@ -530,7 +530,7 @@
return true;
}
-void FLAC__metadata_object_seektable_set_point(FLAC__StreamMetaData *object, unsigned point_num, FLAC__StreamMetaData_SeekPoint point)
+void FLAC__metadata_object_seektable_set_point(FLAC__StreamMetadata *object, unsigned point_num, FLAC__StreamMetadata_SeekPoint point)
{
FLAC__ASSERT(0 != object);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
@@ -539,7 +539,7 @@
object->data.seek_table.points[point_num] = point;
}
-FLAC__bool FLAC__metadata_object_seektable_insert_point(FLAC__StreamMetaData *object, unsigned point_num, FLAC__StreamMetaData_SeekPoint point)
+FLAC__bool FLAC__metadata_object_seektable_insert_point(FLAC__StreamMetadata *object, unsigned point_num, FLAC__StreamMetadata_SeekPoint point)
{
int i;
@@ -559,7 +559,7 @@
return true;
}
-FLAC__bool FLAC__metadata_object_seektable_delete_point(FLAC__StreamMetaData *object, unsigned point_num)
+FLAC__bool FLAC__metadata_object_seektable_delete_point(FLAC__StreamMetadata *object, unsigned point_num)
{
unsigned i;
@@ -574,39 +574,37 @@
return FLAC__metadata_object_seektable_resize_points(object, object->data.seek_table.num_points-1);
}
-FLAC__bool FLAC__metadata_object_seektable_is_legal(const FLAC__StreamMetaData *object)
+FLAC__bool FLAC__metadata_object_seektable_is_legal(const FLAC__StreamMetadata *object)
{
unsigned i;
- FLAC__uint64 last_sample_number = 0;
- FLAC__bool got_last = false;
+ FLAC__uint64 prev_sample_number = 0;
+ FLAC__bool got_prev = false;
FLAC__ASSERT(0 != object);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
{
- const FLAC__StreamMetaData_SeekTable *seek_table = &object->data.seek_table;
+ const FLAC__StreamMetadata_SeekTable *seek_table = &object->data.seek_table;
for(i = 0; i < seek_table->num_points; i++) {
- if(seek_table->points[i].sample_number != FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER) {
- if(got_last) {
- if(seek_table->points[i].sample_number <= last_sample_number)
- return false;
- }
- last_sample_number = seek_table->points[i].sample_number;
- got_last = true;
+ if(got_prev) {
+ if(seek_table->points[i].sample_number <= prev_sample_number)
+ return false;
}
+ prev_sample_number = seek_table->points[i].sample_number;
+ got_prev = true;
}
}
return true;
}
-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_set_vendor_string(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
{
return vorbiscomment_set_entry_(object, &object->data.vorbis_comment.vendor_string, &entry, copy);
}
-FLAC__bool FLAC__metadata_object_vorbiscomment_resize_comments(FLAC__StreamMetaData *object, unsigned new_num_comments)
+FLAC__bool FLAC__metadata_object_vorbiscomment_resize_comments(FLAC__StreamMetadata *object, unsigned new_num_comments)
{
FLAC__ASSERT(0 != object);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
@@ -619,8 +617,8 @@
return false;
}
else {
- const unsigned old_size = object->data.vorbis_comment.num_comments * sizeof(FLAC__StreamMetaData_VorbisComment_Entry);
- const unsigned new_size = new_num_comments * sizeof(FLAC__StreamMetaData_VorbisComment_Entry);
+ const unsigned old_size = object->data.vorbis_comment.num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry);
+ const unsigned new_size = new_num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry);
FLAC__ASSERT(object->data.vorbis_comment.num_comments > 0);
@@ -650,14 +648,14 @@
return true;
}
-FLAC__bool FLAC__metadata_object_vorbiscomment_set_comment(FLAC__StreamMetaData *object, unsigned comment_num, FLAC__StreamMetaData_VorbisComment_Entry entry, FLAC__bool copy)
+FLAC__bool FLAC__metadata_object_vorbiscomment_set_comment(FLAC__StreamMetadata *object, unsigned comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
{
return vorbiscomment_set_entry_(object, &object->data.vorbis_comment.comments[comment_num], &entry, copy);
}
-FLAC__bool FLAC__metadata_object_vorbiscomment_insert_comment(FLAC__StreamMetaData *object, unsigned comment_num, FLAC__StreamMetaData_VorbisComment_Entry entry, FLAC__bool copy)
+FLAC__bool FLAC__metadata_object_vorbiscomment_insert_comment(FLAC__StreamMetadata *object, unsigned comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
{
- FLAC__StreamMetaData_VorbisComment *vc;
+ FLAC__StreamMetadata_VorbisComment *vc;
FLAC__ASSERT(0 != object);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
@@ -669,16 +667,16 @@
return false;
/* move all comments >= comment_num forward one space */
- memmove(&vc->comments[comment_num+1], &vc->comments[comment_num], sizeof(FLAC__StreamMetaData_VorbisComment_Entry)*(vc->num_comments-1-comment_num));
+ memmove(&vc->comments[comment_num+1], &vc->comments[comment_num], sizeof(FLAC__StreamMetadata_VorbisComment_Entry)*(vc->num_comments-1-comment_num));
vc->comments[comment_num].length = 0;
vc->comments[comment_num].entry = 0;
return FLAC__metadata_object_vorbiscomment_set_comment(object, comment_num, entry, copy);
}
-FLAC__bool FLAC__metadata_object_vorbiscomment_delete_comment(FLAC__StreamMetaData *object, unsigned comment_num)
+FLAC__bool FLAC__metadata_object_vorbiscomment_delete_comment(FLAC__StreamMetadata *object, unsigned comment_num)
{
- FLAC__StreamMetaData_VorbisComment *vc;
+ FLAC__StreamMetadata_VorbisComment *vc;
FLAC__ASSERT(0 != object);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
@@ -691,7 +689,7 @@
free(vc->comments[comment_num].entry);
/* move all comments > comment_num backward one space */
- memmove(&vc->comments[comment_num], &vc->comments[comment_num+1], sizeof(FLAC__StreamMetaData_VorbisComment_Entry)*(vc->num_comments-comment_num-1));
+ memmove(&vc->comments[comment_num], &vc->comments[comment_num+1], sizeof(FLAC__StreamMetadata_VorbisComment_Entry)*(vc->num_comments-comment_num-1));
vc->comments[vc->num_comments-1].length = 0;
vc->comments[vc->num_comments-1].entry = 0;
diff --git a/src/libFLAC/seekable_stream_decoder.c b/src/libFLAC/seekable_stream_decoder.c
index 9104e45..0414ff5 100644
--- a/src/libFLAC/seekable_stream_decoder.c
+++ b/src/libFLAC/seekable_stream_decoder.c
@@ -34,7 +34,7 @@
static void seekable_stream_decoder_set_defaults_(FLAC__SeekableStreamDecoder *decoder);
static FLAC__StreamDecoderReadStatus read_callback_(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data);
static FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data);
-static void metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data);
+static void metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
static void error_callback_(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
static FLAC__bool seek_to_absolute_sample_(FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 stream_length, FLAC__uint64 target_sample);
@@ -51,7 +51,7 @@
FLAC__SeekableStreamDecoderLengthStatus (*length_callback)(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data);
FLAC__bool (*eof_callback)(const FLAC__SeekableStreamDecoder *decoder, void *client_data);
FLAC__StreamDecoderWriteStatus (*write_callback)(const FLAC__SeekableStreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data);
- void (*metadata_callback)(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data);
+ void (*metadata_callback)(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
void (*error_callback)(const FLAC__SeekableStreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
void *client_data;
FLAC__StreamDecoder *stream_decoder;
@@ -59,8 +59,8 @@
FLAC__byte stored_md5sum[16]; /* this is what is stored in the metadata */
FLAC__byte computed_md5sum[16]; /* this is the sum we computed from the decoded data */
/* the rest of these are only used for seeking: */
- FLAC__StreamMetaData_StreamInfo stream_info; /* we keep this around so we can figure out how to seek quickly */
- const FLAC__StreamMetaData_SeekTable *seek_table; /* we hold a pointer to the stream decoder's seek table for the same reason */
+ FLAC__StreamMetadata_StreamInfo stream_info; /* we keep this around so we can figure out how to seek quickly */
+ const FLAC__StreamMetadata_SeekTable *seek_table; /* we hold a pointer to the stream decoder's seek table for the same reason */
FLAC__Frame last_frame; /* holds the info of the last frame we seeked to */
FLAC__uint64 target_sample;
} FLAC__SeekableStreamDecoderPrivate;
@@ -313,7 +313,7 @@
return true;
}
-FLAC__bool FLAC__seekable_stream_decoder_set_metadata_callback(FLAC__SeekableStreamDecoder *decoder, void (*value)(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data))
+FLAC__bool FLAC__seekable_stream_decoder_set_metadata_callback(FLAC__SeekableStreamDecoder *decoder, void (*value)(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data))
{
FLAC__ASSERT(decoder != 0);
FLAC__ASSERT(decoder->private_ != 0);
@@ -346,7 +346,7 @@
return true;
}
-FLAC__bool FLAC__seekable_stream_decoder_set_metadata_respond(FLAC__SeekableStreamDecoder *decoder, FLAC__MetaDataType type)
+FLAC__bool FLAC__seekable_stream_decoder_set_metadata_respond(FLAC__SeekableStreamDecoder *decoder, FLAC__MetadataType type)
{
FLAC__ASSERT(decoder != 0);
FLAC__ASSERT(decoder->private_ != 0);
@@ -379,7 +379,7 @@
return FLAC__stream_decoder_set_metadata_respond_all(decoder->private_->stream_decoder);
}
-FLAC__bool FLAC__seekable_stream_decoder_set_metadata_ignore(FLAC__SeekableStreamDecoder *decoder, FLAC__MetaDataType type)
+FLAC__bool FLAC__seekable_stream_decoder_set_metadata_ignore(FLAC__SeekableStreamDecoder *decoder, FLAC__MetadataType type)
{
FLAC__ASSERT(decoder != 0);
FLAC__ASSERT(decoder->private_ != 0);
@@ -716,7 +716,7 @@
}
}
-void metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data)
+void metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
FLAC__SeekableStreamDecoder *seekable_stream_decoder = (FLAC__SeekableStreamDecoder *)client_data;
(void)decoder;
diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c
index 924c251..6bac159 100644
--- a/src/libFLAC/stream_decoder.c
+++ b/src/libFLAC/stream_decoder.c
@@ -69,7 +69,7 @@
typedef struct FLAC__StreamDecoderPrivate {
FLAC__StreamDecoderReadStatus (*read_callback)(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data);
FLAC__StreamDecoderWriteStatus (*write_callback)(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data);
- void (*metadata_callback)(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data);
+ void (*metadata_callback)(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
void (*error_callback)(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
void (*local_lpc_restore_signal)(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
void (*local_lpc_restore_signal_16bit)(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
@@ -81,8 +81,8 @@
FLAC__uint32 last_frame_number;
FLAC__uint64 samples_decoded;
FLAC__bool has_stream_info, has_seek_table;
- FLAC__StreamMetaData stream_info;
- FLAC__StreamMetaData seek_table;
+ FLAC__StreamMetadata stream_info;
+ FLAC__StreamMetadata seek_table;
FLAC__bool metadata_filter[FLAC__METADATA_TYPE_VORBIS_COMMENT+1];
FLAC__byte *metadata_filter_ids;
unsigned metadata_filter_ids_count, metadata_filter_ids_capacity; /* units for both are IDs, not bytes */
@@ -313,7 +313,7 @@
return true;
}
-FLAC__bool FLAC__stream_decoder_set_metadata_callback(FLAC__StreamDecoder *decoder, void (*value)(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data))
+FLAC__bool FLAC__stream_decoder_set_metadata_callback(FLAC__StreamDecoder *decoder, void (*value)(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data))
{
FLAC__ASSERT(decoder != 0);
FLAC__ASSERT(decoder->private_ != 0);
@@ -346,7 +346,7 @@
return true;
}
-FLAC__bool FLAC__stream_decoder_set_metadata_respond(FLAC__StreamDecoder *decoder, FLAC__MetaDataType type)
+FLAC__bool FLAC__stream_decoder_set_metadata_respond(FLAC__StreamDecoder *decoder, FLAC__MetadataType type)
{
FLAC__ASSERT(decoder != 0);
FLAC__ASSERT(decoder->private_ != 0);
@@ -399,7 +399,7 @@
return true;
}
-FLAC__bool FLAC__stream_decoder_set_metadata_ignore(FLAC__StreamDecoder *decoder, FLAC__MetaDataType type)
+FLAC__bool FLAC__stream_decoder_set_metadata_ignore(FLAC__StreamDecoder *decoder, FLAC__MetadataType type)
{
FLAC__ASSERT(decoder != 0);
FLAC__ASSERT(decoder->private_ != 0);
@@ -888,7 +888,7 @@
decoder->private_->seek_table.data.seek_table.num_points = length / FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
- if(0 == (decoder->private_->seek_table.data.seek_table.points = (FLAC__StreamMetaData_SeekPoint*)malloc(decoder->private_->seek_table.data.seek_table.num_points * sizeof(FLAC__StreamMetaData_SeekPoint)))) {
+ if(0 == (decoder->private_->seek_table.data.seek_table.points = (FLAC__StreamMetadata_SeekPoint*)malloc(decoder->private_->seek_table.data.seek_table.num_points * sizeof(FLAC__StreamMetadata_SeekPoint)))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
return false;
}
@@ -920,7 +920,7 @@
else {
FLAC__bool skip_it = !decoder->private_->metadata_filter[type];
unsigned real_length = length;
- FLAC__StreamMetaData block;
+ FLAC__StreamMetadata block;
block.is_last = last_block;
block.type = type;
@@ -983,7 +983,7 @@
/* read comments */
if(block.data.vorbis_comment.num_comments > 0) {
- if(0 == (block.data.vorbis_comment.comments = malloc(block.data.vorbis_comment.num_comments * sizeof(FLAC__StreamMetaData_VorbisComment_Entry)))) {
+ if(0 == (block.data.vorbis_comment.comments = malloc(block.data.vorbis_comment.num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry)))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
return false;
}
diff --git a/src/libFLAC/stream_encoder.c b/src/libFLAC/stream_encoder.c
index 4c20b6c..aa01b4a 100644
--- a/src/libFLAC/stream_encoder.c
+++ b/src/libFLAC/stream_encoder.c
@@ -102,7 +102,7 @@
unsigned loose_mid_side_stereo_frames; /* rounded number of frames the encoder will use before trying both independent and mid/side frames again */
unsigned loose_mid_side_stereo_frame_count; /* number of frames using the current channel assignment */
FLAC__ChannelAssignment last_channel_assignment;
- FLAC__StreamMetaData metadata;
+ FLAC__StreamMetadata metadata;
unsigned current_sample_number;
unsigned current_frame_number;
struct MD5Context md5context;
@@ -116,7 +116,7 @@
FLAC__bool use_wide_by_order; /* use slow 64-bit versions of some functions because of the lpc order */
FLAC__bool precompute_partition_sums; /* our initial guess as to whether precomputing the partitions sums will be a speed improvement */
FLAC__StreamEncoderWriteStatus (*write_callback)(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], unsigned bytes, unsigned samples, unsigned current_frame, void *client_data);
- void (*metadata_callback)(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetaData *metadata, void *client_data);
+ void (*metadata_callback)(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetadata *metadata, void *client_data);
void *client_data;
/* unaligned (original) pointers to allocated data */
FLAC__int32 *integer_signal_unaligned[FLAC__MAX_CHANNELS];
@@ -686,7 +686,7 @@
return true;
}
-FLAC__bool FLAC__stream_encoder_set_metadata(FLAC__StreamEncoder *encoder, FLAC__StreamMetaData **metadata, unsigned num_blocks)
+FLAC__bool FLAC__stream_encoder_set_metadata(FLAC__StreamEncoder *encoder, FLAC__StreamMetadata **metadata, unsigned num_blocks)
{
if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
return false;
@@ -703,7 +703,7 @@
return true;
}
-FLAC__bool FLAC__stream_encoder_set_metadata_callback(FLAC__StreamEncoder *encoder, void (*value)(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetaData *metadata, void *client_data))
+FLAC__bool FLAC__stream_encoder_set_metadata_callback(FLAC__StreamEncoder *encoder, void (*value)(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetadata *metadata, void *client_data))
{
if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
return false;
diff --git a/src/libFLAC/stream_encoder_framing.c b/src/libFLAC/stream_encoder_framing.c
index c884d8a..e3e3e5a 100644
--- a/src/libFLAC/stream_encoder_framing.c
+++ b/src/libFLAC/stream_encoder_framing.c
@@ -30,7 +30,7 @@
static FLAC__bool subframe_add_entropy_coding_method_(FLAC__BitBuffer *bb, const FLAC__EntropyCodingMethod *method);
static FLAC__bool subframe_add_residual_partitioned_rice_(FLAC__BitBuffer *bb, const FLAC__int32 residual[], const unsigned residual_samples, const unsigned predictor_order, const unsigned rice_parameters[], const unsigned raw_bits[], const unsigned partition_order);
-FLAC__bool FLAC__add_metadata_block(const FLAC__StreamMetaData *metadata, FLAC__BitBuffer *bb)
+FLAC__bool FLAC__add_metadata_block(const FLAC__StreamMetadata *metadata, FLAC__BitBuffer *bb)
{
unsigned i;
diff --git a/src/metaflac/Makefile.vc b/src/metaflac/Makefile.vc
index f725671..7067bfc 100644
--- a/src/metaflac/Makefile.vc
+++ b/src/metaflac/Makefile.vc
@@ -19,10 +19,10 @@
!IFDEF DEBUG
.c.obj:
- $(cc) $(cdebug) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3\" -YX /Od /D "_DEBUG" $<
+ $(cc) $(cdebug) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3_beta\" -YX /Od /D "_DEBUG" $<
!else
.c.obj:
- $(cc) /O2 $(crelease) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3\" -YX -DNODEBUG $<
+ $(cc) /O2 $(crelease) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3_beta\" -YX -DNODEBUG $<
!endif
C_FILES= \
diff --git a/src/metaflac/main.c b/src/metaflac/main.c
index e0b4f50..44951a2 100644
--- a/src/metaflac/main.c
+++ b/src/metaflac/main.c
@@ -135,7 +135,7 @@
} Argument_BlockNumber;
typedef struct {
- FLAC__MetaDataType type;
+ FLAC__MetadataType type;
char application_id[4]; /* only relevant if type == FLAC__STREAM_METADATA_TYPE_APPLICATION */
FLAC__bool filter_application_by_id;
} Argument_BlockTypeEntry;
@@ -226,25 +226,25 @@
static FLAC__bool do_operations(const CommandLineOptions *options);
static FLAC__bool do_major_operation(const CommandLineOptions *options);
static FLAC__bool do_major_operation_on_file(const char *filename, const CommandLineOptions *options);
-static FLAC__bool do_major_operation__list(const char *filename, FLAC__MetaData_Chain *chain, const CommandLineOptions *options);
-static FLAC__bool do_major_operation__append(FLAC__MetaData_Chain *chain, const CommandLineOptions *options);
-static FLAC__bool do_major_operation__remove(FLAC__MetaData_Chain *chain, const CommandLineOptions *options);
-static FLAC__bool do_major_operation__remove_all(FLAC__MetaData_Chain *chain, const CommandLineOptions *options);
+static FLAC__bool do_major_operation__list(const char *filename, FLAC__Metadata_Chain *chain, const CommandLineOptions *options);
+static FLAC__bool do_major_operation__append(FLAC__Metadata_Chain *chain, const CommandLineOptions *options);
+static FLAC__bool do_major_operation__remove(FLAC__Metadata_Chain *chain, const CommandLineOptions *options);
+static FLAC__bool do_major_operation__remove_all(FLAC__Metadata_Chain *chain, const CommandLineOptions *options);
static FLAC__bool do_shorthand_operations(const CommandLineOptions *options);
static FLAC__bool do_shorthand_operations_on_file(const char *fielname, const CommandLineOptions *options);
-static FLAC__bool do_shorthand_operation(const char *filename, FLAC__MetaData_Chain *chain, const Operation *operation, FLAC__bool *needs_write);
-static FLAC__bool do_shorthand_operation__add_padding(FLAC__MetaData_Chain *chain, unsigned length, FLAC__bool *needs_write);
-static FLAC__bool do_shorthand_operation__streaminfo(const char *filename, FLAC__MetaData_Chain *chain, OperationType op);
-static FLAC__bool do_shorthand_operation__vorbis_comment(const char *filename, FLAC__MetaData_Chain *chain, const Operation *operation, FLAC__bool *needs_write);
-static FLAC__bool passes_filter(const CommandLineOptions *options, const FLAC__StreamMetaData *block, unsigned block_number);
-static void write_metadata(const char *filename, FLAC__StreamMetaData *block, unsigned block_number, FLAC__bool hexdump_application);
-static void write_vc_field(const char *filename, const FLAC__StreamMetaData_VorbisComment_Entry *entry);
-static void write_vc_fields(const char *filename, const char *field_name, const FLAC__StreamMetaData_VorbisComment_Entry entry[], unsigned num_entries);
-static FLAC__bool remove_vc_all(FLAC__StreamMetaData *block, FLAC__bool *needs_write);
-static FLAC__bool remove_vc_field(FLAC__StreamMetaData *block, const char *field_name, FLAC__bool *needs_write);
-static FLAC__bool remove_vc_firstfield(FLAC__StreamMetaData *block, const char *field_name, FLAC__bool *needs_write);
-static FLAC__bool set_vc_field(FLAC__StreamMetaData *block, const Argument_VcField *field, FLAC__bool *needs_write);
-static FLAC__bool field_name_matches_entry(const char *field_name, unsigned field_name_length, const FLAC__StreamMetaData_VorbisComment_Entry *entry);
+static FLAC__bool do_shorthand_operation(const char *filename, FLAC__Metadata_Chain *chain, const Operation *operation, FLAC__bool *needs_write);
+static FLAC__bool do_shorthand_operation__add_padding(FLAC__Metadata_Chain *chain, unsigned length, FLAC__bool *needs_write);
+static FLAC__bool do_shorthand_operation__streaminfo(const char *filename, FLAC__Metadata_Chain *chain, OperationType op);
+static FLAC__bool do_shorthand_operation__vorbis_comment(const char *filename, FLAC__Metadata_Chain *chain, const Operation *operation, FLAC__bool *needs_write);
+static FLAC__bool passes_filter(const CommandLineOptions *options, const FLAC__StreamMetadata *block, unsigned block_number);
+static void write_metadata(const char *filename, FLAC__StreamMetadata *block, unsigned block_number, FLAC__bool hexdump_application);
+static void write_vc_field(const char *filename, const FLAC__StreamMetadata_VorbisComment_Entry *entry);
+static void write_vc_fields(const char *filename, const char *field_name, const FLAC__StreamMetadata_VorbisComment_Entry entry[], unsigned num_entries);
+static FLAC__bool remove_vc_all(FLAC__StreamMetadata *block, FLAC__bool *needs_write);
+static FLAC__bool remove_vc_field(FLAC__StreamMetadata *block, const char *field_name, FLAC__bool *needs_write);
+static FLAC__bool remove_vc_firstfield(FLAC__StreamMetadata *block, const char *field_name, FLAC__bool *needs_write);
+static FLAC__bool set_vc_field(FLAC__StreamMetadata *block, const Argument_VcField *field, FLAC__bool *needs_write);
+static FLAC__bool field_name_matches_entry(const char *field_name, unsigned field_name_length, const FLAC__StreamMetadata_VorbisComment_Entry *entry);
static void hexdump(const char *filename, const FLAC__byte *buf, unsigned bytes, const char *indent);
int main(int argc, char *argv[])
@@ -1056,13 +1056,13 @@
FLAC__bool do_major_operation_on_file(const char *filename, const CommandLineOptions *options)
{
FLAC__bool ok = true, needs_write = false;
- FLAC__MetaData_Chain *chain = FLAC__metadata_chain_new();
+ FLAC__Metadata_Chain *chain = FLAC__metadata_chain_new();
if(0 == chain)
die("out of memory allocating chain");
if(!FLAC__metadata_chain_read(chain, filename)) {
- fprintf(stderr, "ERROR: reading metadata, status = \"%s\"\n", FLAC__MetaData_ChainStatusString[FLAC__metadata_chain_status(chain)]);
+ fprintf(stderr, "ERROR: reading metadata, status = \"%s\"\n", FLAC__Metadata_ChainStatusString[FLAC__metadata_chain_status(chain)]);
return false;
}
@@ -1100,7 +1100,7 @@
FLAC__metadata_chain_sort_padding(chain);
ok = FLAC__metadata_chain_write(chain, options->use_padding, options->preserve_modtime);
if(!ok)
- fprintf(stderr, "ERROR: writing FLAC file %s, error = %s\n", filename, FLAC__MetaData_ChainStatusString[FLAC__metadata_chain_status(chain)]);
+ fprintf(stderr, "ERROR: writing FLAC file %s, error = %s\n", filename, FLAC__Metadata_ChainStatusString[FLAC__metadata_chain_status(chain)]);
}
FLAC__metadata_chain_delete(chain);
@@ -1108,10 +1108,10 @@
return ok;
}
-FLAC__bool do_major_operation__list(const char *filename, FLAC__MetaData_Chain *chain, const CommandLineOptions *options)
+FLAC__bool do_major_operation__list(const char *filename, FLAC__Metadata_Chain *chain, const CommandLineOptions *options)
{
- FLAC__MetaData_Iterator *iterator = FLAC__metadata_iterator_new();
- FLAC__StreamMetaData *block;
+ FLAC__Metadata_Iterator *iterator = FLAC__metadata_iterator_new();
+ FLAC__StreamMetadata *block;
FLAC__bool ok = true;
unsigned block_number;
@@ -1136,16 +1136,16 @@
return ok;
}
-FLAC__bool do_major_operation__append(FLAC__MetaData_Chain *chain, const CommandLineOptions *options)
+FLAC__bool do_major_operation__append(FLAC__Metadata_Chain *chain, const CommandLineOptions *options)
{
(void) chain, (void) options;
fprintf(stderr, "ERROR: --append not implemented yet\n"); /*@@@*/
return false;
}
-FLAC__bool do_major_operation__remove(FLAC__MetaData_Chain *chain, const CommandLineOptions *options)
+FLAC__bool do_major_operation__remove(FLAC__Metadata_Chain *chain, const CommandLineOptions *options)
{
- FLAC__MetaData_Iterator *iterator = FLAC__metadata_iterator_new();
+ FLAC__Metadata_Iterator *iterator = FLAC__metadata_iterator_new();
FLAC__bool ok = true;
unsigned block_number;
@@ -1166,9 +1166,9 @@
return ok;
}
-FLAC__bool do_major_operation__remove_all(FLAC__MetaData_Chain *chain, const CommandLineOptions *options)
+FLAC__bool do_major_operation__remove_all(FLAC__Metadata_Chain *chain, const CommandLineOptions *options)
{
- FLAC__MetaData_Iterator *iterator = FLAC__metadata_iterator_new();
+ FLAC__Metadata_Iterator *iterator = FLAC__metadata_iterator_new();
FLAC__bool ok = true;
if(0 == iterator)
@@ -1200,13 +1200,13 @@
{
unsigned i;
FLAC__bool ok = true, needs_write = false;
- FLAC__MetaData_Chain *chain = FLAC__metadata_chain_new();
+ FLAC__Metadata_Chain *chain = FLAC__metadata_chain_new();
if(0 == chain)
die("out of memory allocating chain");
if(!FLAC__metadata_chain_read(chain, filename)) {
- fprintf(stderr, "ERROR: reading metadata, status = \"%s\"\n", FLAC__MetaData_ChainStatusString[FLAC__metadata_chain_status(chain)]);
+ fprintf(stderr, "ERROR: reading metadata, status = \"%s\"\n", FLAC__Metadata_ChainStatusString[FLAC__metadata_chain_status(chain)]);
return false;
}
@@ -1218,7 +1218,7 @@
FLAC__metadata_chain_sort_padding(chain);
ok = FLAC__metadata_chain_write(chain, options->use_padding, options->preserve_modtime);
if(!ok)
- fprintf(stderr, "ERROR: writing FLAC file %s, error = %s\n", filename, FLAC__MetaData_ChainStatusString[FLAC__metadata_chain_status(chain)]);
+ fprintf(stderr, "ERROR: writing FLAC file %s, error = %s\n", filename, FLAC__Metadata_ChainStatusString[FLAC__metadata_chain_status(chain)]);
}
FLAC__metadata_chain_delete(chain);
@@ -1226,7 +1226,7 @@
return ok;
}
-FLAC__bool do_shorthand_operation(const char *filename, FLAC__MetaData_Chain *chain, const Operation *operation, FLAC__bool *needs_write)
+FLAC__bool do_shorthand_operation(const char *filename, FLAC__Metadata_Chain *chain, const Operation *operation, FLAC__bool *needs_write)
{
FLAC__bool ok = true;
@@ -1262,10 +1262,10 @@
return ok;
}
-FLAC__bool do_shorthand_operation__add_padding(FLAC__MetaData_Chain *chain, unsigned length, FLAC__bool *needs_write)
+FLAC__bool do_shorthand_operation__add_padding(FLAC__Metadata_Chain *chain, unsigned length, FLAC__bool *needs_write)
{
- FLAC__StreamMetaData *padding = 0;
- FLAC__MetaData_Iterator *iterator = FLAC__metadata_iterator_new();
+ FLAC__StreamMetadata *padding = 0;
+ FLAC__Metadata_Iterator *iterator = FLAC__metadata_iterator_new();
if(0 == iterator)
die("out of memory allocating iterator");
@@ -1282,7 +1282,7 @@
padding->length = length;
if(!FLAC__metadata_iterator_insert_block_after(iterator, padding)) {
- fprintf(stderr, "ERROR: adding new PADDING block to metadata, status =\"%s\"\n", FLAC__MetaData_ChainStatusString[FLAC__metadata_chain_status(chain)]);
+ fprintf(stderr, "ERROR: adding new PADDING block to metadata, status =\"%s\"\n", FLAC__Metadata_ChainStatusString[FLAC__metadata_chain_status(chain)]);
FLAC__metadata_object_delete(padding);
return false;
}
@@ -1291,12 +1291,12 @@
return true;
}
-FLAC__bool do_shorthand_operation__streaminfo(const char *filename, FLAC__MetaData_Chain *chain, OperationType op)
+FLAC__bool do_shorthand_operation__streaminfo(const char *filename, FLAC__Metadata_Chain *chain, OperationType op)
{
unsigned i;
FLAC__bool ok = true;
- FLAC__StreamMetaData *block;
- FLAC__MetaData_Iterator *iterator = FLAC__metadata_iterator_new();
+ FLAC__StreamMetadata *block;
+ FLAC__Metadata_Iterator *iterator = FLAC__metadata_iterator_new();
if(0 == iterator)
die("out of memory allocating iterator");
@@ -1352,11 +1352,11 @@
return ok;
}
-FLAC__bool do_shorthand_operation__vorbis_comment(const char *filename, FLAC__MetaData_Chain *chain, const Operation *operation, FLAC__bool *needs_write)
+FLAC__bool do_shorthand_operation__vorbis_comment(const char *filename, FLAC__Metadata_Chain *chain, const Operation *operation, FLAC__bool *needs_write)
{
FLAC__bool ok = true, found_vc_block = false;
- FLAC__StreamMetaData *block = 0;
- FLAC__MetaData_Iterator *iterator = FLAC__metadata_iterator_new();
+ FLAC__StreamMetadata *block = 0;
+ FLAC__Metadata_Iterator *iterator = FLAC__metadata_iterator_new();
if(0 == iterator)
die("out of memory allocating iterator");
@@ -1377,7 +1377,7 @@
while(FLAC__metadata_iterator_next(iterator))
;
if(!FLAC__metadata_iterator_insert_block_after(iterator, block)) {
- fprintf(stderr, "ERROR: adding new VORBIS_COMMENT block to metadata, status =\"%s\"\n", FLAC__MetaData_ChainStatusString[FLAC__metadata_chain_status(chain)]);
+ fprintf(stderr, "ERROR: adding new VORBIS_COMMENT block to metadata, status =\"%s\"\n", FLAC__Metadata_ChainStatusString[FLAC__metadata_chain_status(chain)]);
return false;
}
/* iterator is left pointing to new block */
@@ -1415,7 +1415,7 @@
return ok;
}
-FLAC__bool passes_filter(const CommandLineOptions *options, const FLAC__StreamMetaData *block, unsigned block_number)
+FLAC__bool passes_filter(const CommandLineOptions *options, const FLAC__StreamMetadata *block, unsigned block_number)
{
unsigned i, j;
FLAC__bool matches_number = false, matches_type = false;
@@ -1453,14 +1453,14 @@
return matches_number && matches_type;
}
-void write_metadata(const char *filename, FLAC__StreamMetaData *block, unsigned block_number, FLAC__bool hexdump_application)
+void write_metadata(const char *filename, FLAC__StreamMetadata *block, unsigned block_number, FLAC__bool hexdump_application)
{
unsigned i;
/*@@@ yuck, should do this with a varargs function or something: */
#define PPR if(filename)printf("%s:",filename);
PPR; printf("METADATA block #%u\n", block_number);
- PPR; printf(" type: %u (%s)\n", (unsigned)block->type, block->type<=FLAC__METADATA_TYPE_VORBIS_COMMENT? FLAC__MetaDataTypeString[block->type] : "UNKNOWN");
+ PPR; printf(" type: %u (%s)\n", (unsigned)block->type, block->type<=FLAC__METADATA_TYPE_VORBIS_COMMENT? FLAC__MetadataTypeString[block->type] : "UNKNOWN");
PPR; printf(" is last: %s\n", block->is_last? "true":"false");
PPR; printf(" length: %u\n", block->length);
@@ -1521,7 +1521,7 @@
#undef PPR
}
-void write_vc_field(const char *filename, const FLAC__StreamMetaData_VorbisComment_Entry *entry)
+void write_vc_field(const char *filename, const FLAC__StreamMetadata_VorbisComment_Entry *entry)
{
if(filename)
printf("%s:", filename);
@@ -1529,7 +1529,7 @@
printf("\n");
}
-void write_vc_fields(const char *filename, const char *field_name, const FLAC__StreamMetaData_VorbisComment_Entry entry[], unsigned num_entries)
+void write_vc_fields(const char *filename, const char *field_name, const FLAC__StreamMetadata_VorbisComment_Entry entry[], unsigned num_entries)
{
unsigned i;
const unsigned field_name_length = strlen(field_name);
@@ -1540,7 +1540,7 @@
}
}
-FLAC__bool remove_vc_all(FLAC__StreamMetaData *block, FLAC__bool *needs_write)
+FLAC__bool remove_vc_all(FLAC__StreamMetadata *block, FLAC__bool *needs_write)
{
FLAC__ASSERT(0 != block);
FLAC__ASSERT(block->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
@@ -1559,7 +1559,7 @@
return true;
}
-FLAC__bool remove_vc_field(FLAC__StreamMetaData *block, const char *field_name, FLAC__bool *needs_write)
+FLAC__bool remove_vc_field(FLAC__StreamMetadata *block, const char *field_name, FLAC__bool *needs_write)
{
FLAC__bool ok = true;
const unsigned field_name_length = strlen(field_name);
@@ -1581,7 +1581,7 @@
return ok;
}
-FLAC__bool remove_vc_firstfield(FLAC__StreamMetaData *block, const char *field_name, FLAC__bool *needs_write)
+FLAC__bool remove_vc_firstfield(FLAC__StreamMetadata *block, const char *field_name, FLAC__bool *needs_write)
{
const unsigned field_name_length = strlen(field_name);
unsigned i;
@@ -1603,9 +1603,9 @@
return true;
}
-FLAC__bool set_vc_field(FLAC__StreamMetaData *block, const Argument_VcField *field, FLAC__bool *needs_write)
+FLAC__bool set_vc_field(FLAC__StreamMetadata *block, const Argument_VcField *field, FLAC__bool *needs_write)
{
- FLAC__StreamMetaData_VorbisComment_Entry entry;
+ FLAC__StreamMetadata_VorbisComment_Entry entry;
FLAC__ASSERT(0 != block);
FLAC__ASSERT(block->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
FLAC__ASSERT(0 != field);
@@ -1623,7 +1623,7 @@
}
}
-FLAC__bool field_name_matches_entry(const char *field_name, unsigned field_name_length, const FLAC__StreamMetaData_VorbisComment_Entry *entry)
+FLAC__bool field_name_matches_entry(const char *field_name, unsigned field_name_length, const FLAC__StreamMetadata_VorbisComment_Entry *entry)
{
return (0 != memchr(entry->entry, '=', entry->length) && 0 == strncmp(field_name, entry->entry, field_name_length));
}
diff --git a/src/plugin_winamp2/Makefile.vc b/src/plugin_winamp2/Makefile.vc
index 2f0f104..8bd2d3e 100644
--- a/src/plugin_winamp2/Makefile.vc
+++ b/src/plugin_winamp2/Makefile.vc
@@ -19,10 +19,10 @@
!IFDEF DEBUG
.c.obj:
- $(cc) /GX $(cdebug) $(cflags) $(cvarsdll) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3\" -YX /Od /D "_DEBUG" $<
+ $(cc) /GX $(cdebug) $(cflags) $(cvarsdll) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3_beta\" -YX /Od /D "_DEBUG" $<
!else
.c.obj:
- $(cc) /O2 $(crelease) $(cflags) $(cvarsdll) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3\" -YX -DNODEBUG $<
+ $(cc) /O2 $(crelease) $(cflags) $(cvarsdll) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3_beta\" -YX -DNODEBUG $<
!endif
C_FILES= \
diff --git a/src/plugin_winamp2/in_flac.c b/src/plugin_winamp2/in_flac.c
index a87fe82..10d944e 100644
--- a/src/plugin_winamp2/in_flac.c
+++ b/src/plugin_winamp2/in_flac.c
@@ -58,7 +58,7 @@
static void safe_decoder_finish_(FLAC__FileDecoder *decoder);
static void safe_decoder_delete_(FLAC__FileDecoder *decoder);
static FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__FileDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *buffer[], void *client_data);
-static void metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data);
+static void metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
static void error_callback_(const FLAC__FileDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
static FLAC__bool get_id3v1_tag_(const char *filename, id3v1_struct *tag);
@@ -211,7 +211,7 @@
void getfileinfo(char *filename, char *title, int *length_in_ms)
{
id3v1_struct tag;
- FLAC__StreamMetaData_StreamInfo streaminfo;
+ FLAC__StreamMetadata_StreamInfo streaminfo;
if(0 == filename) {
filename = lastfn_;
@@ -427,7 +427,7 @@
return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
}
-void metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data)
+void metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
file_info_struct *file_info_ = (file_info_struct *)client_data;
(void)decoder;
diff --git a/src/plugin_winamp3/flacpcm.cpp b/src/plugin_winamp3/flacpcm.cpp
index 612eab4..d2eeaae 100644
--- a/src/plugin_winamp3/flacpcm.cpp
+++ b/src/plugin_winamp3/flacpcm.cpp
@@ -274,7 +274,7 @@
return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
}
-void FlacPcm::metadataCallback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data)
+void FlacPcm::metadataCallback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
FlacPcm *instance = (FlacPcm*)client_data;
(void)decoder;
diff --git a/src/plugin_winamp3/flacpcm.h b/src/plugin_winamp3/flacpcm.h
index 43f7b1f..c6c17a9 100644
--- a/src/plugin_winamp3/flacpcm.h
+++ b/src/plugin_winamp3/flacpcm.h
@@ -88,7 +88,7 @@
bool abort_flag;
svc_fileReader *reader;
FLAC__SeekableStreamDecoder *decoder;
- FLAC__StreamMetaData_StreamInfo stream_info;
+ FLAC__StreamMetadata_StreamInfo stream_info;
FLAC__int16 reservoir[FLAC__MAX_BLOCK_SIZE * 2 * 2]; // *2 for max channels, another *2 for overflow
unsigned char output[576 * 2 * (16/8)]; // *2 for max channels, (16/8) for max bytes per sample
@@ -101,7 +101,7 @@
static FLAC__SeekableStreamDecoderLengthStatus lengthCallback_(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data);
static FLAC__bool eofCallback_(const FLAC__SeekableStreamDecoder *decoder, void *client_data);
static FLAC__StreamDecoderWriteStatus writeCallback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *buffer[], void *client_data);
- static void metadataCallback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data);
+ static void metadataCallback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
static void errorCallback_(const FLAC__SeekableStreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
};
#endif
diff --git a/src/plugin_xmms/plugin.c b/src/plugin_xmms/plugin.c
index 1e1cdff..c3eb533 100644
--- a/src/plugin_xmms/plugin.c
+++ b/src/plugin_xmms/plugin.c
@@ -73,7 +73,7 @@
static FLAC__bool safe_decoder_finish_(FLAC__FileDecoder *decoder);
static FLAC__bool safe_decoder_delete_(FLAC__FileDecoder *decoder);
static FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__FileDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *buffer[], void *client_data);
-static void metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data);
+static void metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
static void error_callback_(const FLAC__FileDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
@@ -220,7 +220,7 @@
void FLAC_XMMS__get_song_info(char *filename, char **title, int *length_in_msec)
{
id3v1_struct tag;
- FLAC__StreamMetaData_StreamInfo streaminfo;
+ FLAC__StreamMetadata_StreamInfo streaminfo;
if(0 == filename)
filename = "";
@@ -427,7 +427,7 @@
return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
}
-void metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data)
+void metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
file_info_struct *file_info = (file_info_struct *)client_data;
(void)decoder;
diff --git a/src/test_libFLAC++/Makefile.vc b/src/test_libFLAC++/Makefile.vc
index 5af32f8..96ede9c 100644
--- a/src/test_libFLAC++/Makefile.vc
+++ b/src/test_libFLAC++/Makefile.vc
@@ -21,10 +21,10 @@
!IFDEF DEBUG
.c.obj:
- $(cc) $(cdebug) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3\" -YX /Od /D "_DEBUG" $<
+ $(cc) $(cdebug) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3_beta\" -YX /Od /D "_DEBUG" $<
!else
.c.obj:
- $(cc) /O2 $(crelease) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3\" -YX -DNODEBUG $<
+ $(cc) /O2 $(crelease) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3_beta\" -YX -DNODEBUG $<
!endif
!IFDEF DEBUG
diff --git a/src/test_libFLAC++/decoders.cc b/src/test_libFLAC++/decoders.cc
index d592bd2..6c39a8d 100644
--- a/src/test_libFLAC++/decoders.cc
+++ b/src/test_libFLAC++/decoders.cc
@@ -28,8 +28,8 @@
#include <stdlib.h>
#include <string.h>
-static ::FLAC__StreamMetaData streaminfo_, padding_, seektable_, application1_, application2_, vorbiscomment_;
-static ::FLAC__StreamMetaData *expected_metadata_sequence_[6];
+static ::FLAC__StreamMetadata streaminfo_, padding_, seektable_, application1_, application2_, vorbiscomment_;
+static ::FLAC__StreamMetadata *expected_metadata_sequence_[6];
static unsigned num_expected_;
static const char *flacfilename_ = "metadata.flac";
static unsigned flacfilesize_;
@@ -82,7 +82,7 @@
seektable_.type = ::FLAC__METADATA_TYPE_SEEKTABLE;
seektable_.data.seek_table.num_points = 2;
seektable_.length = seektable_.data.seek_table.num_points * FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
- seektable_.data.seek_table.points = (::FLAC__StreamMetaData_SeekPoint*)malloc_or_die_(seektable_.data.seek_table.num_points * sizeof(::FLAC__StreamMetaData_SeekPoint));
+ seektable_.data.seek_table.points = (::FLAC__StreamMetadata_SeekPoint*)malloc_or_die_(seektable_.data.seek_table.num_points * sizeof(::FLAC__StreamMetadata_SeekPoint));
seektable_.data.seek_table.points[0].sample_number = 0;
seektable_.data.seek_table.points[0].stream_offset = 0;
seektable_.data.seek_table.points[0].frame_samples = streaminfo_.data.stream_info.min_blocksize;
@@ -110,7 +110,7 @@
vorbiscomment_.data.vorbis_comment.vendor_string.entry = (FLAC__byte*)malloc_or_die_(8);
memcpy(vorbiscomment_.data.vorbis_comment.vendor_string.entry, "flac 1.x", 8);
vorbiscomment_.data.vorbis_comment.num_comments = 2;
- vorbiscomment_.data.vorbis_comment.comments = (::FLAC__StreamMetaData_VorbisComment_Entry*)malloc_or_die_(vorbiscomment_.data.vorbis_comment.num_comments * sizeof(::FLAC__StreamMetaData_VorbisComment_Entry));
+ vorbiscomment_.data.vorbis_comment.comments = (::FLAC__StreamMetadata_VorbisComment_Entry*)malloc_or_die_(vorbiscomment_.data.vorbis_comment.num_comments * sizeof(::FLAC__StreamMetadata_VorbisComment_Entry));
vorbiscomment_.data.vorbis_comment.comments[0].length = 5;
vorbiscomment_.data.vorbis_comment.comments[0].entry = (FLAC__byte*)malloc_or_die_(5);
memcpy(vorbiscomment_.data.vorbis_comment.comments[0].entry, "ab=cd", 5);
@@ -155,7 +155,7 @@
DecoderCommon(): file_(0), current_metadata_number_(0), ignore_errors_(false), error_occurred_(false) { }
::FLAC__StreamDecoderReadStatus common_read_callback_(FLAC__byte buffer[], unsigned *bytes);
::FLAC__StreamDecoderWriteStatus common_write_callback_(const ::FLAC__Frame *frame);
- void common_metadata_callback_(const ::FLAC__StreamMetaData *metadata);
+ void common_metadata_callback_(const ::FLAC__StreamMetadata *metadata);
void common_error_callback_(::FLAC__StreamDecoderErrorStatus status);
};
@@ -199,7 +199,7 @@
return ::FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
}
-void DecoderCommon::common_metadata_callback_(const ::FLAC__StreamMetaData *metadata)
+void DecoderCommon::common_metadata_callback_(const ::FLAC__StreamMetadata *metadata)
{
if(error_occurred_)
return;
@@ -236,7 +236,7 @@
// from FLAC::Decoder::Stream
::FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], unsigned *bytes);
::FLAC__StreamDecoderWriteStatus write_callback(const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[]);
- void metadata_callback(const ::FLAC__StreamMetaData *metadata);
+ void metadata_callback(const ::FLAC__StreamMetadata *metadata);
void error_callback(::FLAC__StreamDecoderErrorStatus status);
bool die(const char *msg = 0) const;
@@ -256,7 +256,7 @@
return common_write_callback_(frame);
}
-void StreamDecoder::metadata_callback(const ::FLAC__StreamMetaData *metadata)
+void StreamDecoder::metadata_callback(const ::FLAC__StreamMetadata *metadata)
{
return common_metadata_callback_(metadata);
}
@@ -311,7 +311,7 @@
{
StreamDecoder *decoder;
- printf("\n+++ unit test: FLAC::Decoder::Stream\n\n");
+ printf("\n+++ libFLAC++ unit test: FLAC::Decoder::Stream\n\n");
num_expected_ = 0;
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
@@ -803,7 +803,7 @@
::FLAC__SeekableStreamDecoderLengthStatus length_callback(FLAC__uint64 *stream_length);
bool eof_callback();
::FLAC__StreamDecoderWriteStatus write_callback(const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[]);
- void metadata_callback(const ::FLAC__StreamMetaData *metadata);
+ void metadata_callback(const ::FLAC__StreamMetadata *metadata);
void error_callback(::FLAC__StreamDecoderErrorStatus status);
bool die(const char *msg = 0) const;
@@ -878,7 +878,7 @@
return common_write_callback_(frame);
}
-void SeekableStreamDecoder::metadata_callback(const ::FLAC__StreamMetaData *metadata)
+void SeekableStreamDecoder::metadata_callback(const ::FLAC__StreamMetadata *metadata)
{
common_metadata_callback_(metadata);
}
@@ -938,7 +938,7 @@
{
SeekableStreamDecoder *decoder;
- printf("\n+++ unit test: FLAC::Decoder::SeekableStream\n\n");
+ printf("\n+++ libFLAC++ unit test: FLAC::Decoder::SeekableStream\n\n");
num_expected_ = 0;
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
@@ -1444,7 +1444,7 @@
// from FLAC::Decoder::File
::FLAC__StreamDecoderWriteStatus write_callback(const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[]);
- void metadata_callback(const ::FLAC__StreamMetaData *metadata);
+ void metadata_callback(const ::FLAC__StreamMetadata *metadata);
void error_callback(::FLAC__StreamDecoderErrorStatus status);
bool die(const char *msg = 0) const;
@@ -1458,7 +1458,7 @@
return common_write_callback_(frame);
}
-void FileDecoder::metadata_callback(const ::FLAC__StreamMetaData *metadata)
+void FileDecoder::metadata_callback(const ::FLAC__StreamMetadata *metadata)
{
common_metadata_callback_(metadata);
}
@@ -1518,7 +1518,7 @@
{
FileDecoder *decoder;
- printf("\n+++ unit test: FLAC::Decoder::File\n\n");
+ printf("\n+++ libFLAC++ unit test: FLAC::Decoder::File\n\n");
num_expected_ = 0;
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
diff --git a/src/test_libFLAC++/encoders.cc b/src/test_libFLAC++/encoders.cc
index 820a5f4..7b7dc34 100644
--- a/src/test_libFLAC++/encoders.cc
+++ b/src/test_libFLAC++/encoders.cc
@@ -26,8 +26,8 @@
#include <stdlib.h>
#include <string.h>
-static ::FLAC__StreamMetaData streaminfo_, padding_, seektable_, application1_, application2_, vorbiscomment_;
-static ::FLAC__StreamMetaData *metadata_sequence_[] = { &padding_, &seektable_, &application1_, &application2_, &vorbiscomment_ };
+static ::FLAC__StreamMetadata streaminfo_, padding_, seektable_, application1_, application2_, vorbiscomment_;
+static ::FLAC__StreamMetadata *metadata_sequence_[] = { &padding_, &seektable_, &application1_, &application2_, &vorbiscomment_ };
static const unsigned num_metadata_ = 5;
static void *malloc_or_die_(size_t size)
@@ -72,7 +72,7 @@
seektable_.type = ::FLAC__METADATA_TYPE_SEEKTABLE;
seektable_.data.seek_table.num_points = 2;
seektable_.length = seektable_.data.seek_table.num_points * FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
- seektable_.data.seek_table.points = (::FLAC__StreamMetaData_SeekPoint*)malloc_or_die_(seektable_.data.seek_table.num_points * sizeof(::FLAC__StreamMetaData_SeekPoint));
+ seektable_.data.seek_table.points = (::FLAC__StreamMetadata_SeekPoint*)malloc_or_die_(seektable_.data.seek_table.num_points * sizeof(::FLAC__StreamMetadata_SeekPoint));
seektable_.data.seek_table.points[0].sample_number = 0;
seektable_.data.seek_table.points[0].stream_offset = 0;
seektable_.data.seek_table.points[0].frame_samples = streaminfo_.data.stream_info.min_blocksize;
@@ -100,7 +100,7 @@
vorbiscomment_.data.vorbis_comment.vendor_string.entry = (FLAC__byte*)malloc_or_die_(8);
memcpy(vorbiscomment_.data.vorbis_comment.vendor_string.entry, "flac 1.x", 8);
vorbiscomment_.data.vorbis_comment.num_comments = 2;
- vorbiscomment_.data.vorbis_comment.comments = (::FLAC__StreamMetaData_VorbisComment_Entry*)malloc_or_die_(vorbiscomment_.data.vorbis_comment.num_comments * sizeof(::FLAC__StreamMetaData_VorbisComment_Entry));
+ vorbiscomment_.data.vorbis_comment.comments = (::FLAC__StreamMetadata_VorbisComment_Entry*)malloc_or_die_(vorbiscomment_.data.vorbis_comment.num_comments * sizeof(::FLAC__StreamMetadata_VorbisComment_Entry));
vorbiscomment_.data.vorbis_comment.comments[0].length = 5;
vorbiscomment_.data.vorbis_comment.comments[0].entry = (FLAC__byte*)malloc_or_die_(5);
memcpy(vorbiscomment_.data.vorbis_comment.comments[0].entry, "ab=cd", 5);
@@ -124,7 +124,7 @@
// from FLAC::Encoder::Stream
::FLAC__StreamEncoderWriteStatus write_callback(const FLAC__byte buffer[], unsigned bytes, unsigned samples, unsigned current_frame);
- void metadata_callback(const ::FLAC__StreamMetaData *metadata);
+ void metadata_callback(const ::FLAC__StreamMetadata *metadata);
bool die(const char *msg = 0) const;
};
@@ -136,7 +136,7 @@
return ::FLAC__STREAM_ENCODER_WRITE_OK;
}
-void StreamEncoder::metadata_callback(const ::FLAC__StreamMetaData *metadata)
+void StreamEncoder::metadata_callback(const ::FLAC__StreamMetadata *metadata)
{
(void)metadata;
}
@@ -160,7 +160,7 @@
FLAC__int32 *samples_array[1] = { samples };
unsigned i;
- printf("\n+++ unit test: FLAC::Encoder::Stream\n\n");
+ printf("\n+++ libFLAC++ unit test: FLAC::Encoder::Stream\n\n");
printf("allocating encoder instance... ");
encoder = new StreamEncoder();
diff --git a/src/test_libFLAC++/file_utils.c b/src/test_libFLAC++/file_utils.c
index 31f8063..e7fb6a9 100644
--- a/src/test_libFLAC++/file_utils.c
+++ b/src/test_libFLAC++/file_utils.c
@@ -51,7 +51,7 @@
return FLAC__STREAM_ENCODER_WRITE_OK;
}
-static void encoder_metadata_callback_(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetaData *metadata, void *client_data)
+static void encoder_metadata_callback_(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
(void)encoder, (void)metadata, (void)client_data;
}
@@ -92,7 +92,7 @@
return file_utils__change_stats(filename, /*read_only=*/false) && 0 == unlink(filename);
}
-FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned *output_filesize, unsigned length, const FLAC__StreamMetaData *streaminfo, FLAC__StreamMetaData **metadata, unsigned num_metadata)
+FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned *output_filesize, unsigned length, const FLAC__StreamMetadata *streaminfo, FLAC__StreamMetadata **metadata, unsigned num_metadata)
{
FLAC__int32 samples[1024];
FLAC__StreamEncoder *encoder;
diff --git a/src/test_libFLAC++/file_utils.h b/src/test_libFLAC++/file_utils.h
index 5944187..851992e 100644
--- a/src/test_libFLAC++/file_utils.h
+++ b/src/test_libFLAC++/file_utils.h
@@ -25,6 +25,6 @@
FLAC__bool file_utils__remove_file(const char *filename);
-FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned *output_filesize, unsigned length, const FLAC__StreamMetaData *streaminfo, FLAC__StreamMetaData **metadata, unsigned num_metadata);
+FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned *output_filesize, unsigned length, const FLAC__StreamMetadata *streaminfo, FLAC__StreamMetadata **metadata, unsigned num_metadata);
#endif
diff --git a/src/test_libFLAC++/main.cc b/src/test_libFLAC++/main.cc
index a4db680..c05adfc 100644
--- a/src/test_libFLAC++/main.cc
+++ b/src/test_libFLAC++/main.cc
@@ -24,11 +24,13 @@
{
(void)argc, (void)argv;
+/*@@@@
if(!test_encoders())
return 1;
if(!test_decoders())
return 1;
+@@@@*/
if(!test_metadata())
return 1;
diff --git a/src/test_libFLAC++/metadata_manip.cc b/src/test_libFLAC++/metadata_manip.cc
index bf30290..5130e1e 100644
--- a/src/test_libFLAC++/metadata_manip.cc
+++ b/src/test_libFLAC++/metadata_manip.cc
@@ -20,8 +20,8 @@
#include "file_utils.h"
}
#include "FLAC/assert.h"
-#include "FLAC/file_decoder.h"
-#include "FLAC/metadata.h"
+#include "FLAC++/decoder.h"
+#include "FLAC++/metadata.h"
#include <stdio.h>
#include <stdlib.h> /* for malloc() */
#include <string.h> /* for memcpy()/memset() */
@@ -33,76 +33,85 @@
after each operation. Then testing becomes a simple matter of running
a FLAC__FileDecoder over the dummy file after each operation, comparing
the decoded metadata to what's in our local copy. If there are any
- differences in the metadata, or the actual audio data is corrupted, we
+ differences in the metadata, or the actual audio data is corrupted, we
will catch it while decoding.
******************************************************************************/
-typedef struct {
- FLAC__bool error_occurred;
-} decoder_client_struct;
+class FileDecoder: public FLAC::Decoder::File {
+public:
+ inline FileDecoder(bool ignore_metadata): ignore_metadata_(ignore_metadata), error_occurred_(false) { }
-typedef struct {
- FLAC__StreamMetaData *blocks[64];
+ bool ignore_metadata_;;
+ bool error_occurred_;
+protected:
+ ::FLAC__StreamDecoderWriteStatus write_callback(const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[]);
+ void metadata_callback(const ::FLAC__StreamMetadata *metadata);
+ void error_callback(::FLAC__StreamDecoderErrorStatus status);
+};
+
+struct OurMetadata {
+ FLAC::Metadata::Prototype *blocks[64];
unsigned num_blocks;
-} our_metadata_struct;
+};
static const char *flacfile_ = "metadata.flac";
/* our copy of the metadata in flacfile_ */
-static our_metadata_struct our_metadata_;
+static OurMetadata our_metadata_;
/* the current block number that corresponds to the position of the iterator we are testing */
static unsigned mc_our_block_number_ = 0;
-static FLAC__bool die_(const char *msg)
+static bool die_(const char *msg)
{
printf("ERROR: %s\n", msg);
return false;
}
-static FLAC__bool die_c_(const char *msg, FLAC__MetaData_ChainStatus status)
+static bool die_c_(const char *msg, FLAC::Metadata::Chain::Status status)
{
printf("ERROR: %s\n", msg);
- printf(" status=%s\n", FLAC__MetaData_ChainStatusString[status]);
+ printf(" status=%u (%s)\n", (unsigned)((::FLAC__Metadata_ChainStatus)status), status.as_cstring());
return false;
}
-static FLAC__bool die_ss_(const char *msg, FLAC__MetaData_SimpleIterator *siterator)
+static bool die_ss_(const char *msg, FLAC::Metadata::SimpleIterator &iterator)
{
+ const FLAC::Metadata::SimpleIterator::Status status = iterator.status();
printf("ERROR: %s\n", msg);
- printf(" status=%s\n", FLAC__MetaData_SimpleIteratorStatusString[FLAC__metadata_simple_iterator_status(siterator)]);
+ printf(" status=%u (%s)\n", (unsigned)((::FLAC__Metadata_SimpleIteratorStatus)status), status.as_cstring());
return false;
}
/* functions for working with our metadata copy */
-static FLAC__bool replace_in_our_metadata_(FLAC__StreamMetaData *block, unsigned position, FLAC__bool copy)
+static bool replace_in_our_metadata_(FLAC::Metadata::Prototype *block, unsigned position, bool copy)
{
unsigned i;
- FLAC__StreamMetaData *obj = block;
+ FLAC::Metadata::Prototype *obj = block;
FLAC__ASSERT(position < our_metadata_.num_blocks);
if(copy) {
- if(0 == (obj = FLAC__metadata_object_copy(block)))
- return die_("during FLAC__metadata_object_copy()");
+ if(0 == (obj = FLAC::Metadata::clone(block)))
+ return die_("during FLAC::Metadata::clone()");
}
- FLAC__metadata_object_delete(our_metadata_.blocks[position]);
+ delete our_metadata_.blocks[position];
our_metadata_.blocks[position] = obj;
/* set the is_last flags */
for(i = 0; i < our_metadata_.num_blocks - 1; i++)
- our_metadata_.blocks[i]->is_last = false;
- our_metadata_.blocks[i]->is_last = true;
+ our_metadata_.blocks[i]->set_is_last(false);
+ our_metadata_.blocks[i]->set_is_last(true);
return true;
}
-static FLAC__bool insert_to_our_metadata_(FLAC__StreamMetaData *block, unsigned position, FLAC__bool copy)
+static bool insert_to_our_metadata_(FLAC::Metadata::Prototype *block, unsigned position, bool copy)
{
unsigned i;
- FLAC__StreamMetaData *obj = block;
+ FLAC::Metadata::Prototype *obj = block;
if(copy) {
- if(0 == (obj = FLAC__metadata_object_copy(block)))
- return die_("during FLAC__metadata_object_copy()");
+ if(0 == (obj = FLAC::Metadata::clone(block)))
+ return die_("during FLAC::Metadata::clone()");
}
if(position > our_metadata_.num_blocks) {
position = our_metadata_.num_blocks;
@@ -116,8 +125,8 @@
/* set the is_last flags */
for(i = 0; i < our_metadata_.num_blocks - 1; i++)
- our_metadata_.blocks[i]->is_last = false;
- our_metadata_.blocks[i]->is_last = true;
+ our_metadata_.blocks[i]->set_is_last(false);
+ our_metadata_.blocks[i]->set_is_last(true);
return true;
}
@@ -126,7 +135,7 @@
{
unsigned i;
FLAC__ASSERT(position < our_metadata_.num_blocks);
- FLAC__metadata_object_delete(our_metadata_.blocks[position]);
+ delete our_metadata_.blocks[position];
for(i = position; i < our_metadata_.num_blocks - 1; i++)
our_metadata_.blocks[i] = our_metadata_.blocks[i+1];
our_metadata_.num_blocks--;
@@ -134,53 +143,45 @@
/* set the is_last flags */
if(our_metadata_.num_blocks > 0) {
for(i = 0; i < our_metadata_.num_blocks - 1; i++)
- our_metadata_.blocks[i]->is_last = false;
- our_metadata_.blocks[i]->is_last = true;
+ our_metadata_.blocks[i]->set_is_last(false);
+ our_metadata_.blocks[i]->set_is_last(true);
}
}
-/* function for comparing our metadata to a FLAC__MetaData_Chain */
+/* function for comparing our metadata to a FLAC::Metadata::Chain */
-static FLAC__bool compare_chain_(FLAC__MetaData_Chain *chain, unsigned current_position, FLAC__StreamMetaData *current_block)
+static bool compare_chain_(FLAC::Metadata::Chain *chain, unsigned current_position, FLAC::Metadata::Prototype *current_block)
{
unsigned i;
- FLAC__MetaData_Iterator *iterator;
- FLAC__StreamMetaData *block;
- FLAC__bool next_ok = true;
+ FLAC::Metadata::Iterator iterator;
+ FLAC::Metadata::Prototype *block;
+ bool next_ok = true;
FLAC__ASSERT(0 != chain);
printf("\tcomparing chain... ");
fflush(stdout);
- if(0 == (iterator = FLAC__metadata_iterator_new()))
+ if(!iterator.is_valid())
return die_("allocating memory for iterator");
- FLAC__metadata_iterator_init(iterator, chain);
+ iterator.init(chain);
i = 0;
do {
printf("%u... ", i);
fflush(stdout);
- if(0 == (block = FLAC__metadata_iterator_get_block(iterator))) {
- FLAC__metadata_iterator_delete(iterator);
+ if(0 == (block = iterator.get_block()))
return die_("getting block from iterator");
- }
-#if 0
- if(!compare_block_(our_metadata_.blocks[i], block)) {
- FLAC__metadata_iterator_delete(iterator);
+ if(*block != *our_metadata_.blocks[i])
return die_("metadata block mismatch");
- }
-#endif
i++;
- next_ok = FLAC__metadata_iterator_next(iterator);
+ next_ok = iterator.next();
} while(i < our_metadata_.num_blocks && next_ok);
- FLAC__metadata_iterator_delete(iterator);
-
if(next_ok)
return die_("chain has more blocks than expected");
@@ -191,10 +192,8 @@
printf("CURRENT_POSITION... ");
fflush(stdout);
-#if 0
- if(!compare_block_(our_metadata_.blocks[current_position], current_block))
+ if(*current_block != *our_metadata_.blocks[current_position])
return die_("metadata block mismatch");
-#endif
}
printf("PASSED\n");
@@ -202,11 +201,9 @@
return true;
}
-/* decoder callbacks for checking the file */
-
-static FLAC__StreamDecoderWriteStatus decoder_write_callback_(const FLAC__FileDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)
+::FLAC__StreamDecoderWriteStatus FileDecoder::write_callback(const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[])
{
- (void)decoder, (void)buffer, (void)client_data;
+ (void)buffer;
if(
(frame->header.number_type == FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER && frame->header.number.frame_number == 0) ||
@@ -216,62 +213,45 @@
fflush(stdout);
}
- return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
+ return ::FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
}
-static void decoder_error_callback_(const FLAC__FileDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
+void FileDecoder::metadata_callback(const ::FLAC__StreamMetadata *metadata)
{
- decoder_client_struct *dcd = (decoder_client_struct*)client_data;
- (void)decoder;
-
- dcd->error_occurred = true;
- printf("ERROR: got error callback, status = %s (%u)\n", FLAC__StreamDecoderErrorStatusString[status], (unsigned)status);
-}
-
-/* this version pays no attention to the metadata */
-static void decoder_metadata_callback_null_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data)
-{
- (void)decoder, (void)metadata, (void)client_data;
-
- printf("%d... ", mc_our_block_number_);
- fflush(stdout);
-
- mc_our_block_number_++;
-}
-
-/* this version is used when we want to compare to our metadata copy */
-static void decoder_metadata_callback_compare_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data)
-{
- decoder_client_struct *dcd = (decoder_client_struct*)client_data;
-
- (void)decoder;
-
/* don't bother checking if we've already hit an error */
- if(dcd->error_occurred)
+ if(error_occurred_)
return;
printf("%d... ", mc_our_block_number_);
fflush(stdout);
- if(mc_our_block_number_ >= our_metadata_.num_blocks) {
- (void)die_("got more metadata blocks than expected");
- dcd->error_occurred = true;
- }
- else {
-#if 0
- if(!compare_block_(our_metadata_.blocks[mc_our_block_number_], metadata)) {
- (void)die_("metadata block mismatch");
- dcd->error_occurred = true;
+ if(!ignore_metadata_) {
+ if(mc_our_block_number_ >= our_metadata_.num_blocks) {
+ (void)die_("got more metadata blocks than expected");
+ error_occurred_ = true;
}
-#endif
+ else {
+ if(*our_metadata_.blocks[mc_our_block_number_] != metadata) {
+ //@@@@if(!::FLAC__metadata_object_is_equal(our_metadata_.blocks[mc_our_block_number_], metadata)) {
+ (void)die_("metadata block mismatch");
+ error_occurred_ = true;
+ }
+ }
}
+
mc_our_block_number_++;
}
-static FLAC__bool generate_file_()
+void FileDecoder::error_callback(::FLAC__StreamDecoderErrorStatus status)
{
- FLAC__StreamMetaData streaminfo, padding;
- FLAC__StreamMetaData *metadata[1];
+ error_occurred_ = true;
+ printf("ERROR: got error callback, status = %s (%u)\n", FLAC__StreamDecoderErrorStatusString[status], (unsigned)status);
+}
+
+static bool generate_file_()
+{
+ ::FLAC__StreamMetadata streaminfo, padding;
+ ::FLAC__StreamMetadata *metadata[1];
printf("generating FLAC file for test\n");
@@ -279,7 +259,7 @@
delete_from_our_metadata_(0);
streaminfo.is_last = false;
- streaminfo.type = FLAC__METADATA_TYPE_STREAMINFO;
+ streaminfo.type = ::FLAC__METADATA_TYPE_STREAMINFO;
streaminfo.length = FLAC__STREAM_METADATA_STREAMINFO_LENGTH;
streaminfo.data.stream_info.min_blocksize = 576;
streaminfo.data.stream_info.max_blocksize = 576;
@@ -292,12 +272,14 @@
memset(streaminfo.data.stream_info.md5sum, 0, 16);
padding.is_last = true;
- padding.type = FLAC__METADATA_TYPE_PADDING;
+ padding.type = ::FLAC__METADATA_TYPE_PADDING;
padding.length = 1234;
metadata[0] = &padding;
- if(!insert_to_our_metadata_(&streaminfo, 0, /*copy=*/true) || !insert_to_our_metadata_(&padding, 1, /*copy=*/true))
+ FLAC::Metadata::StreamInfo s(&streaminfo, /*copy=*/false);
+ FLAC::Metadata::Padding p(&padding, /*copy=*/false);
+ if(!insert_to_our_metadata_(&s, 0, /*copy=*/true) || !insert_to_our_metadata_(&p, 1, /*copy=*/true))
return die_("priming our metadata");
if(!file_utils__generate_flacfile(flacfile_, 0, 512 * 1024, &streaminfo, metadata, 1))
@@ -306,45 +288,36 @@
return true;
}
-static FLAC__bool test_file_(const char *filename, void (*metadata_callback)(const FLAC__FileDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data))
+static bool test_file_(const char *filename, bool ignore_metadata)
{
- FLAC__FileDecoder *decoder;
- decoder_client_struct decoder_client_data;
+ FileDecoder decoder(ignore_metadata);
FLAC__ASSERT(0 != filename);
- FLAC__ASSERT(0 != metadata_callback);
mc_our_block_number_ = 0;
- decoder_client_data.error_occurred = false;
+ decoder.error_occurred_ = false;
printf("\ttesting '%s'... ", filename);
fflush(stdout);
- if(0 == (decoder = FLAC__file_decoder_new()))
- return die_("couldn't allocate memory");
+ if(!decoder.is_valid())
+ return die_("couldn't allocate decoder instance");
- FLAC__file_decoder_set_md5_checking(decoder, true);
- FLAC__file_decoder_set_filename(decoder, filename);
- FLAC__file_decoder_set_write_callback(decoder, decoder_write_callback_);
- FLAC__file_decoder_set_metadata_callback(decoder, metadata_callback);
- FLAC__file_decoder_set_error_callback(decoder, decoder_error_callback_);
- FLAC__file_decoder_set_client_data(decoder, &decoder_client_data);
- FLAC__file_decoder_set_metadata_respond_all(decoder);
- if(FLAC__file_decoder_init(decoder) != FLAC__FILE_DECODER_OK) {
- FLAC__file_decoder_finish(decoder);
- FLAC__file_decoder_delete(decoder);
+ decoder.set_md5_checking(true);
+ decoder.set_filename(filename);
+ decoder.set_metadata_respond_all();
+ if(decoder.init() != ::FLAC__FILE_DECODER_OK) {
+ decoder.finish();
return die_("initializing decoder\n");
}
- if(!FLAC__file_decoder_process_whole_file(decoder)) {
- FLAC__file_decoder_finish(decoder);
- FLAC__file_decoder_delete(decoder);
+ if(!decoder.process_whole_file()) {
+ decoder.finish();
return die_("decoding file\n");
}
- FLAC__file_decoder_finish(decoder);
- FLAC__file_decoder_delete(decoder);
+ decoder.finish();
- if(decoder_client_data.error_occurred)
+ if(decoder.error_occurred_)
return false;
if(mc_our_block_number_ != our_metadata_.num_blocks)
@@ -354,7 +327,7 @@
return true;
}
-static FLAC__bool change_stats_(const char *filename, FLAC__bool read_only)
+static bool change_stats_(const char *filename, bool read_only)
{
if(!file_utils__change_stats(filename, read_only))
return die_("during file_utils__change_stats()");
@@ -362,7 +335,7 @@
return true;
}
-static FLAC__bool remove_file_(const char *filename)
+static bool remove_file_(const char *filename)
{
while(our_metadata_.num_blocks > 0)
delete_from_our_metadata_(0);
@@ -373,32 +346,32 @@
return true;
}
-static FLAC__bool test_level_0_()
+static bool test_level_0_()
{
- FLAC__StreamMetaData_StreamInfo streaminfo;
+ FLAC::Metadata::StreamInfo streaminfo;
printf("\n\n++++++ testing level 0 interface\n");
if(!generate_file_())
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_null_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/true))
return false;
- if(!FLAC__metadata_get_streaminfo(flacfile_, &streaminfo))
- return die_("during FLAC__metadata_get_streaminfo()");
+ if(!FLAC::Metadata::get_streaminfo(flacfile_, streaminfo))
+ return die_("during FLAC::Metadata::get_streaminfo()");
/* check to see if some basic data matches (c.f. generate_file_()) */
- if(streaminfo.channels != 1)
- return die_("mismatch in streaminfo.channels");
- if(streaminfo.bits_per_sample != 8)
- return die_("mismatch in streaminfo.bits_per_sample");
- if(streaminfo.sample_rate != 44100)
- return die_("mismatch in streaminfo.sample_rate");
- if(streaminfo.min_blocksize != 576)
- return die_("mismatch in streaminfo.min_blocksize");
- if(streaminfo.max_blocksize != 576)
- return die_("mismatch in streaminfo.max_blocksize");
+ if(streaminfo.get_channels() != 1)
+ return die_("mismatch in streaminfo.get_channels()");
+ if(streaminfo.get_bits_per_sample() != 8)
+ return die_("mismatch in streaminfo.get_bits_per_sample()");
+ if(streaminfo.get_sample_rate() != 44100)
+ return die_("mismatch in streaminfo.get_sample_rate()");
+ if(streaminfo.get_min_blocksize() != 576)
+ return die_("mismatch in streaminfo.get_min_blocksize()");
+ if(streaminfo.get_max_blocksize() != 576)
+ return die_("mismatch in streaminfo.get_max_blocksize()");
if(!remove_file_(flacfile_))
return false;
@@ -406,17 +379,19 @@
return true;
}
-static FLAC__bool test_level_1_()
+static bool test_level_1_()
{
- FLAC__MetaData_SimpleIterator *siterator;
- FLAC__StreamMetaData *block, *app, *padding;
+ FLAC::Metadata::Prototype *block;
+ FLAC::Metadata::StreamInfo *streaminfo;
+ FLAC::Metadata::Padding *padding;
+ FLAC::Metadata::Application *app;
FLAC__byte data[1000];
unsigned our_current_position = 0;
printf("\n\n++++++ testing level 1 interface\n");
/************************************************************/
-
+ {
printf("simple iterator on read-only file\n");
if(!generate_file_())
@@ -425,79 +400,82 @@
if(!change_stats_(flacfile_, /*read_only=*/true))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_null_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/true))
return false;
- if(0 == (siterator = FLAC__metadata_simple_iterator_new()))
- return die_("FLAC__metadata_simple_iterator_new()");
+ FLAC::Metadata::SimpleIterator iterator;
- if(!FLAC__metadata_simple_iterator_init(siterator, flacfile_, false))
- return die_("ERROR: FLAC__metadata_simple_iterator_init()\n");
+ if(!iterator.is_valid())
+ return die_("iterator.is_valid() returned false");
- printf("is writable = %u\n", (unsigned)FLAC__metadata_simple_iterator_is_writable(siterator));
- if(FLAC__metadata_simple_iterator_is_writable(siterator))
+ if(!iterator.init(flacfile_, false))
+ return die_("iterator.init() returned false");
+
+ printf("is writable = %u\n", (unsigned)iterator.is_writable());
+ if(iterator.is_writable())
return die_("iterator claims file is writable when it should not be\n");
printf("iterate forwards\n");
- if(FLAC__metadata_simple_iterator_get_block_type(siterator) != FLAC__METADATA_TYPE_STREAMINFO)
- return die_("expected STREAMINFO type from FLAC__metadata_simple_iterator_get_block_type()");
- if(0 == (block = FLAC__metadata_simple_iterator_get_block(siterator)))
+ if(iterator.get_block_type() != ::FLAC__METADATA_TYPE_STREAMINFO)
+ return die_("expected STREAMINFO type from iterator.get_block_type()");
+ if(0 == (block = iterator.get_block()))
return die_("getting block 0");
- if(block->type != FLAC__METADATA_TYPE_STREAMINFO)
+ if(block->get_type() != ::FLAC__METADATA_TYPE_STREAMINFO)
return die_("expected STREAMINFO type");
- if(block->is_last)
+ if(block->get_is_last())
return die_("expected is_last to be false");
- if(block->length != FLAC__STREAM_METADATA_STREAMINFO_LENGTH)
+ if(block->get_length() != FLAC__STREAM_METADATA_STREAMINFO_LENGTH)
return die_("bad STREAMINFO length");
/* check to see if some basic data matches (c.f. generate_file_()) */
- if(block->data.stream_info.channels != 1)
+ streaminfo = dynamic_cast<FLAC::Metadata::StreamInfo *>(block);
+ FLAC__ASSERT(0 != streaminfo);
+ if(streaminfo->get_channels() != 1)
return die_("mismatch in channels");
- if(block->data.stream_info.bits_per_sample != 8)
+ if(streaminfo->get_bits_per_sample() != 8)
return die_("mismatch in bits_per_sample");
- if(block->data.stream_info.sample_rate != 44100)
+ if(streaminfo->get_sample_rate() != 44100)
return die_("mismatch in sample_rate");
- if(block->data.stream_info.min_blocksize != 576)
+ if(streaminfo->get_min_blocksize() != 576)
return die_("mismatch in min_blocksize");
- if(block->data.stream_info.max_blocksize != 576)
+ if(streaminfo->get_max_blocksize() != 576)
return die_("mismatch in max_blocksize");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!iterator.next())
return die_("forward iterator ended early");
our_current_position++;
- if(FLAC__metadata_simple_iterator_get_block_type(siterator) != FLAC__METADATA_TYPE_PADDING)
- return die_("expected PADDING type from FLAC__metadata_simple_iterator_get_block_type()");
- if(0 == (block = FLAC__metadata_simple_iterator_get_block(siterator)))
+ if(iterator.get_block_type() != ::FLAC__METADATA_TYPE_PADDING)
+ return die_("expected PADDING type from iterator.get_block_type()");
+ if(0 == (block = iterator.get_block()))
return die_("getting block 1");
- if(block->type != FLAC__METADATA_TYPE_PADDING)
+ if(block->get_type() != ::FLAC__METADATA_TYPE_PADDING)
return die_("expected PADDING type");
- if(!block->is_last)
+ if(!block->get_is_last())
return die_("expected is_last to be true");
/* check to see if some basic data matches (c.f. generate_file_()) */
- if(block->length != 1234)
- return die_("bad STREAMINFO length");
+ if(block->get_length() != 1234)
+ return die_("bad PADDING length");
- if(FLAC__metadata_simple_iterator_next(siterator))
+ if(iterator.next())
return die_("forward iterator returned true but should have returned false");
printf("iterate backwards\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!iterator.prev())
return die_("reverse iterator ended early");
- if(FLAC__metadata_simple_iterator_prev(siterator))
+ if(iterator.prev())
return die_("reverse iterator returned true but should have returned false");
- printf("testing FLAC__metadata_simple_iterator_set_block() on read-only file...\n");
+ printf("testing iterator.set_block() on read-only file...\n");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, (::FLAC__StreamMetaData*)99, false))
- printf("PASSED. FLAC__metadata_simple_iterator_set_block() returned false like it should\n");
+ if(!iterator.set_block(streaminfo, false))
+ printf("PASSED. iterator.set_block() returned false like it should\n");
else
- return die_("FLAC__metadata_simple_iterator_set_block() returned true but shouldn't have");
-
- FLAC__metadata_simple_iterator_delete(siterator);
+ return die_("iterator.set_block() returned true but shouldn't have");
+ }
/************************************************************/
-
+ {
printf("simple iterator on writable file\n");
if(!change_stats_(flacfile_, /*read-only=*/false))
@@ -505,213 +483,217 @@
printf("creating APPLICATION block\n");
- if(0 == (app = FLAC__metadata_object_new(FLAC__METADATA_TYPE_APPLICATION)))
- return die_("FLAC__metadata_object_new(FLAC__METADATA_TYPE_APPLICATION)");
- memcpy(app->data.application.id, "duh", (FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8));
+ if(0 == (app = new FLAC::Metadata::Application()))
+ return die_("new FLAC::Metadata::Application()");
+ app->set_id((const unsigned char *)"duh");
printf("creating PADDING block\n");
- if(0 == (padding = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING)))
- return die_("FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING)");
- padding->length = 20;
+ if(0 == (padding = new FLAC::Metadata::Padding()))
+ return die_("new FLAC::Metadata::Padding()");
+ padding->set_length(20);
- if(0 == (siterator = FLAC__metadata_simple_iterator_new()))
- return die_("FLAC__metadata_simple_iterator_new()");
+ FLAC::Metadata::SimpleIterator iterator;
- if(!FLAC__metadata_simple_iterator_init(siterator, flacfile_, /*preserve_file_stats=*/false))
- return die_("ERROR: FLAC__metadata_simple_iterator_init()\n");
+ if(!iterator.is_valid())
+ return die_("iterator.is_valid() returned false");
+
+ if(!iterator.init(flacfile_, /*preserve_file_stats=*/false))
+ return die_("iterator.init() returned false");
our_current_position = 0;
- printf("is writable = %u\n", (unsigned)FLAC__metadata_simple_iterator_is_writable(siterator));
+ printf("is writable = %u\n", (unsigned)iterator.is_writable());
printf("[S]P\ttry to write over STREAMINFO block...\n");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, false))
- printf("\tFLAC__metadata_simple_iterator_set_block() returned false like it should\n");
+ if(!iterator.set_block(app, false))
+ printf("\titerator.set_block() returned false like it should\n");
else
- return die_("FLAC__metadata_simple_iterator_set_block() returned true but shouldn't have");
+ return die_("iterator.set_block() returned true but shouldn't have");
printf("[S]P\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("S[P]\tinsert PADDING after, don't expand into padding\n");
- padding->length = 25;
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false)", siterator);
+ padding->set_length(25);
+ if(!iterator.insert_block_after(padding, false))
+ return die_ss_("iterator.insert_block_after(padding, false)", iterator);
if(!insert_to_our_metadata_(padding, ++our_current_position, /*copy=*/true))
return false;
printf("SP[P]\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!iterator.prev())
return die_("iterator ended early\n");
our_current_position--;
printf("S[P]P\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!iterator.prev())
return die_("iterator ended early\n");
our_current_position--;
printf("[S]PP\tinsert PADDING after, don't expand into padding\n");
- padding->length = 30;
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false)", siterator);
+ padding->set_length(30);
+ if(!iterator.insert_block_after(padding, false))
+ return die_ss_("iterator.insert_block_after(padding, false)", iterator);
if(!insert_to_our_metadata_(padding, ++our_current_position, /*copy=*/true))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[P]PP\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!iterator.prev())
return die_("iterator ended early\n");
our_current_position--;
printf("[S]PPP\tdelete (STREAMINFO block), must fail\n");
- if(FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false) should have returned false", siterator);
+ if(iterator.delete_block(false))
+ return die_ss_("iterator.delete_block(false) should have returned false", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("[S]PPP\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("S[P]PP\tdelete (middle block), replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, true))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, true)", siterator);
+ if(!iterator.delete_block(true))
+ return die_ss_("iterator.delete_block(true)", iterator);
our_current_position--;
printf("[S]PPP\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("S[P]PP\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!iterator.delete_block(false))
+ return die_ss_("iterator.delete_block(false)", iterator);
delete_from_our_metadata_(our_current_position--);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("[S]PP\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("S[P]P\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("SP[P]\tdelete (last block), replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, true))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!iterator.delete_block(true))
+ return die_ss_("iterator.delete_block(false)", iterator);
our_current_position--;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[P]P\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("SP[P]\tdelete (last block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!iterator.delete_block(false))
+ return die_ss_("iterator.delete_block(false)", iterator);
delete_from_our_metadata_(our_current_position--);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[P]\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!iterator.prev())
return die_("iterator ended early\n");
our_current_position--;
printf("[S]P\tset STREAMINFO (change sample rate)\n");
FLAC__ASSERT(our_current_position == 0);
- block = FLAC__metadata_simple_iterator_get_block(siterator);
- block->data.stream_info.sample_rate = 32000;
+ block = iterator.get_block();
+ streaminfo = dynamic_cast<FLAC::Metadata::StreamInfo *>(block);
+ FLAC__ASSERT(0 != streaminfo);
+ streaminfo->set_sample_rate(32000);
if(!replace_in_our_metadata_(block, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, block, false))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, block, false)", siterator);
- FLAC__metadata_object_delete(block);
+ if(!iterator.set_block(block, false))
+ return die_ss_("iterator.set_block(block, false)", iterator);
+ delete block;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("[S]P\tinsert APPLICATION after, expand into padding of exceeding size\n");
- app->data.application.id[0] = 'e'; /* twiddle the id so that our comparison doesn't miss transposition */
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true)", siterator);
+ app->set_id((const unsigned char *)"euh"); /* twiddle the id so that our comparison doesn't miss transposition */
+ if(!iterator.insert_block_after(app, true))
+ return die_ss_("iterator.insert_block_after(app, true)", iterator);
if(!insert_to_our_metadata_(app, ++our_current_position, /*copy=*/true))
return false;
- our_metadata_.blocks[our_current_position+1]->length -= (FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8) + app->length;
+ our_metadata_.blocks[our_current_position+1]->set_length() = our_metadata_.blocks[our_current_position+1]->get_length() - (FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8) + app->length;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]P\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("SA[P]\tset APPLICATION, expand into padding of exceeding size\n");
- app->data.application.id[0] = 'f'; /* twiddle the id */
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ app->set_id((const unsigned char *)"fuh"); /* twiddle the id */
+ if(!iterator.set_block(app, true))
+ return die_ss_("iterator.set_block(app, true)", iterator);
if(!insert_to_our_metadata_(app, our_current_position, /*copy=*/true))
return false;
our_metadata_.blocks[our_current_position+1]->length -= (FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8) + app->length;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("SA[A]P\tset APPLICATION (grow), don't expand into padding\n");
- app->data.application.id[0] = 'g'; /* twiddle the id */
+ app->set_id((const unsigned char *)"guh"); /* twiddle the id */
if(!FLAC__metadata_object_application_set_data(app, data, sizeof(data), true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, false))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, false)", siterator);
+ if(!iterator.set_block(app, false))
+ return die_ss_("iterator.set_block(app, false)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("SA[A]P\tset APPLICATION (shrink), don't fill in with padding\n");
- app->data.application.id[0] = 'h'; /* twiddle the id */
+ app->set_id((const unsigned char *)"huh"); /* twiddle the id */
if(!FLAC__metadata_object_application_set_data(app, data, 12, true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, false))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, false)", siterator);
+ if(!iterator.set_block(app, false))
+ return die_ss_("iterator.set_block(app, false)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("SA[A]P\tset APPLICATION (grow), expand into padding of exceeding size\n");
- app->data.application.id[0] = 'i'; /* twiddle the id */
+ app->set_id((const unsigned char *)"iuh"); /* twiddle the id */
if(!FLAC__metadata_object_application_set_data(app, data, sizeof(data), true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
our_metadata_.blocks[our_current_position+1]->length -= (sizeof(data) - 12);
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ if(!iterator.set_block(app, true))
+ return die_ss_("iterator.set_block(app, true)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("SA[A]P\tset APPLICATION (shrink), fill in with padding\n");
- app->data.application.id[0] = 'j'; /* twiddle the id */
+ app->set_id((const unsigned char *)"juh"); /* twiddle the id */
if(!FLAC__metadata_object_application_set_data(app, data, 23, true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
@@ -719,19 +701,19 @@
if(!insert_to_our_metadata_(padding, our_current_position+1, /*copy=*/true))
return die_("copying object");
our_metadata_.blocks[our_current_position+1]->length = sizeof(data) - 23 - FLAC__STREAM_METADATA_HEADER_LENGTH;
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ if(!iterator.set_block(app, true))
+ return die_ss_("iterator.set_block(app, true)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("SA[A]PP\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("SAA[P]P\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
@@ -739,75 +721,75 @@
padding->length = 5;
if(!replace_in_our_metadata_(padding, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, padding, false))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, padding, false)", siterator);
+ if(!iterator.set_block(padding, false))
+ return die_ss_("iterator.set_block(padding, false)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("SAAP[P]\tset APPLICATION (grow)\n");
- app->data.application.id[0] = 'k'; /* twiddle the id */
+ app->set_id((const unsigned char *)"kuh"); /* twiddle the id */
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, false))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, false)", siterator);
+ if(!iterator.set_block(app, false))
+ return die_ss_("iterator.set_block(app, false)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("SAAP[A]\tset PADDING (equal)\n");
padding->length = 27;
if(!replace_in_our_metadata_(padding, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, padding, false))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, padding, false)", siterator);
+ if(!iterator.set_block(padding, false))
+ return die_ss_("iterator.set_block(padding, false)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("SAAP[P]\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!iterator.prev())
return die_("iterator ended early\n");
our_current_position--;
printf("SAA[P]P\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!iterator.delete_block(false))
+ return die_ss_("iterator.delete_block(false)", iterator);
delete_from_our_metadata_(our_current_position--);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("SA[A]P\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!iterator.delete_block(false))
+ return die_ss_("iterator.delete_block(false)", iterator);
delete_from_our_metadata_(our_current_position--);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]P\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("SA[P]\tinsert PADDING after\n");
padding->length = 5;
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false)", siterator);
+ if(!iterator.insert_block_after(padding, false))
+ return die_ss_("iterator.insert_block_after(padding, false)", iterator);
if(!insert_to_our_metadata_(padding, ++our_current_position, /*copy=*/true))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("SAP[P]\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!iterator.prev())
return die_("iterator ended early\n");
our_current_position--;
printf("SA[P]P\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!iterator.prev())
return die_("iterator ended early\n");
our_current_position--;
@@ -816,10 +798,10 @@
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ if(!iterator.set_block(app, true))
+ return die_ss_("iterator.set_block(app, true)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]PP\tset APPLICATION (grow), try to expand into padding which is 'close' but still too small\n");
@@ -827,10 +809,10 @@
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ if(!iterator.set_block(app, true))
+ return die_ss_("iterator.set_block(app, true)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]PP\tset APPLICATION (grow), expand into padding which will leave 0-length pad\n");
@@ -839,10 +821,10 @@
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
our_metadata_.blocks[our_current_position+1]->length = 0;
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ if(!iterator.set_block(app, true))
+ return die_ss_("iterator.set_block(app, true)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]PP\tset APPLICATION (grow), expand into padding which is exactly consumed\n");
@@ -851,10 +833,10 @@
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
delete_from_our_metadata_(our_current_position+1);
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ if(!iterator.set_block(app, true))
+ return die_ss_("iterator.set_block(app, true)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]P\tset APPLICATION (grow), expand into padding which is exactly consumed\n");
@@ -864,53 +846,53 @@
return die_("copying object");
delete_from_our_metadata_(our_current_position+1);
our_metadata_.blocks[our_current_position]->is_last = true;
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ if(!iterator.set_block(app, true))
+ return die_ss_("iterator.set_block(app, true)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]\tset PADDING (equal size)\n");
padding->length = app->length;
if(!replace_in_our_metadata_(padding, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, padding, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, padding, true)", siterator);
+ if(!iterator.set_block(padding, true))
+ return die_ss_("iterator.set_block(padding, true)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[P]\tinsert PADDING after\n");
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false)", siterator);
+ if(!iterator.insert_block_after(padding, false))
+ return die_ss_("iterator.insert_block_after(padding, false)", iterator);
if(!insert_to_our_metadata_(padding, ++our_current_position, /*copy=*/true))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("SP[P]\tinsert PADDING after\n");
padding->length = 5;
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false)", siterator);
+ if(!iterator.insert_block_after(padding, false))
+ return die_ss_("iterator.insert_block_after(padding, false)", iterator);
if(!insert_to_our_metadata_(padding, ++our_current_position, /*copy=*/true))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("SPP[P]\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!iterator.prev())
return die_("iterator ended early\n");
our_current_position--;
printf("SP[P]P\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!iterator.prev())
return die_("iterator ended early\n");
our_current_position--;
printf("S[P]PP\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!iterator.prev())
return die_("iterator ended early\n");
our_current_position--;
@@ -919,18 +901,18 @@
return die_("setting APPLICATION data");
if(!insert_to_our_metadata_(app, ++our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true)", siterator);
+ if(!iterator.insert_block_after(app, true))
+ return die_ss_("iterator.insert_block_after(app, true)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]PPP\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!iterator.delete_block(false))
+ return die_ss_("iterator.delete_block(false)", iterator);
delete_from_our_metadata_(our_current_position--);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("[S]PPP\tinsert APPLICATION after, try to expand into padding which is 'close' but still too small\n");
@@ -938,18 +920,18 @@
return die_("setting APPLICATION data");
if(!insert_to_our_metadata_(app, ++our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true)", siterator);
+ if(!iterator.insert_block_after(app, true))
+ return die_ss_("iterator.insert_block_after(app, true)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]PPP\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!iterator.delete_block(false))
+ return die_ss_("iterator.delete_block(false)", iterator);
delete_from_our_metadata_(our_current_position--);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("[S]PPP\tinsert APPLICATION after, expand into padding which is exactly consumed\n");
@@ -958,18 +940,18 @@
if(!insert_to_our_metadata_(app, ++our_current_position, /*copy=*/true))
return die_("copying object");
delete_from_our_metadata_(our_current_position+1);
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true)", siterator);
+ if(!iterator.insert_block_after(app, true))
+ return die_ss_("iterator.insert_block_after(app, true)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]PP\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!iterator.delete_block(false))
+ return die_ss_("iterator.delete_block(false)", iterator);
delete_from_our_metadata_(our_current_position--);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("[S]PP\tinsert APPLICATION after, expand into padding which will leave 0-length pad\n");
@@ -978,31 +960,31 @@
if(!insert_to_our_metadata_(app, ++our_current_position, /*copy=*/true))
return die_("copying object");
our_metadata_.blocks[our_current_position+1]->length = 0;
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true)", siterator);
+ if(!iterator.insert_block_after(app, true))
+ return die_ss_("iterator.insert_block_after(app, true)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]PP\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!iterator.delete_block(false))
+ return die_ss_("iterator.delete_block(false)", iterator);
delete_from_our_metadata_(our_current_position--);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("[S]PP\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("S[P]P\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!iterator.delete_block(false))
+ return die_ss_("iterator.delete_block(false)", iterator);
delete_from_our_metadata_(our_current_position--);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("[S]P\tinsert APPLICATION after, expand into padding which is exactly consumed\n");
@@ -1011,15 +993,16 @@
if(!insert_to_our_metadata_(app, ++our_current_position, /*copy=*/true))
return die_("copying object");
delete_from_our_metadata_(our_current_position+1);
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true)", siterator);
+ if(!iterator.insert_block_after(app, true))
+ return die_ss_("iterator.insert_block_after(app, true)", iterator);
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("delete simple iterator\n");
- FLAC__metadata_simple_iterator_delete(siterator);
+ iterator.delete();
+ }
FLAC__metadata_object_delete(app);
FLAC__metadata_object_delete(padding);
@@ -1030,11 +1013,11 @@
return true;
}
-static FLAC__bool test_level_2_()
+static bool test_level_2_()
{
- FLAC__MetaData_Iterator *iterator;
- FLAC__MetaData_Chain *chain;
- FLAC__StreamMetaData *block, *app, *padding;
+ FLAC__Metadata_Iterator *iterator;
+ FLAC__Metadata_Chain *chain;
+ FLAC__StreamMetadata *block, *app, *padding;
FLAC__byte data[2000];
unsigned our_current_position;
@@ -1050,19 +1033,19 @@
printf("create chain\n");
- if(0 == (chain = FLAC__metadata_chain_new()))
+ if(0 == (chain = chain.new()))
return die_("allocating chain");
printf("read chain\n");
- if(!FLAC__metadata_chain_read(chain, flacfile_))
- return die_c_("reading chain", FLAC__metadata_chain_status(chain));
+ if(!chain.read(chain, flacfile_))
+ return die_c_("reading chain", chain.status(chain));
printf("[S]P\ttest initial metadata\n");
if(!compare_chain_(chain, 0, 0))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("switch file to read-write\n");
@@ -1071,14 +1054,14 @@
return false;
printf("create iterator\n");
- if(0 == (iterator = FLAC__metadata_iterator_new()))
+ if(0 == (iterator = iterator.new()))
return die_("allocating memory for iterator");
our_current_position = 0;
- FLAC__metadata_iterator_init(iterator, chain);
+ iterator.init(chain);
- if(0 == (block = FLAC__metadata_iterator_get_block(iterator)))
+ if(0 == (block = iterator.get_block()))
return die_("getting block from iterator");
FLAC__ASSERT(block->type == FLAC__METADATA_TYPE_STREAMINFO);
@@ -1089,20 +1072,20 @@
if(!replace_in_our_metadata_(block, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_chain_write(chain, /*use_padding=*/false, /*preserve_file_stats=*/true))
- return die_c_("during FLAC__metadata_chain_write(chain, false, true)", FLAC__metadata_chain_status(chain));
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!chain.write(chain, /*use_padding=*/false, /*preserve_file_stats=*/true))
+ return die_c_("during chain.write(chain, false, true)", chain.status(chain));
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("[S]P\tnext\n");
- if(!FLAC__metadata_iterator_next(iterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("S[P]\treplace PADDING with identical-size APPLICATION\n");
- if(0 == (block = FLAC__metadata_iterator_get_block(iterator)))
+ if(0 == (block = iterator.get_block()))
return die_("getting block from iterator");
if(0 == (app = FLAC__metadata_object_new(FLAC__METADATA_TYPE_APPLICATION)))
return die_("FLAC__metadata_object_new(FLAC__METADATA_TYPE_APPLICATION)");
@@ -1111,88 +1094,88 @@
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_iterator_set_block(iterator, app))
- return die_c_("FLAC__metadata_iterator_set_block(iterator, app)", FLAC__metadata_chain_status(chain));
+ if(!iterator.set_block(app))
+ return die_c_("iterator.set_block(app)", chain.status(chain));
- if(!FLAC__metadata_chain_write(chain, /*use_padding=*/false, /*preserve_file_stats=*/false))
- return die_c_("during FLAC__metadata_chain_write(chain, false, false)", FLAC__metadata_chain_status(chain));
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!chain.write(chain, /*use_padding=*/false, /*preserve_file_stats=*/false))
+ return die_c_("during chain.write(chain, false, false)", chain.status(chain));
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]\tshrink APPLICATION, don't use padding\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 26, true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_iterator_set_block(iterator, app))
- return die_c_("FLAC__metadata_iterator_set_block(iterator, app)", FLAC__metadata_chain_status(chain));
+ if(!iterator.set_block(app))
+ return die_c_("iterator.set_block(app)", chain.status(chain));
- if(!FLAC__metadata_chain_write(chain, /*use_padding=*/false, /*preserve_file_stats=*/false))
- return die_c_("during FLAC__metadata_chain_write(chain, false, false)", FLAC__metadata_chain_status(chain));
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!chain.write(chain, /*use_padding=*/false, /*preserve_file_stats=*/false))
+ return die_c_("during chain.write(chain, false, false)", chain.status(chain));
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]\tgrow APPLICATION, don't use padding\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 28, true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_iterator_set_block(iterator, app))
- return die_c_("FLAC__metadata_iterator_set_block(iterator, app)", FLAC__metadata_chain_status(chain));
+ if(!iterator.set_block(app))
+ return die_c_("iterator.set_block(app)", chain.status(chain));
- if(!FLAC__metadata_chain_write(chain, /*use_padding=*/false, /*preserve_file_stats=*/false))
- return die_c_("during FLAC__metadata_chain_write(chain, false, false)", FLAC__metadata_chain_status(chain));
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!chain.write(chain, /*use_padding=*/false, /*preserve_file_stats=*/false))
+ return die_c_("during chain.write(chain, false, false)", chain.status(chain));
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]\tgrow APPLICATION, use padding, but last block is not padding\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 36, true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_iterator_set_block(iterator, app))
- return die_c_("FLAC__metadata_iterator_set_block(iterator, app)", FLAC__metadata_chain_status(chain));
+ if(!iterator.set_block(app))
+ return die_c_("iterator.set_block(app)", chain.status(chain));
- if(!FLAC__metadata_chain_write(chain, /*use_padding=*/false, /*preserve_file_stats=*/false))
- return die_c_("during FLAC__metadata_chain_write(chain, false, false)", FLAC__metadata_chain_status(chain));
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!chain.write(chain, /*use_padding=*/false, /*preserve_file_stats=*/false))
+ return die_c_("during chain.write(chain, false, false)", chain.status(chain));
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]\tshrink APPLICATION, use padding, last block is not padding, but delta is too small for new PADDING block\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 33, true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_iterator_set_block(iterator, app))
- return die_c_("FLAC__metadata_iterator_set_block(iterator, app)", FLAC__metadata_chain_status(chain));
+ if(!iterator.set_block(app))
+ return die_c_("iterator.set_block(app)", chain.status(chain));
- if(!FLAC__metadata_chain_write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
- return die_c_("during FLAC__metadata_chain_write(chain, true, false)", FLAC__metadata_chain_status(chain));
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!chain.write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
+ return die_c_("during chain.write(chain, true, false)", chain.status(chain));
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]\tshrink APPLICATION, use padding, last block is not padding, delta is enough for new PADDING block\n");
if(0 == (padding = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING)))
return die_("creating PADDING block");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 29, true))
return die_("setting APPLICATION data");
@@ -1201,89 +1184,89 @@
padding->length = 0;
if(!insert_to_our_metadata_(padding, our_current_position+1, /*copy=*/false))
return die_("internal error");
- if(!FLAC__metadata_iterator_set_block(iterator, app))
- return die_c_("FLAC__metadata_iterator_set_block(iterator, app)", FLAC__metadata_chain_status(chain));
+ if(!iterator.set_block(app))
+ return die_c_("iterator.set_block(app)", chain.status(chain));
- if(!FLAC__metadata_chain_write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
- return die_c_("during FLAC__metadata_chain_write(chain, true, false)", FLAC__metadata_chain_status(chain));
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!chain.write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
+ return die_c_("during chain.write(chain, true, false)", chain.status(chain));
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]P\tshrink APPLICATION, use padding, last block is padding\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 16, true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
our_metadata_.blocks[our_current_position+1]->length = 13;
- if(!FLAC__metadata_iterator_set_block(iterator, app))
- return die_c_("FLAC__metadata_iterator_set_block(iterator, app)", FLAC__metadata_chain_status(chain));
+ if(!iterator.set_block(app))
+ return die_c_("iterator.set_block(app)", chain.status(chain));
- if(!FLAC__metadata_chain_write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
- return die_c_("during FLAC__metadata_chain_write(chain, true, false)", FLAC__metadata_chain_status(chain));
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!chain.write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
+ return die_c_("during chain.write(chain, true, false)", chain.status(chain));
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]P\tgrow APPLICATION, use padding, last block is padding, but delta is too small\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 50, true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_iterator_set_block(iterator, app))
- return die_c_("FLAC__metadata_iterator_set_block(iterator, app)", FLAC__metadata_chain_status(chain));
+ if(!iterator.set_block(app))
+ return die_c_("iterator.set_block(app)", chain.status(chain));
- if(!FLAC__metadata_chain_write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
- return die_c_("during FLAC__metadata_chain_write(chain, true, false)", FLAC__metadata_chain_status(chain));
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!chain.write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
+ return die_c_("during chain.write(chain, true, false)", chain.status(chain));
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]P\tgrow APPLICATION, use padding, last block is padding of exceeding size\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 56, true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
our_metadata_.blocks[our_current_position+1]->length -= (56 - 50);
- if(!FLAC__metadata_iterator_set_block(iterator, app))
- return die_c_("FLAC__metadata_iterator_set_block(iterator, app)", FLAC__metadata_chain_status(chain));
+ if(!iterator.set_block(app))
+ return die_c_("iterator.set_block(app)", chain.status(chain));
- if(!FLAC__metadata_chain_write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
- return die_c_("during FLAC__metadata_chain_write(chain, true, false)", FLAC__metadata_chain_status(chain));
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!chain.write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
+ return die_c_("during chain.write(chain, true, false)", chain.status(chain));
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]P\tgrow APPLICATION, use padding, last block is padding of exact size\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 67, true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
delete_from_our_metadata_(our_current_position+1);
- if(!FLAC__metadata_iterator_set_block(iterator, app))
- return die_c_("FLAC__metadata_iterator_set_block(iterator, app)", FLAC__metadata_chain_status(chain));
+ if(!iterator.set_block(app))
+ return die_c_("iterator.set_block(app)", chain.status(chain));
- if(!FLAC__metadata_chain_write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
- return die_c_("during FLAC__metadata_chain_write(chain, true, false)", FLAC__metadata_chain_status(chain));
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!chain.write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
+ return die_c_("during chain.write(chain, true, false)", chain.status(chain));
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S[A]\tprev\n");
- if(!FLAC__metadata_iterator_prev(iterator))
+ if(!iterator.prev())
return die_("iterator ended early\n");
our_current_position--;
@@ -1291,89 +1274,89 @@
if(0 == (padding = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING)))
return die_("creating PADDING block");
padding->length = 30;
- if(!FLAC__metadata_iterator_insert_block_before(iterator, padding))
- printf("\tFLAC__metadata_iterator_insert_block_before() returned false like it should\n");
+ if(!iterator.insert_block_before(padding))
+ printf("\titerator.insert_block_before() returned false like it should\n");
else
- return die_("FLAC__metadata_iterator_insert_block_before() should have returned false");
+ return die_("iterator.insert_block_before() should have returned false");
printf("[S]A\tinsert PADDING after\n");
if(!insert_to_our_metadata_(padding, ++our_current_position, /*copy=*/true))
return die_("copying metadata");
- if(!FLAC__metadata_iterator_insert_block_after(iterator, padding))
- return die_("FLAC__metadata_iterator_insert_block_after(iterator, padding)");
+ if(!iterator.insert_block_after(padding))
+ return die_("iterator.insert_block_after(padding)");
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
printf("S[P]A\tinsert PADDING before\n");
- if(0 == (padding = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (padding = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("creating PADDING block");
padding->length = 17;
if(!insert_to_our_metadata_(padding, our_current_position, /*copy=*/true))
return die_("copying metadata");
- if(!FLAC__metadata_iterator_insert_block_before(iterator, padding))
- return die_("FLAC__metadata_iterator_insert_block_before(iterator, padding)");
+ if(!iterator.insert_block_before(padding))
+ return die_("iterator.insert_block_before(padding)");
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
printf("S[P]PA\tinsert PADDING before\n");
- if(0 == (padding = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (padding = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("creating PADDING block");
padding->length = 0;
if(!insert_to_our_metadata_(padding, our_current_position, /*copy=*/true))
return die_("copying metadata");
- if(!FLAC__metadata_iterator_insert_block_before(iterator, padding))
- return die_("FLAC__metadata_iterator_insert_block_before(iterator, padding)");
+ if(!iterator.insert_block_before(padding))
+ return die_("iterator.insert_block_before(padding)");
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
printf("S[P]PPA\tnext\n");
- if(!FLAC__metadata_iterator_next(iterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("SP[P]PA\tnext\n");
- if(!FLAC__metadata_iterator_next(iterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("SPP[P]A\tnext\n");
- if(!FLAC__metadata_iterator_next(iterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("SPPP[A]\tinsert PADDING after\n");
- if(0 == (padding = FLAC__metadata_object_copy(our_metadata_.blocks[1])))
+ if(0 == (padding = FLAC__metadata_object_clone(our_metadata_.blocks[1])))
return die_("creating PADDING block");
padding->length = 57;
if(!insert_to_our_metadata_(padding, ++our_current_position, /*copy=*/true))
return die_("copying metadata");
- if(!FLAC__metadata_iterator_insert_block_after(iterator, padding))
- return die_("FLAC__metadata_iterator_insert_block_after(iterator, padding)");
+ if(!iterator.insert_block_after(padding))
+ return die_("iterator.insert_block_after(padding)");
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
printf("SPPPA[P]\tinsert PADDING before\n");
- if(0 == (padding = FLAC__metadata_object_copy(our_metadata_.blocks[1])))
+ if(0 == (padding = FLAC__metadata_object_clone(our_metadata_.blocks[1])))
return die_("creating PADDING block");
padding->length = 99;
if(!insert_to_our_metadata_(padding, our_current_position, /*copy=*/true))
return die_("copying metadata");
- if(!FLAC__metadata_iterator_insert_block_before(iterator, padding))
- return die_("FLAC__metadata_iterator_insert_block_before(iterator, padding)");
+ if(!iterator.insert_block_before(padding))
+ return die_("iterator.insert_block_before(padding)");
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
printf("delete iterator\n");
- FLAC__metadata_iterator_delete(iterator);
+ iterator.delete();
our_current_position = 0;
printf("SPPPAPP\tmerge padding\n");
- FLAC__metadata_chain_merge_padding(chain);
+ chain.merge_padding(chain);
our_metadata_.blocks[1]->length += (FLAC__STREAM_METADATA_HEADER_LENGTH + our_metadata_.blocks[2]->length);
our_metadata_.blocks[1]->length += (FLAC__STREAM_METADATA_HEADER_LENGTH + our_metadata_.blocks[3]->length);
our_metadata_.blocks[5]->length += (FLAC__STREAM_METADATA_HEADER_LENGTH + our_metadata_.blocks[6]->length);
@@ -1381,35 +1364,35 @@
delete_from_our_metadata_(3);
delete_from_our_metadata_(2);
- if(!FLAC__metadata_chain_write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
- return die_c_("during FLAC__metadata_chain_write(chain, true, false)", FLAC__metadata_chain_status(chain));
+ if(!chain.write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
+ return die_c_("during chain.write(chain, true, false)", chain.status(chain));
if(!compare_chain_(chain, 0, 0))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("SPAP\tsort padding\n");
- FLAC__metadata_chain_sort_padding(chain);
+ chain.sort_padding(chain);
our_metadata_.blocks[3]->length += (FLAC__STREAM_METADATA_HEADER_LENGTH + our_metadata_.blocks[1]->length);
delete_from_our_metadata_(1);
- if(!FLAC__metadata_chain_write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
- return die_c_("during FLAC__metadata_chain_write(chain, true, false)", FLAC__metadata_chain_status(chain));
+ if(!chain.write(chain, /*use_padding=*/true, /*preserve_file_stats=*/false))
+ return die_c_("during chain.write(chain, true, false)", chain.status(chain));
if(!compare_chain_(chain, 0, 0))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("create iterator\n");
- if(0 == (iterator = FLAC__metadata_iterator_new()))
+ if(0 == (iterator = iterator.new()))
return die_("allocating memory for iterator");
our_current_position = 0;
- FLAC__metadata_iterator_init(iterator, chain);
+ iterator.init(chain);
printf("[S]AP\tnext\n");
- if(!FLAC__metadata_iterator_next(iterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
@@ -1419,27 +1402,27 @@
padding->length = 71;
if(!replace_in_our_metadata_(padding, our_current_position--, /*copy=*/false))
return die_("copying object");
- if(!FLAC__metadata_iterator_delete_block(iterator, /*replace_with_padding=*/true))
- return die_c_("FLAC__metadata_iterator_delete_block(iterator, true)", FLAC__metadata_chain_status(chain));
+ if(!iterator.delete_block(/*replace_with_padding=*/true))
+ return die_c_("iterator.delete_block(true)", chain.status(chain));
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
printf("[S]PP\tnext\n");
- if(!FLAC__metadata_iterator_next(iterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("S[P]P\tdelete middle block, don't replace with padding\n");
delete_from_our_metadata_(our_current_position--);
- if(!FLAC__metadata_iterator_delete_block(iterator, /*replace_with_padding=*/false))
- return die_c_("FLAC__metadata_iterator_delete_block(iterator, false)", FLAC__metadata_chain_status(chain));
+ if(!iterator.delete_block(/*replace_with_padding=*/false))
+ return die_c_("iterator.delete_block(false)", chain.status(chain));
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
printf("[S]P\tnext\n");
- if(!FLAC__metadata_iterator_next(iterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
@@ -1449,59 +1432,59 @@
padding->length = 219;
if(!replace_in_our_metadata_(padding, our_current_position--, /*copy=*/false))
return die_("copying object");
- if(!FLAC__metadata_iterator_delete_block(iterator, /*replace_with_padding=*/true))
- return die_c_("FLAC__metadata_iterator_delete_block(iterator, true)", FLAC__metadata_chain_status(chain));
+ if(!iterator.delete_block(/*replace_with_padding=*/true))
+ return die_c_("iterator.delete_block(true)", chain.status(chain));
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
printf("[S]P\tnext\n");
- if(!FLAC__metadata_iterator_next(iterator))
+ if(!iterator.next())
return die_("iterator ended early\n");
our_current_position++;
printf("S[P]\tdelete last block, don't replace with padding\n");
delete_from_our_metadata_(our_current_position--);
- if(!FLAC__metadata_iterator_delete_block(iterator, /*replace_with_padding=*/false))
- return die_c_("FLAC__metadata_iterator_delete_block(iterator, false)", FLAC__metadata_chain_status(chain));
+ if(!iterator.delete_block(/*replace_with_padding=*/false))
+ return die_c_("iterator.delete_block(false)", chain.status(chain));
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
printf("[S]\tdelete STREAMINFO block, should fail\n");
- if(FLAC__metadata_iterator_delete_block(iterator, /*replace_with_padding=*/false))
- return die_("FLAC__metadata_iterator_delete_block() on STREAMINFO should have failed but didn't");
+ if(iterator.delete_block(/*replace_with_padding=*/false))
+ return die_("iterator.delete_block() on STREAMINFO should have failed but didn't");
- if(!compare_chain_(chain, our_current_position, FLAC__metadata_iterator_get_block(iterator)))
+ if(!compare_chain_(chain, our_current_position, iterator.get_block()))
return false;
printf("delete iterator\n");
- FLAC__metadata_iterator_delete(iterator);
+ iterator.delete();
our_current_position = 0;
printf("S\tmerge padding\n");
- FLAC__metadata_chain_merge_padding(chain);
+ chain.merge_padding(chain);
- if(!FLAC__metadata_chain_write(chain, /*use_padding=*/false, /*preserve_file_stats=*/false))
- return die_c_("during FLAC__metadata_chain_write(chain, false, false)", FLAC__metadata_chain_status(chain));
+ if(!chain.write(chain, /*use_padding=*/false, /*preserve_file_stats=*/false))
+ return die_c_("during chain.write(chain, false, false)", chain.status(chain));
if(!compare_chain_(chain, 0, 0))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("S\tsort padding\n");
- FLAC__metadata_chain_sort_padding(chain);
+ chain.sort_padding(chain);
- if(!FLAC__metadata_chain_write(chain, /*use_padding=*/false, /*preserve_file_stats=*/false))
- return die_c_("during FLAC__metadata_chain_write(chain, false, false)", FLAC__metadata_chain_status(chain));
+ if(!chain.write(chain, /*use_padding=*/false, /*preserve_file_stats=*/false))
+ return die_c_("during chain.write(chain, false, false)", chain.status(chain));
if(!compare_chain_(chain, 0, 0))
return false;
- if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
+ if(!test_file_(flacfile_, /*ignore_metadata=*/false))
return false;
printf("delete chain\n");
- FLAC__metadata_chain_delete(chain);
+ chain.delete(chain);
if(!remove_file_(flacfile_))
return false;
@@ -1511,7 +1494,7 @@
bool test_metadata_file_manipulation()
{
- printf("\n+++ unit test: metadata manipulation\n\n");
+ printf("\n+++ libFLAC++ unit test: metadata manipulation\n\n");
our_metadata_.num_blocks = 0;
diff --git a/src/test_libFLAC++/metadata_object.cc b/src/test_libFLAC++/metadata_object.cc
index 6ce385f..2c3f33f 100644
--- a/src/test_libFLAC++/metadata_object.cc
+++ b/src/test_libFLAC++/metadata_object.cc
@@ -22,7 +22,13 @@
#include <stdlib.h> /* for malloc() */
#include <string.h> /* for memcmp() */
-static ::FLAC__StreamMetaData streaminfo_, padding_, seektable_, application_, vorbiscomment_;
+static ::FLAC__StreamMetadata streaminfo_, padding_, seektable_, application_, vorbiscomment_;
+
+static bool die_(const char *msg)
+{
+ printf("FAILED, %s\n", msg);
+ return false;
+}
static void *malloc_or_die_(size_t size)
{
@@ -57,7 +63,7 @@
seektable_.type = ::FLAC__METADATA_TYPE_SEEKTABLE;
seektable_.data.seek_table.num_points = 2;
seektable_.length = seektable_.data.seek_table.num_points * FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
- seektable_.data.seek_table.points = (::FLAC__StreamMetaData_SeekPoint*)malloc_or_die_(seektable_.data.seek_table.num_points * sizeof(::FLAC__StreamMetaData_SeekPoint));
+ seektable_.data.seek_table.points = (::FLAC__StreamMetadata_SeekPoint*)malloc_or_die_(seektable_.data.seek_table.num_points * sizeof(::FLAC__StreamMetadata_SeekPoint));
seektable_.data.seek_table.points[0].sample_number = 0;
seektable_.data.seek_table.points[0].stream_offset = 0;
seektable_.data.seek_table.points[0].frame_samples = streaminfo_.data.stream_info.min_blocksize;
@@ -75,16 +81,17 @@
vorbiscomment_.is_last = true;
vorbiscomment_.type = ::FLAC__METADATA_TYPE_VORBIS_COMMENT;
vorbiscomment_.length = (4 + 8) + 4 + (4 + 5) + (4 + 0);
- vorbiscomment_.data.vorbis_comment.vendor_string.length = 8;
- vorbiscomment_.data.vorbis_comment.vendor_string.entry = (FLAC__byte*)malloc_or_die_(8);
- memcpy(vorbiscomment_.data.vorbis_comment.vendor_string.entry, "flac 1.x", 8);
+ vorbiscomment_.data.vorbis_comment.vendor_string.length = 5;
+ vorbiscomment_.data.vorbis_comment.vendor_string.entry = (FLAC__byte*)malloc_or_die_(5);
+ memcpy(vorbiscomment_.data.vorbis_comment.vendor_string.entry, "name0", 8);
vorbiscomment_.data.vorbis_comment.num_comments = 2;
- vorbiscomment_.data.vorbis_comment.comments = (::FLAC__StreamMetaData_VorbisComment_Entry*)malloc_or_die_(vorbiscomment_.data.vorbis_comment.num_comments * sizeof(::FLAC__StreamMetaData_VorbisComment_Entry));
- vorbiscomment_.data.vorbis_comment.comments[0].length = 5;
- vorbiscomment_.data.vorbis_comment.comments[0].entry = (FLAC__byte*)malloc_or_die_(5);
- memcpy(vorbiscomment_.data.vorbis_comment.comments[0].entry, "ab=cd", 5);
- vorbiscomment_.data.vorbis_comment.comments[1].length = 0;
- vorbiscomment_.data.vorbis_comment.comments[1].entry = 0;
+ vorbiscomment_.data.vorbis_comment.comments = (::FLAC__StreamMetadata_VorbisComment_Entry*)malloc_or_die_(vorbiscomment_.data.vorbis_comment.num_comments * sizeof(::FLAC__StreamMetadata_VorbisComment_Entry));
+ vorbiscomment_.data.vorbis_comment.comments[0].length = 12;
+ vorbiscomment_.data.vorbis_comment.comments[0].entry = (FLAC__byte*)malloc_or_die_(12);
+ memcpy(vorbiscomment_.data.vorbis_comment.comments[0].entry, "name2=value2", 12);
+ vorbiscomment_.data.vorbis_comment.comments[1].length = 12;
+ vorbiscomment_.data.vorbis_comment.comments[1].entry = (FLAC__byte*)malloc_or_die_(12);
+ memcpy(vorbiscomment_.data.vorbis_comment.comments[1].entry, "name3=value3", 12);
}
static void free_metadata_blocks_()
@@ -98,19 +105,14 @@
bool test_metadata_object_streaminfo()
{
- FLAC::Metadata::StreamInfo block;
unsigned expected_length;
- printf("\n+++ unit test: metadata objects (libFLAC++)\n\n");
+ printf("testing class FLAC::Metadata::StreamInfo\n");
-
- printf("testing FLAC::Metadata::StreamInfo\n");
-
- printf("testing FLAC::Metadata::StreamInfo::StreamInfo()... ");
- if(!block.is_valid()) {
- printf("FAILED, !block.is_valid()\n");
- return false;
- }
+ printf("testing StreamInfo::StreamInfo()... ");
+ FLAC::Metadata::StreamInfo block;
+ if(!block.is_valid())
+ return die_("!block.is_valid()");
expected_length = FLAC__STREAM_METADATA_STREAMINFO_LENGTH;
if(block.get_length() != expected_length) {
printf("FAILED, bad length, expected %u, got %u\n", expected_length, block.get_length());
@@ -118,262 +120,856 @@
}
printf("OK\n");
- printf("testing FLAC::MetaData::StreamInfo::StreamInfo(const StreamInfo &)... ");
+ printf("testing StreamInfo::StreamInfo(const StreamInfo &)... +\n");
+ printf(" StreamInfo::operator!=(const StreamInfo &)... ");
{
FLAC::Metadata::StreamInfo blockcopy(block);
- if(blockcopy != block) {
- printf("FAILED, copy is not identical to original\n");
- return false;
- }
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(blockcopy != block)
+ return die_("copy is not identical to original");
printf("OK\n");
- printf("testing FLAC::Metadata::StreamInfo::~StreamInfo()... ");
+ printf("testing StreamInfo::~StreamInfo()... ");
}
printf("OK\n");
- printf("testing FLAC::Metadata::StreamInfo::operator=(const ::FLAC__StreamMetaData &)... ");
+ printf("testing StreamInfo::StreamInfo(const ::FLAC__StreamMetadata &)... +\n");
+ printf(" StreamInfo::operator!=(const ::FLAC__StreamMetadata &)... ");
{
- FLAC::Metadata::StreamInfo blockcopy(streaminfo_, /*copy=*/true);
- if(!blockcopy.is_valid()) {
- printf("FAILED, !block.is_valid()\n");
- return false;
- }
- if(blockcopy != streaminfo_) {
- printf("FAILED, copy is not identical to original\n");
- return false;
- }
+ FLAC::Metadata::StreamInfo blockcopy(streaminfo_);
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(blockcopy != streaminfo_)
+ return die_("copy is not identical to original");
+ printf("OK\n");
}
- printf("OK\n");
- printf("testing FLAC::Metadata::StreamInfo::operator=(const ::FLAC__StreamMetaData *)... ");
+ printf("testing StreamInfo::StreamInfo(const ::FLAC__StreamMetadata *)... +\n");
+ printf(" StreamInfo::operator!=(const ::FLAC__StreamMetadata *)... ");
{
- FLAC::Metadata::StreamInfo blockcopy(&streaminfo_, /*copy=*/true);
- if(!blockcopy.is_valid()) {
- printf("FAILED, !block.is_valid()\n");
- return false;
- }
- if(blockcopy != streaminfo_) {
- printf("FAILED, copy is not identical to original\n");
- return false;
- }
+ FLAC::Metadata::StreamInfo blockcopy(&streaminfo_);
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(blockcopy != streaminfo_)
+ return die_("copy is not identical to original");
+ printf("OK\n");
}
- printf("OK\n");
- printf("testing FLAC::Metadata::StreamInfo::operator=(const StreamInfo &)... ");
+ printf("testing StreamInfo::operator=(const StreamInfo &)... +\n");
+ printf(" StreamInfo::operator==(const StreamInfo &)... ");
{
FLAC::Metadata::StreamInfo blockcopy = block;
- if(!blockcopy.is_valid()) {
- printf("FAILED, !block.is_valid()\n");
- return false;
- }
- if(blockcopy != block) {
- printf("FAILED, copy is not identical to original\n");
- return false;
- }
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(!(blockcopy == block))
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing StreamInfo::operator=(const ::FLAC__StreamMetadata &)... +\n");
+ printf(" StreamInfo::operator==(const ::FLAC__StreamMetadata &)... ");
+ {
+ FLAC::Metadata::StreamInfo blockcopy = streaminfo_;
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(!(blockcopy == streaminfo_))
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing StreamInfo::operator=(const ::FLAC__StreamMetadata *)... +\n");
+ printf(" StreamInfo::operator==(const ::FLAC__StreamMetadata *)... ");
+ {
+ FLAC::Metadata::StreamInfo blockcopy = &streaminfo_;
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(!(blockcopy == streaminfo_))
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing StreamInfo::set_min_blocksize()... ");
+ block.set_min_blocksize(streaminfo_.data.stream_info.min_blocksize);
+ printf("OK\n");
+
+ printf("testing StreamInfo::set_max_blocksize()... ");
+ block.set_max_blocksize(streaminfo_.data.stream_info.max_blocksize);
+ printf("OK\n");
+
+ printf("testing StreamInfo::set_min_framesize()... ");
+ block.set_min_framesize(streaminfo_.data.stream_info.min_framesize);
+ printf("OK\n");
+
+ printf("testing StreamInfo::set_max_framesize()... ");
+ block.set_max_framesize(streaminfo_.data.stream_info.max_framesize);
+ printf("OK\n");
+
+ printf("testing StreamInfo::set_sample_rate()... ");
+ block.set_sample_rate(streaminfo_.data.stream_info.sample_rate);
+ printf("OK\n");
+
+ printf("testing StreamInfo::set_channels()... ");
+ block.set_channels(streaminfo_.data.stream_info.channels);
+ printf("OK\n");
+
+ printf("testing StreamInfo::set_bits_per_sample()... ");
+ block.set_bits_per_sample(streaminfo_.data.stream_info.bits_per_sample);
+ printf("OK\n");
+
+ printf("testing StreamInfo::set_total_samples()... ");
+ block.set_total_samples(streaminfo_.data.stream_info.total_samples);
+ printf("OK\n");
+
+ printf("testing StreamInfo::set_md5sum()... ");
+ block.set_md5sum(streaminfo_.data.stream_info.md5sum);
+ printf("OK\n");
+
+ printf("testing StreamInfo::get_min_blocksize()... ");
+ if(block.get_min_blocksize() != streaminfo_.data.stream_info.min_blocksize)
+ return die_("value mismatch, doesn't match previously set value");
+ printf("OK\n");
+
+ printf("testing StreamInfo::get_max_blocksize()... ");
+ if(block.get_max_blocksize() != streaminfo_.data.stream_info.max_blocksize)
+ return die_("value mismatch, doesn't match previously set value");
+ printf("OK\n");
+
+ printf("testing StreamInfo::get_min_framesize()... ");
+ if(block.get_min_framesize() != streaminfo_.data.stream_info.min_framesize)
+ return die_("value mismatch, doesn't match previously set value");
+ printf("OK\n");
+
+ printf("testing StreamInfo::get_max_framesize()... ");
+ if(block.get_max_framesize() != streaminfo_.data.stream_info.max_framesize)
+ return die_("value mismatch, doesn't match previously set value");
+ printf("OK\n");
+
+ printf("testing StreamInfo::get_sample_rate()... ");
+ if(block.get_sample_rate() != streaminfo_.data.stream_info.sample_rate)
+ return die_("value mismatch, doesn't match previously set value");
+ printf("OK\n");
+
+ printf("testing StreamInfo::get_channels()... ");
+ if(block.get_channels() != streaminfo_.data.stream_info.channels)
+ return die_("value mismatch, doesn't match previously set value");
+ printf("OK\n");
+
+ printf("testing StreamInfo::get_bits_per_sample()... ");
+ if(block.get_bits_per_sample() != streaminfo_.data.stream_info.bits_per_sample)
+ return die_("value mismatch, doesn't match previously set value");
+ printf("OK\n");
+
+ printf("testing StreamInfo::get_total_samples()... ");
+ if(block.get_total_samples() != streaminfo_.data.stream_info.total_samples)
+ return die_("value mismatch, doesn't match previously set value");
+ printf("OK\n");
+
+ printf("testing StreamInfo::get_md5sum()... ");
+ if(0 != memcmp(block.get_md5sum(), streaminfo_.data.stream_info.md5sum, 16))
+ return die_("value mismatch, doesn't match previously set value");
+ printf("OK\n");
+
+ printf("testing FLAC::Metadata::clone(const FLAC::Metadata::Prototype *)... ");
+ FLAC::Metadata::Prototype *clone_ = clone(&block);
+ if(0 == clone_)
+ return die_("returned NULL");
+ if(0 == dynamic_cast<FLAC::Metadata::StreamInfo *>(clone_))
+ return die_("downcast is NULL");
+ if(*dynamic_cast<FLAC::Metadata::StreamInfo *>(clone_) != block)
+ return die_("clone is not identical");
+ printf("OK\n");
+
+
+ printf("PASSED\n\n");
+ return true;
+}
+
+bool test_metadata_object_padding()
+{
+ unsigned expected_length;
+
+ printf("testing class FLAC::Metadata::Padding\n");
+
+ printf("testing Padding::Padding()... ");
+ FLAC::Metadata::Padding block;
+ if(!block.is_valid())
+ return die_("!block.is_valid()");
+ expected_length = 0;
+ if(block.get_length() != expected_length) {
+ printf("FAILED, bad length, expected %u, got %u\n", expected_length, block.get_length());
+ return false;
+ }
+ printf("OK\n");
+
+ printf("testing Padding::Padding(const Padding &)... +\n");
+ printf(" Padding::operator!=(const Padding &)... ");
+ {
+ FLAC::Metadata::Padding blockcopy(block);
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(blockcopy != block)
+ return die_("copy is not identical to original");
+ printf("OK\n");
+
+ printf("testing Padding::~Padding()... ");
}
printf("OK\n");
+ printf("testing Padding::Padding(const ::FLAC__StreamMetadata &)... +\n");
+ printf(" Padding::operator!=(const ::FLAC__StreamMetadata &)... ");
+ {
+ FLAC::Metadata::Padding blockcopy(padding_);
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(blockcopy != padding_)
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing Padding::Padding(const ::FLAC__StreamMetadata *)... +\n");
+ printf(" Padding::operator!=(const ::FLAC__StreamMetadata *)... ");
+ {
+ FLAC::Metadata::Padding blockcopy(&padding_);
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(blockcopy != padding_)
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing Padding::operator=(const Padding &)... +\n");
+ printf(" Padding::operator==(const Padding &)... ");
+ {
+ FLAC::Metadata::Padding blockcopy = block;
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(!(blockcopy == block))
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing Padding::operator=(const ::FLAC__StreamMetadata &)... +\n");
+ printf(" Padding::operator==(const ::FLAC__StreamMetadata &)... ");
+ {
+ FLAC::Metadata::Padding blockcopy = padding_;
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(!(blockcopy == padding_))
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing Padding::operator=(const ::FLAC__StreamMetadata *)... +\n");
+ printf(" Padding::operator==(const ::FLAC__StreamMetadata *)... ");
+ {
+ FLAC::Metadata::Padding blockcopy = &padding_;
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(!(blockcopy == padding_))
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing Padding::set_length()... ");
+ block.set_length(padding_.length);
+ printf("OK\n");
+
+ printf("testing Prototype::get_length()... ");
+ if(block.get_length() != padding_.length)
+ return die_("value mismatch, doesn't match previously set value");
+ printf("OK\n");
+
+ printf("testing FLAC::Metadata::clone(const FLAC::Metadata::Prototype *)... ");
+ FLAC::Metadata::Prototype *clone_ = clone(&block);
+ if(0 == clone_)
+ return die_("returned NULL");
+ if(0 == dynamic_cast<FLAC::Metadata::Padding *>(clone_))
+ return die_("downcast is NULL");
+ if(*dynamic_cast<FLAC::Metadata::Padding *>(clone_) != block)
+ return die_("clone is not identical");
+ printf("OK\n");
+
+
+ printf("PASSED\n\n");
+ return true;
+}
+
+bool test_metadata_object_application()
+{
+ unsigned expected_length;
+
+ printf("testing class FLAC::Metadata::Application\n");
+
+ printf("testing Application::Application()... ");
+ FLAC::Metadata::Application block;
+ if(!block.is_valid())
+ return die_("!block.is_valid()");
+ expected_length = FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8;
+ if(block.get_length() != expected_length) {
+ printf("FAILED, bad length, expected %u, got %u\n", expected_length, block.get_length());
+ return false;
+ }
+ printf("OK\n");
+
+ printf("testing Application::Application(const Application &)... +\n");
+ printf(" Application::operator!=(const Application &)... ");
+ {
+ FLAC::Metadata::Application blockcopy(block);
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(blockcopy != block)
+ return die_("copy is not identical to original");
+ printf("OK\n");
+
+ printf("testing Application::~Application()... ");
+ }
+ printf("OK\n");
+
+ printf("testing Application::Application(const ::FLAC__StreamMetadata &)... +\n");
+ printf(" Application::operator!=(const ::FLAC__StreamMetadata &)... ");
+ {
+ FLAC::Metadata::Application blockcopy(application_);
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(blockcopy != application_)
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing Application::Application(const ::FLAC__StreamMetadata *)... +\n");
+ printf(" Application::operator!=(const ::FLAC__StreamMetadata *)... ");
+ {
+ FLAC::Metadata::Application blockcopy(&application_);
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(blockcopy != application_)
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing Application::operator=(const Application &)... +\n");
+ printf(" Application::operator==(const Application &)... ");
+ {
+ FLAC::Metadata::Application blockcopy = block;
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(!(blockcopy == block))
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing Application::operator=(const ::FLAC__StreamMetadata &)... +\n");
+ printf(" Application::operator==(const ::FLAC__StreamMetadata &)... ");
+ {
+ FLAC::Metadata::Application blockcopy = application_;
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(!(blockcopy == application_))
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing Application::operator=(const ::FLAC__StreamMetadata *)... +\n");
+ printf(" Application::operator==(const ::FLAC__StreamMetadata *)... ");
+ {
+ FLAC::Metadata::Application blockcopy = &application_;
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(!(blockcopy == application_))
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing Application::set_id()... ");
+ block.set_id(application_.data.application.id);
+ printf("OK\n");
+
+ printf("testing Application::set_data()... ");
+ block.set_data(application_.data.application.data, application_.length - sizeof(application_.data.application.id), /*copy=*/true);
+ printf("OK\n");
+
+ printf("testing Application::get_id()... ");
+ if(0 != memcmp(block.get_id(), application_.data.application.id, sizeof(application_.data.application.id)))
+ return die_("value mismatch, doesn't match previously set value");
+ printf("OK\n");
+
+ printf("testing Application::get_data()... ");
+ if(0 != memcmp(block.get_data(), application_.data.application.data, application_.length - sizeof(application_.data.application.id)))
+ return die_("value mismatch, doesn't match previously set value");
+ printf("OK\n");
+
+ printf("testing FLAC::Metadata::clone(const FLAC::Metadata::Prototype *)... ");
+ FLAC::Metadata::Prototype *clone_ = clone(&block);
+ if(0 == clone_)
+ return die_("returned NULL");
+ if(0 == dynamic_cast<FLAC::Metadata::Application *>(clone_))
+ return die_("downcast is NULL");
+ if(*dynamic_cast<FLAC::Metadata::Application *>(clone_) != block)
+ return die_("clone is not identical");
+ printf("OK\n");
+
+
+ printf("PASSED\n\n");
+ return true;
+}
+
+bool test_metadata_object_seektable()
+{
+ unsigned expected_length;
+
+ printf("testing class FLAC::Metadata::SeekTable\n");
+
+ printf("testing SeekTable::SeekTable()... ");
+ FLAC::Metadata::SeekTable block;
+ if(!block.is_valid())
+ return die_("!block.is_valid()");
+ expected_length = 0;
+ if(block.get_length() != expected_length) {
+ printf("FAILED, bad length, expected %u, got %u\n", expected_length, block.get_length());
+ return false;
+ }
+ printf("OK\n");
+
+ printf("testing SeekTable::SeekTable(const SeekTable &)... +\n");
+ printf(" SeekTable::operator!=(const SeekTable &)... ");
+ {
+ FLAC::Metadata::SeekTable blockcopy(block);
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(blockcopy != block)
+ return die_("copy is not identical to original");
+ printf("OK\n");
+
+ printf("testing SeekTable::~SeekTable()... ");
+ }
+ printf("OK\n");
+
+ printf("testing SeekTable::SeekTable(const ::FLAC__StreamMetadata &)... +\n");
+ printf(" SeekTable::operator!=(const ::FLAC__StreamMetadata &)... ");
+ {
+ FLAC::Metadata::SeekTable blockcopy(seektable_);
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(blockcopy != seektable_)
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing SeekTable::SeekTable(const ::FLAC__StreamMetadata *)... +\n");
+ printf(" SeekTable::operator!=(const ::FLAC__StreamMetadata *)... ");
+ {
+ FLAC::Metadata::SeekTable blockcopy(&seektable_);
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(blockcopy != seektable_)
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing SeekTable::operator=(const SeekTable &)... +\n");
+ printf(" SeekTable::operator==(const SeekTable &)... ");
+ {
+ FLAC::Metadata::SeekTable blockcopy = block;
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(!(blockcopy == block))
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing SeekTable::operator=(const ::FLAC__StreamMetadata &)... +\n");
+ printf(" SeekTable::operator==(const ::FLAC__StreamMetadata &)... ");
+ {
+ FLAC::Metadata::SeekTable blockcopy = seektable_;
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(!(blockcopy == seektable_))
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing SeekTable::operator=(const ::FLAC__StreamMetadata *)... +\n");
+ printf(" SeekTable::operator==(const ::FLAC__StreamMetadata *)... ");
+ {
+ FLAC::Metadata::SeekTable blockcopy = &seektable_;
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(!(blockcopy == seektable_))
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing SeekTable::insert_point() x 3... ");
+ if(!block.insert_point(0, seektable_.data.seek_table.points[1]))
+ return die_("returned false");
+ if(!block.insert_point(0, seektable_.data.seek_table.points[1]))
+ return die_("returned false");
+ if(!block.insert_point(1, seektable_.data.seek_table.points[0]))
+ return die_("returned false");
+ printf("OK\n");
+
+ printf("testing SeekTable::is_legal()... ");
+ if(block.is_legal())
+ return die_("returned true");
+ printf("OK\n");
+
+ printf("testing SeekTable::set_point()... ");
+ block.set_point(0, seektable_.data.seek_table.points[0]);
+ printf("OK\n");
+
+ printf("testing SeekTable::delete_point()... ");
+ if(!block.delete_point(0))
+ return die_("returned false");
+ printf("OK\n");
+
+ printf("testing SeekTable::is_legal()... ");
+ if(!block.is_legal())
+ return die_("returned false");
+ printf("OK\n");
+
+ printf("testing SeekTable::get_num_points()... ");
+ if(block.get_num_points() != seektable_.data.seek_table.num_points)
+ return die_("number mismatch");
+ printf("OK\n");
+
+ printf("testing SeekTable::operator!=(const ::FLAC__StreamMetadata &)... ");
+ if(block != seektable_)
+ return die_("data mismatch");
+ printf("OK\n");
+
+ printf("testing SeekTable::get_point()... ");
+ if(
+ block.get_point(1).sample_number != seektable_.data.seek_table.points[1].sample_number ||
+ block.get_point(1).stream_offset != seektable_.data.seek_table.points[1].stream_offset ||
+ block.get_point(1).frame_samples != seektable_.data.seek_table.points[1].frame_samples
+ )
+ return die_("point mismatch");
+ printf("OK\n");
+
+ printf("testing FLAC::Metadata::clone(const FLAC::Metadata::Prototype *)... ");
+ FLAC::Metadata::Prototype *clone_ = clone(&block);
+ if(0 == clone_)
+ return die_("returned NULL");
+ if(0 == dynamic_cast<FLAC::Metadata::SeekTable *>(clone_))
+ return die_("downcast is NULL");
+ if(*dynamic_cast<FLAC::Metadata::SeekTable *>(clone_) != block)
+ return die_("clone is not identical");
+ printf("OK\n");
+
+
+ printf("PASSED\n\n");
+ return true;
+}
+
+bool test_metadata_object_vorbiscomment()
+{
+ unsigned expected_length;
+
+ printf("testing class FLAC::Metadata::VorbisComment::Entry\n");
+
+ printf("testing Entry::Entry()... ");
+ {
+ FLAC::Metadata::VorbisComment::Entry entry1;
+ if(!entry1.is_valid())
+ return die_("!is_valid()");
+ printf("OK\n");
+
+ printf("testing Entry::~Entry()... ");
+ }
+ printf("OK\n");
+
+ printf("testing Entry::Entry(const char *field, unsigned field_length)... ");
+ FLAC::Metadata::VorbisComment::Entry entry2("name2=value2", strlen("name2=value2"));
+ if(!entry2.is_valid())
+ return die_("!is_valid()");
+ printf("OK\n");
+
+ printf("testing Entry::Entry(const char *field_name, const char *field_value, unsigned field_value_length)... ");
+ FLAC::Metadata::VorbisComment::Entry entry3("name3", "value3", strlen("value3"));
+ if(!entry3.is_valid())
+ return die_("!is_valid()");
+ printf("OK\n");
+
+ printf("testing Entry::Entry(const Entry &entry)... ");
+ {
+ FLAC::Metadata::VorbisComment::Entry entry2copy(entry2);
+ if(!entry2copy.is_valid())
+ return die_("!is_valid()");
+ printf("OK\n");
+
+ printf("testing Entry::~Entry()... ");
+ }
+ printf("OK\n");
+
+ printf("testing Entry::operator=(const Entry &entry)... ");
+ FLAC::Metadata::VorbisComment::Entry entry1 = entry2;
+ if(!entry2.is_valid())
+ return die_("!is_valid()");
+ printf("OK\n");
+
+ printf("testing Entry::get_field_length()... ");
+ if(entry1.get_field_length() != strlen("name2=value2"))
+ return die_("value mismatch");
+ printf("OK\n");
+
+ printf("testing Entry::get_field_name_length()... ");
+ if(entry1.get_field_name_length() != strlen("name2"))
+ return die_("value mismatch");
+ printf("OK\n");
+
+ printf("testing Entry::get_field_value_length()... ");
+ if(entry1.get_field_value_length() != strlen("value2"))
+ return die_("value mismatch");
+ printf("OK\n");
+
+ printf("testing Entry::get_entry()... ");
+ {
+ ::FLAC__StreamMetadata_VorbisComment_Entry entry = entry1.get_entry();
+ if(entry.length != strlen("name2=value2"))
+ return die_("entry length mismatch");
+ if(0 != memcmp(entry.entry, "name2=value2", entry.length))
+ return die_("entry value mismatch");
+ }
+ printf("OK\n");
+
+ printf("testing Entry::get_field()... ");
+ if(0 != memcmp(entry1.get_field(), "name2=value2", strlen("name2=value2")))
+ return die_("value mismatch");
+ printf("OK\n");
+
+ printf("testing Entry::get_field_name()... ");
+ if(0 != memcmp(entry1.get_field_name(), "name2", strlen("name2")))
+ return die_("value mismatch");
+ printf("OK\n");
+
+ printf("testing Entry::get_field_value()... ");
+ if(0 != memcmp(entry1.get_field_value(), "value2", strlen("value2")))
+ return die_("value mismatch");
+ printf("OK\n");
+
+ printf("testing Entry::set_field_name()... ");
+ if(!entry1.set_field_name("name1"))
+ return die_("returned false");
+ if(0 != memcmp(entry1.get_field_name(), "name1", strlen("name1")))
+ return die_("value mismatch");
+ if(0 != memcmp(entry1.get_field(), "name1=value2", strlen("name1=value2")))
+ return die_("entry mismatch");
+ printf("OK\n");
+
+ printf("testing Entry::set_field_value()... ");
+ if(!entry1.set_field_value("value1", strlen("value1")))
+ return die_("returned false");
+ if(0 != memcmp(entry1.get_field_value(), "value1", strlen("value1")))
+ return die_("value mismatch");
+ if(0 != memcmp(entry1.get_field(), "name1=value1", strlen("name1=value1")))
+ return die_("entry mismatch");
+ printf("OK\n");
+
+ printf("testing Entry::set_field()... ");
+ if(!entry1.set_field("name0=value0", strlen("name0=value0")))
+ return die_("returned false");
+ if(0 != memcmp(entry1.get_field_name(), "name0", strlen("name0")))
+ return die_("value mismatch");
+ if(0 != memcmp(entry1.get_field_value(), "value0", strlen("value0")))
+ return die_("value mismatch");
+ if(0 != memcmp(entry1.get_field(), "name0=value0", strlen("name0=value0")))
+ return die_("entry mismatch");
+ printf("OK\n");
+
+ printf("PASSED\n\n");
+
+
+ printf("testing class FLAC::Metadata::VorbisComment\n");
+
+ printf("testing VorbisComment::VorbisComment()... ");
+ FLAC::Metadata::VorbisComment block;
+ if(!block.is_valid())
+ return die_("!block.is_valid()");
+ expected_length = (FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN + FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN) / 8;
+ if(block.get_length() != expected_length) {
+ printf("FAILED, bad length, expected %u, got %u\n", expected_length, block.get_length());
+ return false;
+ }
+ printf("OK\n");
+
+ printf("testing VorbisComment::VorbisComment(const VorbisComment &)... +\n");
+ printf(" VorbisComment::operator!=(const VorbisComment &)... ");
+ {
+ FLAC::Metadata::VorbisComment blockcopy(block);
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(blockcopy != block)
+ return die_("copy is not identical to original");
+ printf("OK\n");
+
+ printf("testing VorbisComment::~VorbisComment()... ");
+ }
+ printf("OK\n");
+
+ printf("testing VorbisComment::VorbisComment(const ::FLAC__StreamMetadata &)... +\n");
+ printf(" VorbisComment::operator!=(const ::FLAC__StreamMetadata &)... ");
+ {
+ FLAC::Metadata::VorbisComment blockcopy(vorbiscomment_);
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(blockcopy != vorbiscomment_)
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing VorbisComment::VorbisComment(const ::FLAC__StreamMetadata *)... +\n");
+ printf(" VorbisComment::operator!=(const ::FLAC__StreamMetadata *)... ");
+ {
+ FLAC::Metadata::VorbisComment blockcopy(&vorbiscomment_);
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(blockcopy != vorbiscomment_)
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing VorbisComment::operator=(const VorbisComment &)... +\n");
+ printf(" VorbisComment::operator==(const VorbisComment &)... ");
+ {
+ FLAC::Metadata::VorbisComment blockcopy = block;
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(!(blockcopy == block))
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing VorbisComment::operator=(const ::FLAC__StreamMetadata &)... +\n");
+ printf(" VorbisComment::operator==(const ::FLAC__StreamMetadata &)... ");
+ {
+ FLAC::Metadata::VorbisComment blockcopy = vorbiscomment_;
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(!(blockcopy == vorbiscomment_))
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing VorbisComment::operator=(const ::FLAC__StreamMetadata *)... +\n");
+ printf(" VorbisComment::operator==(const ::FLAC__StreamMetadata *)... ");
+ {
+ FLAC::Metadata::VorbisComment blockcopy = &vorbiscomment_;
+ if(!blockcopy.is_valid())
+ return die_("!block.is_valid()");
+ if(!(blockcopy == vorbiscomment_))
+ return die_("copy is not identical to original");
+ printf("OK\n");
+ }
+
+ printf("testing VorbisComment::get_num_comments()... ");
+ if(block.get_num_comments() != 0)
+ return die_("value mismatch, expected 0");
+ printf("OK\n");
+
+ printf("testing VorbisComment::set_vendor_string()... ");
+ if(!block.set_vendor_string(entry1))
+ return die_("returned false");
+ printf("OK\n");
+
+ printf("testing VorbisComment::get_vendor_string()... ");
+ if(block.get_vendor_string().get_field_name_length() != vorbiscomment_.data.vorbis_comment.vendor_string.length)
+ return die_("length mismatch");
+ if(0 != memcmp(block.get_vendor_string().get_field_name(), vorbiscomment_.data.vorbis_comment.vendor_string.entry, vorbiscomment_.data.vorbis_comment.vendor_string.length))
+ return die_("value mismatch");
+ printf("OK\n");
+
+ printf("testing VorbisComment::insert_comment()... +\n");
+ printf(" VorbisComment::get_comment()... ");
+ if(!block.insert_comment(0, entry3))
+ return die_("returned false");
+ if(block.get_comment(0).get_field_length() != vorbiscomment_.data.vorbis_comment.comments[1].length)
+ return die_("length mismatch");
+ if(0 != memcmp(block.get_comment(0).get_field(), vorbiscomment_.data.vorbis_comment.comments[1].entry, vorbiscomment_.data.vorbis_comment.comments[1].length))
+ return die_("value mismatch");
+ printf("OK\n");
+
+ printf("testing VorbisComment::insert_comment()... +\n");
+ printf(" VorbisComment::get_comment()... ");
+ if(!block.insert_comment(0, entry3))
+ return die_("returned false");
+ if(block.get_comment(0).get_field_length() != vorbiscomment_.data.vorbis_comment.comments[1].length)
+ return die_("length mismatch");
+ if(0 != memcmp(block.get_comment(0).get_field(), vorbiscomment_.data.vorbis_comment.comments[1].entry, vorbiscomment_.data.vorbis_comment.comments[1].length))
+ return die_("value mismatch");
+ printf("OK\n");
+
+ printf("testing VorbisComment::insert_comment()... +\n");
+ printf(" VorbisComment::get_comment()... ");
+ if(!block.insert_comment(1, entry2))
+ return die_("returned false");
+ if(block.get_comment(1).get_field_length() != vorbiscomment_.data.vorbis_comment.comments[0].length)
+ return die_("length mismatch");
+ if(0 != memcmp(block.get_comment(1).get_field(), vorbiscomment_.data.vorbis_comment.comments[0].entry, vorbiscomment_.data.vorbis_comment.comments[0].length))
+ return die_("value mismatch");
+ printf("OK\n");
+
+ printf("testing VorbisComment::set_comment()... +\n");
+ printf(" VorbisComment::get_comment()... ");
+ if(!block.set_comment(0, entry2))
+ return die_("returned false");
+ if(block.get_comment(0).get_field_length() != vorbiscomment_.data.vorbis_comment.comments[0].length)
+ return die_("length mismatch");
+ if(0 != memcmp(block.get_comment(0).get_field(), vorbiscomment_.data.vorbis_comment.comments[0].entry, vorbiscomment_.data.vorbis_comment.comments[0].length))
+ return die_("value mismatch");
+ printf("OK\n");
+
+ printf("testing VorbisComment::delete_comment()... +\n");
+ printf(" VorbisComment::get_comment()... ");
+ if(!block.delete_comment(0))
+ return die_("returned false");
+ if(block.get_comment(0).get_field_length() != vorbiscomment_.data.vorbis_comment.comments[0].length)
+ return die_("length[0] mismatch");
+ if(0 != memcmp(block.get_comment(0).get_field(), vorbiscomment_.data.vorbis_comment.comments[0].entry, vorbiscomment_.data.vorbis_comment.comments[0].length))
+ return die_("value[0] mismatch");
+ if(block.get_comment(1).get_field_length() != vorbiscomment_.data.vorbis_comment.comments[1].length)
+ return die_("length[1] mismatch");
+ if(0 != memcmp(block.get_comment(1).get_field(), vorbiscomment_.data.vorbis_comment.comments[1].entry, vorbiscomment_.data.vorbis_comment.comments[1].length))
+ return die_("value[0] mismatch");
+ printf("OK\n");
+
+ printf("testing FLAC::Metadata::clone(const FLAC::Metadata::Prototype *)... ");
+ FLAC::Metadata::Prototype *clone_ = clone(&block);
+ if(0 == clone_)
+ return die_("returned NULL");
+ if(0 == dynamic_cast<FLAC::Metadata::VorbisComment *>(clone_))
+ return die_("downcast is NULL");
+ if(*dynamic_cast<FLAC::Metadata::VorbisComment *>(clone_) != block)
+ return die_("clone is not identical");
+ printf("OK\n");
+
+
+ printf("PASSED\n\n");
return true;
}
bool test_metadata_object()
{
+ printf("\n+++ libFLAC++ unit test: metadata objects\n\n");
+
init_metadata_blocks_();
if(!test_metadata_object_streaminfo())
return false;
+ if(!test_metadata_object_padding())
+ return false;
+
+ if(!test_metadata_object_application())
+ return false;
+
+ if(!test_metadata_object_seektable())
+ return false;
+
+ if(!test_metadata_object_vorbiscomment())
+ return false;
+
free_metadata_blocks_();
return true;
}
-
-#if 0
-
-
- // ============================================================
- //
- // Metadata objects
- //
- // ============================================================
-
- // NOTE: When the get_*() methods return you a const pointer,
- // DO NOT disobey and write into it. Always use the set_*()
- // methods.
-
- // base class for all metadata blocks
- class Prototype {
- protected:
- Prototype(::FLAC__StreamMetaData *object, bool copy);
- virtual ~Prototype();
-
- void operator=(const Prototype &);
- void operator=(const ::FLAC__StreamMetaData &);
- void operator=(const ::FLAC__StreamMetaData *);
-
- inline bool operator==(const FLAC::Metadata::Prototype &block)
- { return ::FLAC__metadata_object_is_equal(object_, block.object_); }
-
- virtual void clear();
-
- ::FLAC__StreamMetaData *object_;
- public:
- friend class SimpleIterator;
- friend class Iterator;
-
- inline bool is_valid() const { return 0 != object_; }
- inline operator bool() const { return is_valid(); }
-
- bool get_is_last() const;
- FLAC__MetaDataType get_type() const;
- unsigned get_length() const; // NOTE: does not include the header, per spec
- private:
- Prototype(); // Private and undefined so you can't use it
-
- // These are used only by Iterator
- bool is_reference_;
- inline void set_reference(bool x) { is_reference_ = x; }
- };
-
- class StreamInfo : public Prototype {
- public:
- unsigned get_min_blocksize() const;
- unsigned get_max_blocksize() const;
- unsigned get_min_framesize() const;
- unsigned get_max_framesize() const;
- unsigned get_sample_rate() const;
- unsigned get_channels() const;
- unsigned get_bits_per_sample() const;
- FLAC__uint64 get_total_samples() const;
- const FLAC__byte *get_md5sum() const;
-
- void set_min_blocksize(unsigned value);
- void set_max_blocksize(unsigned value);
- void set_min_framesize(unsigned value);
- void set_max_framesize(unsigned value);
- void set_sample_rate(unsigned value);
- void set_channels(unsigned value);
- void set_bits_per_sample(unsigned value);
- void set_total_samples(FLAC__uint64 value);
- void set_md5sum(const FLAC__byte value[16]);
- };
-
- class Padding : public Prototype {
- public:
- Padding();
- Padding(::FLAC__StreamMetaData *object, bool copy = false);
- ~Padding();
-
- inline void operator=(const Padding &object) { Prototype::operator=(object); }
- inline void operator=(const ::FLAC__StreamMetaData &object) { Prototype::operator=(object); }
- inline void operator=(const ::FLAC__StreamMetaData *object) { Prototype::operator=(object); }
-
- void set_length(unsigned length);
- };
-
- class Application : public Prototype {
- public:
- Application();
- Application(::FLAC__StreamMetaData *object, bool copy = false);
- ~Application();
-
- inline void operator=(const Application &object) { Prototype::operator=(object); }
- inline void operator=(const ::FLAC__StreamMetaData &object) { Prototype::operator=(object); }
- inline void operator=(const ::FLAC__StreamMetaData *object) { Prototype::operator=(object); }
-
- const FLAC__byte *get_id() const;
- const FLAC__byte *get_data() const;
-
- void set_id(FLAC__byte value[4]);
- bool set_data(FLAC__byte *data, unsigned length, bool copy = false);
- };
-
- class SeekTable : public Prototype {
- public:
- SeekTable();
- SeekTable(::FLAC__StreamMetaData *object, bool copy = false);
- ~SeekTable();
-
- inline void operator=(const SeekTable &object) { Prototype::operator=(object); }
- inline void operator=(const ::FLAC__StreamMetaData &object) { Prototype::operator=(object); }
- inline void operator=(const ::FLAC__StreamMetaData *object) { Prototype::operator=(object); }
-
- unsigned get_num_points() const;
- ::FLAC__StreamMetaData_SeekPoint get_point(unsigned index) const;
-
- void set_point(unsigned index, const ::FLAC__StreamMetaData_SeekPoint &point);
- bool insert_point(unsigned index, const ::FLAC__StreamMetaData_SeekPoint &point);
- bool delete_point(unsigned index);
-
- bool is_legal() const;
- };
-
- class VorbisComment : public Prototype {
- public:
- class Entry {
- public:
- Entry();
- Entry(const char *field, unsigned field_length);
- Entry(const char *field_name, const char *field_value, unsigned field_value_length);
- Entry(const Entry &entry);
- void operator=(const Entry &entry);
-
- virtual ~Entry();
-
- virtual bool is_valid() const;
- inline operator bool() const { return is_valid(); }
-
- unsigned get_field_length() const;
- unsigned get_field_name_length() const;
- unsigned get_field_value_length() const;
-
- ::FLAC__StreamMetaData_VorbisComment_Entry get_entry() const;
- const char *get_field() const;
- const char *get_field_name() const;
- const char *get_field_value() const;
-
- bool set_field(const char *field, unsigned field_length);
- bool set_field_name(const char *field_name);
- bool set_field_value(const char *field_value, unsigned field_value_length);
- protected:
- bool is_valid_;
- ::FLAC__StreamMetaData_VorbisComment_Entry entry_;
- char *field_name_;
- unsigned field_name_length_;
- char *field_value_;
- unsigned field_value_length_;
- private:
- void zero();
- void clear();
- void clear_entry();
- void clear_field_name();
- void clear_field_value();
- void construct(const char *field, unsigned field_length);
- void construct(const char *field_name, const char *field_value, unsigned field_value_length);
- void compose_field();
- void parse_field();
- };
-
- VorbisComment();
- VorbisComment(::FLAC__StreamMetaData *object, bool copy = false);
- ~VorbisComment();
-
- inline void operator=(const VorbisComment &object) { Prototype::operator=(object); }
- inline void operator=(const ::FLAC__StreamMetaData &object) { Prototype::operator=(object); }
- inline void operator=(const ::FLAC__StreamMetaData *object) { Prototype::operator=(object); }
-
- unsigned get_num_comments() const;
- Entry get_vendor_string() const;
- Entry get_comment(unsigned index) const;
-
- bool set_vendor_string(const Entry &entry);
- bool set_comment(unsigned index, const Entry &entry);
- bool insert_comment(unsigned index, const Entry &entry);
- bool delete_comment(unsigned index);
- };
-
-
-
-
-
-#endif
diff --git a/src/test_libFLAC/Makefile.vc b/src/test_libFLAC/Makefile.vc
index ab6ef53..a444814 100644
--- a/src/test_libFLAC/Makefile.vc
+++ b/src/test_libFLAC/Makefile.vc
@@ -19,10 +19,10 @@
!IFDEF DEBUG
.c.obj:
- $(cc) $(cdebug) $(cflags) /I "..\libFLAC\include" /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3\" -YX /Od /D "_DEBUG" $<
+ $(cc) $(cdebug) $(cflags) /I "..\libFLAC\include" /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3_beta\" -YX /Od /D "_DEBUG" $<
!else
.c.obj:
- $(cc) /O2 $(crelease) $(cflags) /I "..\libFLAC\include" /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3\" -YX -DNODEBUG $<
+ $(cc) /O2 $(crelease) $(cflags) /I "..\libFLAC\include" /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3_beta\" -YX -DNODEBUG $<
!endif
C_FILES= \
diff --git a/src/test_libFLAC/bitbuffer.c b/src/test_libFLAC/bitbuffer.c
index e50da77..55a6370 100644
--- a/src/test_libFLAC/bitbuffer.c
+++ b/src/test_libFLAC/bitbuffer.c
@@ -56,7 +56,7 @@
FLAC__ASSERT(FLAC__BITS_PER_BLURB == 8);
- printf("\n+++ unit test: bitbuffer\n\n");
+ printf("\n+++ libFLAC unit test: bitbuffer\n\n");
printf("testing new... OK\n");
bb = FLAC__bitbuffer_new();
diff --git a/src/test_libFLAC/decoders.c b/src/test_libFLAC/decoders.c
index a22dbdc..09a1720 100644
--- a/src/test_libFLAC/decoders.c
+++ b/src/test_libFLAC/decoders.c
@@ -38,8 +38,8 @@
typedef stream_decoder_client_data_struct seekable_stream_decoder_client_data_struct;
typedef stream_decoder_client_data_struct file_decoder_client_data_struct;
-static FLAC__StreamMetaData streaminfo_, padding_, seektable_, application1_, application2_, vorbiscomment_;
-static FLAC__StreamMetaData *expected_metadata_sequence_[6];
+static FLAC__StreamMetadata streaminfo_, padding_, seektable_, application1_, application2_, vorbiscomment_;
+static FLAC__StreamMetadata *expected_metadata_sequence_[6];
static unsigned num_expected_;
static const char *flacfilename_ = "metadata.flac";
static unsigned flacfilesize_;
@@ -128,7 +128,7 @@
seektable_.type = FLAC__METADATA_TYPE_SEEKTABLE;
seektable_.data.seek_table.num_points = 2;
seektable_.length = seektable_.data.seek_table.num_points * FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
- seektable_.data.seek_table.points = malloc_or_die_(seektable_.data.seek_table.num_points * sizeof(FLAC__StreamMetaData_SeekPoint));
+ seektable_.data.seek_table.points = malloc_or_die_(seektable_.data.seek_table.num_points * sizeof(FLAC__StreamMetadata_SeekPoint));
seektable_.data.seek_table.points[0].sample_number = 0;
seektable_.data.seek_table.points[0].stream_offset = 0;
seektable_.data.seek_table.points[0].frame_samples = streaminfo_.data.stream_info.min_blocksize;
@@ -156,7 +156,7 @@
vorbiscomment_.data.vorbis_comment.vendor_string.entry = malloc_or_die_(8);
memcpy(vorbiscomment_.data.vorbis_comment.vendor_string.entry, "flac 1.x", 8);
vorbiscomment_.data.vorbis_comment.num_comments = 2;
- vorbiscomment_.data.vorbis_comment.comments = malloc_or_die_(vorbiscomment_.data.vorbis_comment.num_comments * sizeof(FLAC__StreamMetaData_VorbisComment_Entry));
+ vorbiscomment_.data.vorbis_comment.comments = malloc_or_die_(vorbiscomment_.data.vorbis_comment.num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry));
vorbiscomment_.data.vorbis_comment.comments[0].length = 5;
vorbiscomment_.data.vorbis_comment.comments[0].entry = malloc_or_die_(5);
memcpy(vorbiscomment_.data.vorbis_comment.comments[0].entry, "ab=cd", 5);
@@ -248,7 +248,7 @@
return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
}
-static void stream_decoder_metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data)
+static void stream_decoder_metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
stream_decoder_client_data_struct *dcd = (stream_decoder_client_data_struct*)client_data;
@@ -342,7 +342,7 @@
FLAC__StreamDecoderState state;
stream_decoder_client_data_struct decoder_client_data;
- printf("\n+++ unit test: FLAC__StreamDecoder\n\n");
+ printf("\n+++ libFLAC unit test: FLAC__StreamDecoder\n\n");
num_expected_ = 0;
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
@@ -895,7 +895,7 @@
return stream_decoder_write_callback_(0, frame, buffer, client_data);
}
-static void seekable_stream_decoder_metadata_callback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data)
+static void seekable_stream_decoder_metadata_callback_(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
(void)decoder;
stream_decoder_metadata_callback_(0, metadata, client_data);
@@ -969,7 +969,7 @@
FLAC__SeekableStreamDecoderState state;
seekable_stream_decoder_client_data_struct decoder_client_data;
- printf("\n+++ unit test: FLAC__SeekableStreamDecoder\n\n");
+ printf("\n+++ libFLAC unit test: FLAC__SeekableStreamDecoder\n\n");
num_expected_ = 0;
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
@@ -1458,7 +1458,7 @@
return stream_decoder_write_callback_(0, frame, buffer, client_data);
}
-static void file_decoder_metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data)
+static void file_decoder_metadata_callback_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
(void)decoder;
stream_decoder_metadata_callback_(0, metadata, client_data);
@@ -1515,7 +1515,7 @@
FLAC__FileDecoderState state;
seekable_stream_decoder_client_data_struct decoder_client_data;
- printf("\n+++ unit test: FLAC__FileDecoder\n\n");
+ printf("\n+++ libFLAC unit test: FLAC__FileDecoder\n\n");
num_expected_ = 0;
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
diff --git a/src/test_libFLAC/encoders.c b/src/test_libFLAC/encoders.c
index c234385..7425aea 100644
--- a/src/test_libFLAC/encoders.c
+++ b/src/test_libFLAC/encoders.c
@@ -24,8 +24,8 @@
#include <stdlib.h>
#include <string.h>
-static FLAC__StreamMetaData streaminfo_, padding_, seektable_, application1_, application2_, vorbiscomment_;
-static FLAC__StreamMetaData *metadata_sequence_[] = { &padding_, &seektable_, &application1_, &application2_, &vorbiscomment_ };
+static FLAC__StreamMetadata streaminfo_, padding_, seektable_, application1_, application2_, vorbiscomment_;
+static FLAC__StreamMetadata *metadata_sequence_[] = { &padding_, &seektable_, &application1_, &application2_, &vorbiscomment_ };
static const unsigned num_metadata_ = 5;
static const char *flacfilename_ = "metadata.flac";
@@ -83,7 +83,7 @@
seektable_.type = FLAC__METADATA_TYPE_SEEKTABLE;
seektable_.data.seek_table.num_points = 2;
seektable_.length = seektable_.data.seek_table.num_points * FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
- seektable_.data.seek_table.points = malloc_or_die_(seektable_.data.seek_table.num_points * sizeof(FLAC__StreamMetaData_SeekPoint));
+ seektable_.data.seek_table.points = malloc_or_die_(seektable_.data.seek_table.num_points * sizeof(FLAC__StreamMetadata_SeekPoint));
seektable_.data.seek_table.points[0].sample_number = 0;
seektable_.data.seek_table.points[0].stream_offset = 0;
seektable_.data.seek_table.points[0].frame_samples = streaminfo_.data.stream_info.min_blocksize;
@@ -111,7 +111,7 @@
vorbiscomment_.data.vorbis_comment.vendor_string.entry = malloc_or_die_(8);
memcpy(vorbiscomment_.data.vorbis_comment.vendor_string.entry, "flac 1.x", 8);
vorbiscomment_.data.vorbis_comment.num_comments = 2;
- vorbiscomment_.data.vorbis_comment.comments = malloc_or_die_(vorbiscomment_.data.vorbis_comment.num_comments * sizeof(FLAC__StreamMetaData_VorbisComment_Entry));
+ vorbiscomment_.data.vorbis_comment.comments = malloc_or_die_(vorbiscomment_.data.vorbis_comment.num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry));
vorbiscomment_.data.vorbis_comment.comments[0].length = 5;
vorbiscomment_.data.vorbis_comment.comments[0].entry = malloc_or_die_(5);
memcpy(vorbiscomment_.data.vorbis_comment.comments[0].entry, "ab=cd", 5);
@@ -134,7 +134,7 @@
return FLAC__STREAM_ENCODER_WRITE_OK;
}
-static void encoder_metadata_callback_(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetaData *metadata, void *client_data)
+static void encoder_metadata_callback_(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
(void)encoder, (void)metadata, (void)client_data;
}
@@ -147,7 +147,7 @@
FLAC__int32 *samples_array[1] = { samples };
unsigned i;
- printf("\n+++ unit test: FLAC__StreamEncoder\n\n");
+ printf("\n+++ libFLAC unit test: FLAC__StreamEncoder\n\n");
printf("testing FLAC__stream_encoder_new()... ");
encoder = FLAC__stream_encoder_new();
diff --git a/src/test_libFLAC/file_utils.c b/src/test_libFLAC/file_utils.c
index 31f8063..e7fb6a9 100644
--- a/src/test_libFLAC/file_utils.c
+++ b/src/test_libFLAC/file_utils.c
@@ -51,7 +51,7 @@
return FLAC__STREAM_ENCODER_WRITE_OK;
}
-static void encoder_metadata_callback_(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetaData *metadata, void *client_data)
+static void encoder_metadata_callback_(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
(void)encoder, (void)metadata, (void)client_data;
}
@@ -92,7 +92,7 @@
return file_utils__change_stats(filename, /*read_only=*/false) && 0 == unlink(filename);
}
-FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned *output_filesize, unsigned length, const FLAC__StreamMetaData *streaminfo, FLAC__StreamMetaData **metadata, unsigned num_metadata)
+FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned *output_filesize, unsigned length, const FLAC__StreamMetadata *streaminfo, FLAC__StreamMetadata **metadata, unsigned num_metadata)
{
FLAC__int32 samples[1024];
FLAC__StreamEncoder *encoder;
diff --git a/src/test_libFLAC/file_utils.h b/src/test_libFLAC/file_utils.h
index 5944187..851992e 100644
--- a/src/test_libFLAC/file_utils.h
+++ b/src/test_libFLAC/file_utils.h
@@ -25,6 +25,6 @@
FLAC__bool file_utils__remove_file(const char *filename);
-FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned *output_filesize, unsigned length, const FLAC__StreamMetaData *streaminfo, FLAC__StreamMetaData **metadata, unsigned num_metadata);
+FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned *output_filesize, unsigned length, const FLAC__StreamMetadata *streaminfo, FLAC__StreamMetadata **metadata, unsigned num_metadata);
#endif
diff --git a/src/test_libFLAC/matrix b/src/test_libFLAC/matrix
index 57fae25..a78ecf3 100644
--- a/src/test_libFLAC/matrix
+++ b/src/test_libFLAC/matrix
@@ -42,8 +42,8 @@
e use_padding, last block is not padding, delta is >= 4
f use_padding, last block is padding
-void FLAC__metadata_chain_merge_padding(FLAC__MetaData_Chain *chain);
-void FLAC__metadata_chain_sort_padding(FLAC__MetaData_Chain *chain);
+void FLAC__metadata_chain_merge_padding(FLAC__Metadata_Chain *chain);
+void FLAC__metadata_chain_sort_padding(FLAC__Metadata_Chain *chain);
S:34 A:1234
a:shrink A->30 write nopad
diff --git a/src/test_libFLAC/metadata_manip.c b/src/test_libFLAC/metadata_manip.c
index fc7ae3d..8aebd8a 100644
--- a/src/test_libFLAC/metadata_manip.c
+++ b/src/test_libFLAC/metadata_manip.c
@@ -31,7 +31,7 @@
after each operation. Then testing becomes a simple matter of running
a FLAC__FileDecoder over the dummy file after each operation, comparing
the decoded metadata to what's in our local copy. If there are any
- differences in the metadata, or the actual audio data is corrupted, we
+ differences in the metadata, or the actual audio data is corrupted, we
will catch it while decoding.
******************************************************************************/
@@ -40,7 +40,7 @@
} decoder_client_struct;
typedef struct {
- FLAC__StreamMetaData *blocks[64];
+ FLAC__StreamMetadata *blocks[64];
unsigned num_blocks;
} our_metadata_struct;
@@ -58,30 +58,30 @@
return false;
}
-static FLAC__bool die_c_(const char *msg, FLAC__MetaData_ChainStatus status)
+static FLAC__bool die_c_(const char *msg, FLAC__Metadata_ChainStatus status)
{
printf("ERROR: %s\n", msg);
- printf(" status=%s\n", FLAC__MetaData_ChainStatusString[status]);
+ printf(" status=%s\n", FLAC__Metadata_ChainStatusString[status]);
return false;
}
-static FLAC__bool die_ss_(const char *msg, FLAC__MetaData_SimpleIterator *siterator)
+static FLAC__bool die_ss_(const char *msg, FLAC__Metadata_SimpleIterator *iterator)
{
printf("ERROR: %s\n", msg);
- printf(" status=%s\n", FLAC__MetaData_SimpleIteratorStatusString[FLAC__metadata_simple_iterator_status(siterator)]);
+ printf(" status=%s\n", FLAC__Metadata_SimpleIteratorStatusString[FLAC__metadata_simple_iterator_status(iterator)]);
return false;
}
/* functions for working with our metadata copy */
-static FLAC__bool replace_in_our_metadata_(FLAC__StreamMetaData *block, unsigned position, FLAC__bool copy)
+static FLAC__bool replace_in_our_metadata_(FLAC__StreamMetadata *block, unsigned position, FLAC__bool copy)
{
unsigned i;
- FLAC__StreamMetaData *obj = block;
+ FLAC__StreamMetadata *obj = block;
FLAC__ASSERT(position < our_metadata_.num_blocks);
if(copy) {
- if(0 == (obj = FLAC__metadata_object_copy(block)))
- return die_("during FLAC__metadata_object_copy()");
+ if(0 == (obj = FLAC__metadata_object_clone(block)))
+ return die_("during FLAC__metadata_object_clone()");
}
FLAC__metadata_object_delete(our_metadata_.blocks[position]);
our_metadata_.blocks[position] = obj;
@@ -94,13 +94,13 @@
return true;
}
-static FLAC__bool insert_to_our_metadata_(FLAC__StreamMetaData *block, unsigned position, FLAC__bool copy)
+static FLAC__bool insert_to_our_metadata_(FLAC__StreamMetadata *block, unsigned position, FLAC__bool copy)
{
unsigned i;
- FLAC__StreamMetaData *obj = block;
+ FLAC__StreamMetadata *obj = block;
if(copy) {
- if(0 == (obj = FLAC__metadata_object_copy(block)))
- return die_("during FLAC__metadata_object_copy()");
+ if(0 == (obj = FLAC__metadata_object_clone(block)))
+ return die_("during FLAC__metadata_object_clone()");
}
if(position > our_metadata_.num_blocks) {
position = our_metadata_.num_blocks;
@@ -137,13 +137,13 @@
}
}
-/* function for comparing our metadata to a FLAC__MetaData_Chain */
+/* function for comparing our metadata to a FLAC__Metadata_Chain */
-static FLAC__bool compare_chain_(FLAC__MetaData_Chain *chain, unsigned current_position, FLAC__StreamMetaData *current_block)
+static FLAC__bool compare_chain_(FLAC__Metadata_Chain *chain, unsigned current_position, FLAC__StreamMetadata *current_block)
{
unsigned i;
- FLAC__MetaData_Iterator *iterator;
- FLAC__StreamMetaData *block;
+ FLAC__Metadata_Iterator *iterator;
+ FLAC__StreamMetadata *block;
FLAC__bool next_ok = true;
FLAC__ASSERT(0 != chain);
@@ -213,17 +213,8 @@
return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
}
-static void decoder_error_callback_(const FLAC__FileDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
-{
- decoder_client_struct *dcd = (decoder_client_struct*)client_data;
- (void)decoder;
-
- dcd->error_occurred = true;
- printf("ERROR: got error callback, status = %s (%u)\n", FLAC__StreamDecoderErrorStatusString[status], (unsigned)status);
-}
-
/* this version pays no attention to the metadata */
-static void decoder_metadata_callback_null_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data)
+static void decoder_metadata_callback_null_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
(void)decoder, (void)metadata, (void)client_data;
@@ -234,7 +225,7 @@
}
/* this version is used when we want to compare to our metadata copy */
-static void decoder_metadata_callback_compare_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data)
+static void decoder_metadata_callback_compare_(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
decoder_client_struct *dcd = (decoder_client_struct*)client_data;
@@ -260,10 +251,19 @@
mc_our_block_number_++;
}
+static void decoder_error_callback_(const FLAC__FileDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
+{
+ decoder_client_struct *dcd = (decoder_client_struct*)client_data;
+ (void)decoder;
+
+ dcd->error_occurred = true;
+ printf("ERROR: got error callback, status = %s (%u)\n", FLAC__StreamDecoderErrorStatusString[status], (unsigned)status);
+}
+
static FLAC__bool generate_file_()
{
- FLAC__StreamMetaData streaminfo, padding;
- FLAC__StreamMetaData *metadata[1];
+ FLAC__StreamMetadata streaminfo, padding;
+ FLAC__StreamMetadata *metadata[1];
printf("generating FLAC file for test\n");
@@ -298,7 +298,7 @@
return true;
}
-static FLAC__bool test_file_(const char *filename, void (*metadata_callback)(const FLAC__FileDecoder *decoder, const FLAC__StreamMetaData *metadata, void *client_data))
+static FLAC__bool test_file_(const char *filename, void (*metadata_callback)(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data))
{
FLAC__FileDecoder *decoder;
decoder_client_struct decoder_client_data;
@@ -313,7 +313,7 @@
fflush(stdout);
if(0 == (decoder = FLAC__file_decoder_new()))
- return die_("couldn't allocate memory");
+ return die_("couldn't allocate decoder instance");
FLAC__file_decoder_set_md5_checking(decoder, true);
FLAC__file_decoder_set_filename(decoder, filename);
@@ -367,7 +367,7 @@
static FLAC__bool test_level_0_()
{
- FLAC__StreamMetaData_StreamInfo streaminfo;
+ FLAC__StreamMetadata_StreamInfo streaminfo;
printf("\n\n++++++ testing level 0 interface\n");
@@ -400,8 +400,8 @@
static FLAC__bool test_level_1_()
{
- FLAC__MetaData_SimpleIterator *siterator;
- FLAC__StreamMetaData *block, *app, *padding;
+ FLAC__Metadata_SimpleIterator *iterator;
+ FLAC__StreamMetadata *block, *app, *padding;
FLAC__byte data[1000];
unsigned our_current_position = 0;
@@ -420,21 +420,21 @@
if(!test_file_(flacfile_, decoder_metadata_callback_null_))
return false;
- if(0 == (siterator = FLAC__metadata_simple_iterator_new()))
+ if(0 == (iterator = FLAC__metadata_simple_iterator_new()))
return die_("FLAC__metadata_simple_iterator_new()");
- if(!FLAC__metadata_simple_iterator_init(siterator, flacfile_, false))
- return die_("ERROR: FLAC__metadata_simple_iterator_init()\n");
+ if(!FLAC__metadata_simple_iterator_init(iterator, flacfile_, false))
+ return die_("FLAC__metadata_simple_iterator_init() returned false");
- printf("is writable = %u\n", (unsigned)FLAC__metadata_simple_iterator_is_writable(siterator));
- if(FLAC__metadata_simple_iterator_is_writable(siterator))
+ printf("is writable = %u\n", (unsigned)FLAC__metadata_simple_iterator_is_writable(iterator));
+ if(FLAC__metadata_simple_iterator_is_writable(iterator))
return die_("iterator claims file is writable when it should not be\n");
printf("iterate forwards\n");
- if(FLAC__metadata_simple_iterator_get_block_type(siterator) != FLAC__METADATA_TYPE_STREAMINFO)
+ if(FLAC__metadata_simple_iterator_get_block_type(iterator) != FLAC__METADATA_TYPE_STREAMINFO)
return die_("expected STREAMINFO type from FLAC__metadata_simple_iterator_get_block_type()");
- if(0 == (block = FLAC__metadata_simple_iterator_get_block(siterator)))
+ if(0 == (block = FLAC__metadata_simple_iterator_get_block(iterator)))
return die_("getting block 0");
if(block->type != FLAC__METADATA_TYPE_STREAMINFO)
return die_("expected STREAMINFO type");
@@ -454,13 +454,13 @@
if(block->data.stream_info.max_blocksize != 576)
return die_("mismatch in max_blocksize");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!FLAC__metadata_simple_iterator_next(iterator))
return die_("forward iterator ended early");
our_current_position++;
- if(FLAC__metadata_simple_iterator_get_block_type(siterator) != FLAC__METADATA_TYPE_PADDING)
+ if(FLAC__metadata_simple_iterator_get_block_type(iterator) != FLAC__METADATA_TYPE_PADDING)
return die_("expected PADDING type from FLAC__metadata_simple_iterator_get_block_type()");
- if(0 == (block = FLAC__metadata_simple_iterator_get_block(siterator)))
+ if(0 == (block = FLAC__metadata_simple_iterator_get_block(iterator)))
return die_("getting block 1");
if(block->type != FLAC__METADATA_TYPE_PADDING)
return die_("expected PADDING type");
@@ -468,25 +468,25 @@
return die_("expected is_last to be true");
/* check to see if some basic data matches (c.f. generate_file_()) */
if(block->length != 1234)
- return die_("bad STREAMINFO length");
+ return die_("bad PADDING length");
- if(FLAC__metadata_simple_iterator_next(siterator))
+ if(FLAC__metadata_simple_iterator_next(iterator))
return die_("forward iterator returned true but should have returned false");
printf("iterate backwards\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!FLAC__metadata_simple_iterator_prev(iterator))
return die_("reverse iterator ended early");
- if(FLAC__metadata_simple_iterator_prev(siterator))
+ if(FLAC__metadata_simple_iterator_prev(iterator))
return die_("reverse iterator returned true but should have returned false");
printf("testing FLAC__metadata_simple_iterator_set_block() on read-only file...\n");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, (FLAC__StreamMetaData*)99, false))
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, (FLAC__StreamMetadata*)99, false))
printf("PASSED. FLAC__metadata_simple_iterator_set_block() returned false like it should\n");
else
return die_("FLAC__metadata_simple_iterator_set_block() returned true but shouldn't have");
- FLAC__metadata_simple_iterator_delete(siterator);
+ FLAC__metadata_simple_iterator_delete(iterator);
/************************************************************/
@@ -507,47 +507,47 @@
return die_("FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING)");
padding->length = 20;
- if(0 == (siterator = FLAC__metadata_simple_iterator_new()))
+ if(0 == (iterator = FLAC__metadata_simple_iterator_new()))
return die_("FLAC__metadata_simple_iterator_new()");
- if(!FLAC__metadata_simple_iterator_init(siterator, flacfile_, /*preserve_file_stats=*/false))
- return die_("ERROR: FLAC__metadata_simple_iterator_init()\n");
+ if(!FLAC__metadata_simple_iterator_init(iterator, flacfile_, /*preserve_file_stats=*/false))
+ return die_("FLAC__metadata_simple_iterator_init() returned false");
our_current_position = 0;
- printf("is writable = %u\n", (unsigned)FLAC__metadata_simple_iterator_is_writable(siterator));
+ printf("is writable = %u\n", (unsigned)FLAC__metadata_simple_iterator_is_writable(iterator));
printf("[S]P\ttry to write over STREAMINFO block...\n");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, false))
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, app, false))
printf("\tFLAC__metadata_simple_iterator_set_block() returned false like it should\n");
else
return die_("FLAC__metadata_simple_iterator_set_block() returned true but shouldn't have");
printf("[S]P\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!FLAC__metadata_simple_iterator_next(iterator))
return die_("iterator ended early\n");
our_current_position++;
printf("S[P]\tinsert PADDING after, don't expand into padding\n");
padding->length = 25;
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_insert_block_after(iterator, padding, false))
+ return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(iterator, padding, false)", iterator);
if(!insert_to_our_metadata_(padding, ++our_current_position, /*copy=*/true))
return false;
printf("SP[P]\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!FLAC__metadata_simple_iterator_prev(iterator))
return die_("iterator ended early\n");
our_current_position--;
printf("S[P]P\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!FLAC__metadata_simple_iterator_prev(iterator))
return die_("iterator ended early\n");
our_current_position--;
printf("[S]PP\tinsert PADDING after, don't expand into padding\n");
padding->length = 30;
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_insert_block_after(iterator, padding, false))
+ return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(iterator, padding, false)", iterator);
if(!insert_to_our_metadata_(padding, ++our_current_position, /*copy=*/true))
return false;
@@ -555,84 +555,84 @@
return false;
printf("S[P]PP\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!FLAC__metadata_simple_iterator_prev(iterator))
return die_("iterator ended early\n");
our_current_position--;
printf("[S]PPP\tdelete (STREAMINFO block), must fail\n");
- if(FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false) should have returned false", siterator);
+ if(FLAC__metadata_simple_iterator_delete_block(iterator, false))
+ return die_ss_("FLAC__metadata_simple_iterator_delete_block(iterator, false) should have returned false", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
printf("[S]PPP\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!FLAC__metadata_simple_iterator_next(iterator))
return die_("iterator ended early\n");
our_current_position++;
printf("S[P]PP\tdelete (middle block), replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, true))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_delete_block(iterator, true))
+ return die_ss_("FLAC__metadata_simple_iterator_delete_block(iterator, true)", iterator);
our_current_position--;
printf("[S]PPP\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!FLAC__metadata_simple_iterator_next(iterator))
return die_("iterator ended early\n");
our_current_position++;
printf("S[P]PP\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_delete_block(iterator, false))
+ return die_ss_("FLAC__metadata_simple_iterator_delete_block(iterator, false)", iterator);
delete_from_our_metadata_(our_current_position--);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
printf("[S]PP\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!FLAC__metadata_simple_iterator_next(iterator))
return die_("iterator ended early\n");
our_current_position++;
printf("S[P]P\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!FLAC__metadata_simple_iterator_next(iterator))
return die_("iterator ended early\n");
our_current_position++;
printf("SP[P]\tdelete (last block), replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, true))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_delete_block(iterator, true))
+ return die_ss_("FLAC__metadata_simple_iterator_delete_block(iterator, false)", iterator);
our_current_position--;
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
printf("S[P]P\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!FLAC__metadata_simple_iterator_next(iterator))
return die_("iterator ended early\n");
our_current_position++;
printf("SP[P]\tdelete (last block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_delete_block(iterator, false))
+ return die_ss_("FLAC__metadata_simple_iterator_delete_block(iterator, false)", iterator);
delete_from_our_metadata_(our_current_position--);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
printf("S[P]\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!FLAC__metadata_simple_iterator_prev(iterator))
return die_("iterator ended early\n");
our_current_position--;
printf("[S]P\tset STREAMINFO (change sample rate)\n");
FLAC__ASSERT(our_current_position == 0);
- block = FLAC__metadata_simple_iterator_get_block(siterator);
+ block = FLAC__metadata_simple_iterator_get_block(iterator);
block->data.stream_info.sample_rate = 32000;
if(!replace_in_our_metadata_(block, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, block, false))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, block, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, block, false))
+ return die_ss_("FLAC__metadata_simple_iterator_set_block(iterator, block, false)", iterator);
FLAC__metadata_object_delete(block);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
@@ -640,8 +640,8 @@
printf("[S]P\tinsert APPLICATION after, expand into padding of exceeding size\n");
app->data.application.id[0] = 'e'; /* twiddle the id so that our comparison doesn't miss transposition */
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_insert_block_after(iterator, app, true))
+ return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(iterator, app, true)", iterator);
if(!insert_to_our_metadata_(app, ++our_current_position, /*copy=*/true))
return false;
our_metadata_.blocks[our_current_position+1]->length -= (FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8) + app->length;
@@ -650,14 +650,14 @@
return false;
printf("S[A]P\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!FLAC__metadata_simple_iterator_next(iterator))
return die_("iterator ended early\n");
our_current_position++;
printf("SA[P]\tset APPLICATION, expand into padding of exceeding size\n");
app->data.application.id[0] = 'f'; /* twiddle the id */
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, app, true))
+ return die_ss_("FLAC__metadata_simple_iterator_set_block(iterator, app, true)", iterator);
if(!insert_to_our_metadata_(app, our_current_position, /*copy=*/true))
return false;
our_metadata_.blocks[our_current_position+1]->length -= (FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8) + app->length;
@@ -671,8 +671,8 @@
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, false))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, app, false))
+ return die_ss_("FLAC__metadata_simple_iterator_set_block(iterator, app, false)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
@@ -683,8 +683,8 @@
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, false))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, app, false))
+ return die_ss_("FLAC__metadata_simple_iterator_set_block(iterator, app, false)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
@@ -696,8 +696,8 @@
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
our_metadata_.blocks[our_current_position+1]->length -= (sizeof(data) - 12);
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, app, true))
+ return die_ss_("FLAC__metadata_simple_iterator_set_block(iterator, app, true)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
@@ -711,19 +711,19 @@
if(!insert_to_our_metadata_(padding, our_current_position+1, /*copy=*/true))
return die_("copying object");
our_metadata_.blocks[our_current_position+1]->length = sizeof(data) - 23 - FLAC__STREAM_METADATA_HEADER_LENGTH;
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, app, true))
+ return die_ss_("FLAC__metadata_simple_iterator_set_block(iterator, app, true)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
printf("SA[A]PP\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!FLAC__metadata_simple_iterator_next(iterator))
return die_("iterator ended early\n");
our_current_position++;
printf("SAA[P]P\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!FLAC__metadata_simple_iterator_next(iterator))
return die_("iterator ended early\n");
our_current_position++;
@@ -731,8 +731,8 @@
padding->length = 5;
if(!replace_in_our_metadata_(padding, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, padding, false))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, padding, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, padding, false))
+ return die_ss_("FLAC__metadata_simple_iterator_set_block(iterator, padding, false)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
@@ -741,8 +741,8 @@
app->data.application.id[0] = 'k'; /* twiddle the id */
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, false))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, app, false))
+ return die_ss_("FLAC__metadata_simple_iterator_set_block(iterator, app, false)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
@@ -751,42 +751,42 @@
padding->length = 27;
if(!replace_in_our_metadata_(padding, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, padding, false))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, padding, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, padding, false))
+ return die_ss_("FLAC__metadata_simple_iterator_set_block(iterator, padding, false)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
printf("SAAP[P]\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!FLAC__metadata_simple_iterator_prev(iterator))
return die_("iterator ended early\n");
our_current_position--;
printf("SAA[P]P\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_delete_block(iterator, false))
+ return die_ss_("FLAC__metadata_simple_iterator_delete_block(iterator, false)", iterator);
delete_from_our_metadata_(our_current_position--);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
printf("SA[A]P\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_delete_block(iterator, false))
+ return die_ss_("FLAC__metadata_simple_iterator_delete_block(iterator, false)", iterator);
delete_from_our_metadata_(our_current_position--);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
printf("S[A]P\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!FLAC__metadata_simple_iterator_next(iterator))
return die_("iterator ended early\n");
our_current_position++;
printf("SA[P]\tinsert PADDING after\n");
padding->length = 5;
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_insert_block_after(iterator, padding, false))
+ return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(iterator, padding, false)", iterator);
if(!insert_to_our_metadata_(padding, ++our_current_position, /*copy=*/true))
return false;
@@ -794,12 +794,12 @@
return false;
printf("SAP[P]\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!FLAC__metadata_simple_iterator_prev(iterator))
return die_("iterator ended early\n");
our_current_position--;
printf("SA[P]P\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!FLAC__metadata_simple_iterator_prev(iterator))
return die_("iterator ended early\n");
our_current_position--;
@@ -808,8 +808,8 @@
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, app, true))
+ return die_ss_("FLAC__metadata_simple_iterator_set_block(iterator, app, true)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
@@ -819,8 +819,8 @@
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, app, true))
+ return die_ss_("FLAC__metadata_simple_iterator_set_block(iterator, app, true)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
@@ -831,8 +831,8 @@
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
our_metadata_.blocks[our_current_position+1]->length = 0;
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, app, true))
+ return die_ss_("FLAC__metadata_simple_iterator_set_block(iterator, app, true)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
@@ -843,8 +843,8 @@
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
delete_from_our_metadata_(our_current_position+1);
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, app, true))
+ return die_ss_("FLAC__metadata_simple_iterator_set_block(iterator, app, true)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
@@ -856,8 +856,8 @@
return die_("copying object");
delete_from_our_metadata_(our_current_position+1);
our_metadata_.blocks[our_current_position]->is_last = true;
- if(!FLAC__metadata_simple_iterator_set_block(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, app, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, app, true))
+ return die_ss_("FLAC__metadata_simple_iterator_set_block(iterator, app, true)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
@@ -866,15 +866,15 @@
padding->length = app->length;
if(!replace_in_our_metadata_(padding, our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_set_block(siterator, padding, true))
- return die_ss_("FLAC__metadata_simple_iterator_set_block(siterator, padding, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_set_block(iterator, padding, true))
+ return die_ss_("FLAC__metadata_simple_iterator_set_block(iterator, padding, true)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
printf("S[P]\tinsert PADDING after\n");
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_insert_block_after(iterator, padding, false))
+ return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(iterator, padding, false)", iterator);
if(!insert_to_our_metadata_(padding, ++our_current_position, /*copy=*/true))
return false;
@@ -883,8 +883,8 @@
printf("SP[P]\tinsert PADDING after\n");
padding->length = 5;
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, padding, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_insert_block_after(iterator, padding, false))
+ return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(iterator, padding, false)", iterator);
if(!insert_to_our_metadata_(padding, ++our_current_position, /*copy=*/true))
return false;
@@ -892,17 +892,17 @@
return false;
printf("SPP[P]\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!FLAC__metadata_simple_iterator_prev(iterator))
return die_("iterator ended early\n");
our_current_position--;
printf("SP[P]P\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!FLAC__metadata_simple_iterator_prev(iterator))
return die_("iterator ended early\n");
our_current_position--;
printf("S[P]PP\tprev\n");
- if(!FLAC__metadata_simple_iterator_prev(siterator))
+ if(!FLAC__metadata_simple_iterator_prev(iterator))
return die_("iterator ended early\n");
our_current_position--;
@@ -911,15 +911,15 @@
return die_("setting APPLICATION data");
if(!insert_to_our_metadata_(app, ++our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_insert_block_after(iterator, app, true))
+ return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(iterator, app, true)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
printf("S[A]PPP\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_delete_block(iterator, false))
+ return die_ss_("FLAC__metadata_simple_iterator_delete_block(iterator, false)", iterator);
delete_from_our_metadata_(our_current_position--);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
@@ -930,15 +930,15 @@
return die_("setting APPLICATION data");
if(!insert_to_our_metadata_(app, ++our_current_position, /*copy=*/true))
return die_("copying object");
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_insert_block_after(iterator, app, true))
+ return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(iterator, app, true)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
printf("S[A]PPP\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_delete_block(iterator, false))
+ return die_ss_("FLAC__metadata_simple_iterator_delete_block(iterator, false)", iterator);
delete_from_our_metadata_(our_current_position--);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
@@ -950,15 +950,15 @@
if(!insert_to_our_metadata_(app, ++our_current_position, /*copy=*/true))
return die_("copying object");
delete_from_our_metadata_(our_current_position+1);
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_insert_block_after(iterator, app, true))
+ return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(iterator, app, true)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
printf("S[A]PP\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_delete_block(iterator, false))
+ return die_ss_("FLAC__metadata_simple_iterator_delete_block(iterator, false)", iterator);
delete_from_our_metadata_(our_current_position--);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
@@ -970,28 +970,28 @@
if(!insert_to_our_metadata_(app, ++our_current_position, /*copy=*/true))
return die_("copying object");
our_metadata_.blocks[our_current_position+1]->length = 0;
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_insert_block_after(iterator, app, true))
+ return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(iterator, app, true)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
printf("S[A]PP\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_delete_block(iterator, false))
+ return die_ss_("FLAC__metadata_simple_iterator_delete_block(iterator, false)", iterator);
delete_from_our_metadata_(our_current_position--);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
printf("[S]PP\tnext\n");
- if(!FLAC__metadata_simple_iterator_next(siterator))
+ if(!FLAC__metadata_simple_iterator_next(iterator))
return die_("iterator ended early\n");
our_current_position++;
printf("S[P]P\tdelete (middle block), don't replace with padding\n");
- if(!FLAC__metadata_simple_iterator_delete_block(siterator, false))
- return die_ss_("FLAC__metadata_simple_iterator_delete_block(siterator, false)", siterator);
+ if(!FLAC__metadata_simple_iterator_delete_block(iterator, false))
+ return die_ss_("FLAC__metadata_simple_iterator_delete_block(iterator, false)", iterator);
delete_from_our_metadata_(our_current_position--);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
@@ -1003,15 +1003,15 @@
if(!insert_to_our_metadata_(app, ++our_current_position, /*copy=*/true))
return die_("copying object");
delete_from_our_metadata_(our_current_position+1);
- if(!FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true))
- return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(siterator, app, true)", siterator);
+ if(!FLAC__metadata_simple_iterator_insert_block_after(iterator, app, true))
+ return die_ss_("FLAC__metadata_simple_iterator_insert_block_after(iterator, app, true)", iterator);
if(!test_file_(flacfile_, decoder_metadata_callback_compare_))
return false;
printf("delete simple iterator\n");
- FLAC__metadata_simple_iterator_delete(siterator);
+ FLAC__metadata_simple_iterator_delete(iterator);
FLAC__metadata_object_delete(app);
FLAC__metadata_object_delete(padding);
@@ -1024,9 +1024,9 @@
static FLAC__bool test_level_2_()
{
- FLAC__MetaData_Iterator *iterator;
- FLAC__MetaData_Chain *chain;
- FLAC__StreamMetaData *block, *app, *padding;
+ FLAC__Metadata_Iterator *iterator;
+ FLAC__Metadata_Chain *chain;
+ FLAC__StreamMetadata *block, *app, *padding;
FLAC__byte data[2000];
unsigned our_current_position;
@@ -1114,7 +1114,7 @@
return false;
printf("S[A]\tshrink APPLICATION, don't use padding\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 26, true))
return die_("setting APPLICATION data");
@@ -1131,7 +1131,7 @@
return false;
printf("S[A]\tgrow APPLICATION, don't use padding\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 28, true))
return die_("setting APPLICATION data");
@@ -1148,7 +1148,7 @@
return false;
printf("S[A]\tgrow APPLICATION, use padding, but last block is not padding\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 36, true))
return die_("setting APPLICATION data");
@@ -1165,7 +1165,7 @@
return false;
printf("S[A]\tshrink APPLICATION, use padding, last block is not padding, but delta is too small for new PADDING block\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 33, true))
return die_("setting APPLICATION data");
@@ -1184,7 +1184,7 @@
printf("S[A]\tshrink APPLICATION, use padding, last block is not padding, delta is enough for new PADDING block\n");
if(0 == (padding = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING)))
return die_("creating PADDING block");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 29, true))
return die_("setting APPLICATION data");
@@ -1204,7 +1204,7 @@
return false;
printf("S[A]P\tshrink APPLICATION, use padding, last block is padding\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 16, true))
return die_("setting APPLICATION data");
@@ -1222,7 +1222,7 @@
return false;
printf("S[A]P\tgrow APPLICATION, use padding, last block is padding, but delta is too small\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 50, true))
return die_("setting APPLICATION data");
@@ -1239,7 +1239,7 @@
return false;
printf("S[A]P\tgrow APPLICATION, use padding, last block is padding of exceeding size\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 56, true))
return die_("setting APPLICATION data");
@@ -1257,7 +1257,7 @@
return false;
printf("S[A]P\tgrow APPLICATION, use padding, last block is padding of exact size\n");
- if(0 == (app = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (app = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("copying object");
if(!FLAC__metadata_object_application_set_data(app, data, 67, true))
return die_("setting APPLICATION data");
@@ -1298,7 +1298,7 @@
return false;
printf("S[P]A\tinsert PADDING before\n");
- if(0 == (padding = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (padding = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("creating PADDING block");
padding->length = 17;
if(!insert_to_our_metadata_(padding, our_current_position, /*copy=*/true))
@@ -1310,7 +1310,7 @@
return false;
printf("S[P]PA\tinsert PADDING before\n");
- if(0 == (padding = FLAC__metadata_object_copy(our_metadata_.blocks[our_current_position])))
+ if(0 == (padding = FLAC__metadata_object_clone(our_metadata_.blocks[our_current_position])))
return die_("creating PADDING block");
padding->length = 0;
if(!insert_to_our_metadata_(padding, our_current_position, /*copy=*/true))
@@ -1337,7 +1337,7 @@
our_current_position++;
printf("SPPP[A]\tinsert PADDING after\n");
- if(0 == (padding = FLAC__metadata_object_copy(our_metadata_.blocks[1])))
+ if(0 == (padding = FLAC__metadata_object_clone(our_metadata_.blocks[1])))
return die_("creating PADDING block");
padding->length = 57;
if(!insert_to_our_metadata_(padding, ++our_current_position, /*copy=*/true))
@@ -1349,7 +1349,7 @@
return false;
printf("SPPPA[P]\tinsert PADDING before\n");
- if(0 == (padding = FLAC__metadata_object_copy(our_metadata_.blocks[1])))
+ if(0 == (padding = FLAC__metadata_object_clone(our_metadata_.blocks[1])))
return die_("creating PADDING block");
padding->length = 99;
if(!insert_to_our_metadata_(padding, our_current_position, /*copy=*/true))
@@ -1503,7 +1503,7 @@
FLAC__bool test_metadata_file_manipulation()
{
- printf("\n+++ unit test: metadata manipulation\n\n");
+ printf("\n+++ libFLAC unit test: metadata manipulation\n\n");
our_metadata_.num_blocks = 0;
diff --git a/src/test_libFLAC/metadata_object.c b/src/test_libFLAC/metadata_object.c
index 7196414..7559f59 100644
--- a/src/test_libFLAC/metadata_object.c
+++ b/src/test_libFLAC/metadata_object.c
@@ -37,7 +37,7 @@
return ret;
}
-static FLAC__bool compare_seekpoint_array_(const FLAC__StreamMetaData_SeekPoint *from, const FLAC__StreamMetaData_SeekPoint *to, unsigned n)
+static FLAC__bool compare_seekpoint_array_(const FLAC__StreamMetadata_SeekPoint *from, const FLAC__StreamMetadata_SeekPoint *to, unsigned n)
{
unsigned i;
@@ -62,7 +62,7 @@
return true;
}
-static FLAC__bool check_seektable_(const FLAC__StreamMetaData *block, unsigned num_points, const FLAC__StreamMetaData_SeekPoint *array)
+static FLAC__bool check_seektable_(const FLAC__StreamMetadata *block, unsigned num_points, const FLAC__StreamMetadata_SeekPoint *array)
{
const unsigned expected_length = num_points * FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
@@ -89,7 +89,7 @@
return true;
}
-static void entry_new_(FLAC__StreamMetaData_VorbisComment_Entry *entry, const char *field)
+static void entry_new_(FLAC__StreamMetadata_VorbisComment_Entry *entry, const char *field)
{
entry->length = strlen(field);
entry->entry = (FLAC__byte*)malloc(entry->length);
@@ -97,7 +97,7 @@
memcpy(entry->entry, field, entry->length);
}
-static void entry_clone_(FLAC__StreamMetaData_VorbisComment_Entry *entry)
+static void entry_clone_(FLAC__StreamMetadata_VorbisComment_Entry *entry)
{
FLAC__byte *x = (FLAC__byte*)malloc(entry->length);
FLAC__ASSERT(0 != x);
@@ -105,9 +105,9 @@
entry->entry = x;
}
-static void vc_calc_len_(FLAC__StreamMetaData *block)
+static void vc_calc_len_(FLAC__StreamMetadata *block)
{
- const FLAC__StreamMetaData_VorbisComment *vc = &block->data.vorbis_comment;
+ const FLAC__StreamMetadata_VorbisComment *vc = &block->data.vorbis_comment;
unsigned i;
block->length = FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN / 8;
@@ -119,9 +119,9 @@
}
}
-static void vc_resize_(FLAC__StreamMetaData *block, unsigned num)
+static void vc_resize_(FLAC__StreamMetadata *block, unsigned num)
{
- FLAC__StreamMetaData_VorbisComment *vc = &block->data.vorbis_comment;
+ FLAC__StreamMetadata_VorbisComment *vc = &block->data.vorbis_comment;
if(vc->num_comments != 0) {
FLAC__ASSERT(0 != vc->comments);
@@ -140,43 +140,43 @@
}
}
else {
- vc->comments = (FLAC__StreamMetaData_VorbisComment_Entry*)realloc(vc->comments, sizeof(FLAC__StreamMetaData_VorbisComment_Entry)*num);
+ vc->comments = (FLAC__StreamMetadata_VorbisComment_Entry*)realloc(vc->comments, sizeof(FLAC__StreamMetadata_VorbisComment_Entry)*num);
FLAC__ASSERT(0 != vc->comments);
if(num > vc->num_comments)
- memset(vc->comments+vc->num_comments, 0, sizeof(FLAC__StreamMetaData_VorbisComment_Entry)*(num-vc->num_comments));
+ memset(vc->comments+vc->num_comments, 0, sizeof(FLAC__StreamMetadata_VorbisComment_Entry)*(num-vc->num_comments));
}
vc->num_comments = num;
vc_calc_len_(block);
}
-static void vc_set_vs_new_(FLAC__StreamMetaData_VorbisComment_Entry *entry, FLAC__StreamMetaData *block, const char *field)
+static void vc_set_vs_new_(FLAC__StreamMetadata_VorbisComment_Entry *entry, FLAC__StreamMetadata *block, const char *field)
{
entry_new_(entry, field);
block->data.vorbis_comment.vendor_string = *entry;
vc_calc_len_(block);
}
-static void vc_set_new_(FLAC__StreamMetaData_VorbisComment_Entry *entry, FLAC__StreamMetaData *block, unsigned pos, const char *field)
+static void vc_set_new_(FLAC__StreamMetadata_VorbisComment_Entry *entry, FLAC__StreamMetadata *block, unsigned pos, const char *field)
{
entry_new_(entry, field);
block->data.vorbis_comment.comments[pos] = *entry;
vc_calc_len_(block);
}
-static void vc_insert_new_(FLAC__StreamMetaData_VorbisComment_Entry *entry, FLAC__StreamMetaData *block, unsigned pos, const char *field)
+static void vc_insert_new_(FLAC__StreamMetadata_VorbisComment_Entry *entry, FLAC__StreamMetadata *block, unsigned pos, const char *field)
{
vc_resize_(block, block->data.vorbis_comment.num_comments+1);
- memmove(&block->data.vorbis_comment.comments[pos+1], &block->data.vorbis_comment.comments[pos], sizeof(FLAC__StreamMetaData_VorbisComment_Entry)*(block->data.vorbis_comment.num_comments-1-pos));
+ memmove(&block->data.vorbis_comment.comments[pos+1], &block->data.vorbis_comment.comments[pos], sizeof(FLAC__StreamMetadata_VorbisComment_Entry)*(block->data.vorbis_comment.num_comments-1-pos));
vc_set_new_(entry, block, pos, field);
vc_calc_len_(block);
}
-static void vc_delete_(FLAC__StreamMetaData *block, unsigned pos)
+static void vc_delete_(FLAC__StreamMetadata *block, unsigned pos)
{
if(0 != block->data.vorbis_comment.comments[pos].entry)
free(block->data.vorbis_comment.comments[pos].entry);
- memmove(&block->data.vorbis_comment.comments[pos], &block->data.vorbis_comment.comments[pos+1], sizeof(FLAC__StreamMetaData_VorbisComment_Entry)*(block->data.vorbis_comment.num_comments-pos-1));
+ memmove(&block->data.vorbis_comment.comments[pos], &block->data.vorbis_comment.comments[pos+1], sizeof(FLAC__StreamMetadata_VorbisComment_Entry)*(block->data.vorbis_comment.num_comments-pos-1));
block->data.vorbis_comment.comments[block->data.vorbis_comment.num_comments-1].entry = 0;
block->data.vorbis_comment.comments[block->data.vorbis_comment.num_comments-1].length = 0;
vc_resize_(block, block->data.vorbis_comment.num_comments-1);
@@ -185,13 +185,13 @@
FLAC__bool test_metadata_object()
{
- FLAC__StreamMetaData *block, *blockcopy, *vorbiscomment;
- FLAC__StreamMetaData_SeekPoint seekpoint_array[4];
- FLAC__StreamMetaData_VorbisComment_Entry entry;
+ FLAC__StreamMetadata *block, *blockcopy, *vorbiscomment;
+ FLAC__StreamMetadata_SeekPoint seekpoint_array[4];
+ FLAC__StreamMetadata_VorbisComment_Entry entry;
unsigned i, expected_length, seekpoints;
static FLAC__byte dummydata[4] = { 'a', 'b', 'c', 'd' };
- printf("\n+++ unit test: metadata objects (libFLAC)\n\n");
+ printf("\n+++ libFLAC unit test: metadata objects\n\n");
printf("testing STREAMINFO\n");
@@ -209,8 +209,8 @@
}
printf("OK\n");
- printf("testing FLAC__metadata_object_copy()... ");
- blockcopy = FLAC__metadata_object_copy(block);
+ printf("testing FLAC__metadata_object_clone()... ");
+ blockcopy = FLAC__metadata_object_clone(block);
if(0 == blockcopy) {
printf("FAILED, returned NULL\n");
return false;
@@ -240,8 +240,8 @@
}
printf("OK\n");
- printf("testing FLAC__metadata_object_copy()... ");
- blockcopy = FLAC__metadata_object_copy(block);
+ printf("testing FLAC__metadata_object_clone()... ");
+ blockcopy = FLAC__metadata_object_clone(block);
if(0 == blockcopy) {
printf("FAILED, returned NULL\n");
return false;
@@ -271,8 +271,8 @@
}
printf("OK\n");
- printf("testing FLAC__metadata_object_copy()... ");
- blockcopy = FLAC__metadata_object_copy(block);
+ printf("testing FLAC__metadata_object_clone()... ");
+ blockcopy = FLAC__metadata_object_clone(block);
if(0 == blockcopy) {
printf("FAILED, returned NULL\n");
return false;
@@ -301,8 +301,8 @@
}
printf("OK\n");
- printf("testing FLAC__metadata_object_copy()... ");
- blockcopy = FLAC__metadata_object_copy(block);
+ printf("testing FLAC__metadata_object_clone()... ");
+ blockcopy = FLAC__metadata_object_clone(block);
if(0 == blockcopy) {
printf("FAILED, returned NULL\n");
return false;
@@ -331,8 +331,8 @@
}
printf("OK\n");
- printf("testing FLAC__metadata_object_copy()... ");
- blockcopy = FLAC__metadata_object_copy(block);
+ printf("testing FLAC__metadata_object_clone()... ");
+ blockcopy = FLAC__metadata_object_clone(block);
if(0 == blockcopy) {
printf("FAILED, returned NULL\n");
return false;
@@ -365,8 +365,8 @@
if(!check_seektable_(block, seekpoints, 0))
return false;
- printf("testing FLAC__metadata_object_copy()... ");
- blockcopy = FLAC__metadata_object_copy(block);
+ printf("testing FLAC__metadata_object_clone()... ");
+ blockcopy = FLAC__metadata_object_clone(block);
if(0 == blockcopy) {
printf("FAILED, returned NULL\n");
return false;
@@ -452,8 +452,8 @@
if(!check_seektable_(block, seekpoints, seekpoint_array))
return false;
- printf("testing FLAC__metadata_object_copy()... ");
- blockcopy = FLAC__metadata_object_copy(block);
+ printf("testing FLAC__metadata_object_clone()... ");
+ blockcopy = FLAC__metadata_object_clone(block);
if(0 == blockcopy) {
printf("FAILED, returned NULL\n");
return false;
@@ -516,8 +516,8 @@
}
printf("OK\n");
- printf("testing FLAC__metadata_object_copy()... ");
- vorbiscomment = FLAC__metadata_object_copy(block);
+ printf("testing FLAC__metadata_object_clone()... ");
+ vorbiscomment = FLAC__metadata_object_clone(block);
if(0 == vorbiscomment) {
printf("FAILED, returned NULL\n");
return false;
@@ -596,8 +596,8 @@
return false;
printf("OK\n");
- printf("testing FLAC__metadata_object_copy()... ");
- blockcopy = FLAC__metadata_object_copy(block);
+ printf("testing FLAC__metadata_object_clone()... ");
+ blockcopy = FLAC__metadata_object_clone(block);
if(0 == blockcopy) {
printf("FAILED, returned NULL\n");
return false;
@@ -668,8 +668,8 @@
}
printf("OK\n");
- printf("testing FLAC__metadata_object_copy()... ");
- vorbiscomment = FLAC__metadata_object_copy(block);
+ printf("testing FLAC__metadata_object_clone()... ");
+ vorbiscomment = FLAC__metadata_object_clone(block);
if(0 == vorbiscomment) {
printf("FAILED, returned NULL\n");
return false;
diff --git a/src/test_libFLAC/metadata_utils.c b/src/test_libFLAC/metadata_utils.c
index 6e69b44..a691ab8 100644
--- a/src/test_libFLAC/metadata_utils.c
+++ b/src/test_libFLAC/metadata_utils.c
@@ -26,7 +26,7 @@
#include <stdlib.h> /* for malloc() */
#include <string.h> /* for memcmp() */
-FLAC__bool compare_block_data_streaminfo_(const FLAC__StreamMetaData_StreamInfo *block, const FLAC__StreamMetaData_StreamInfo *blockcopy)
+FLAC__bool compare_block_data_streaminfo_(const FLAC__StreamMetadata_StreamInfo *block, const FLAC__StreamMetadata_StreamInfo *blockcopy)
{
if(blockcopy->min_blocksize != block->min_blocksize) {
printf("FAILED, min_blocksize mismatch, expected %u, got %u\n", block->min_blocksize, blockcopy->min_blocksize);
@@ -100,14 +100,14 @@
return true;
}
-FLAC__bool compare_block_data_padding_(const FLAC__StreamMetaData_Padding *block, const FLAC__StreamMetaData_Padding *blockcopy, unsigned block_length)
+FLAC__bool compare_block_data_padding_(const FLAC__StreamMetadata_Padding *block, const FLAC__StreamMetadata_Padding *blockcopy, unsigned block_length)
{
/* we don't compare the padding guts */
(void)block, (void)blockcopy, (void)block_length;
return true;
}
-FLAC__bool compare_block_data_application_(const FLAC__StreamMetaData_Application *block, const FLAC__StreamMetaData_Application *blockcopy, unsigned block_length)
+FLAC__bool compare_block_data_application_(const FLAC__StreamMetadata_Application *block, const FLAC__StreamMetadata_Application *blockcopy, unsigned block_length)
{
if(block_length < sizeof(block->id)) {
printf("FAILED, bad block length = %u\n", block_length);
@@ -149,7 +149,7 @@
return true;
}
-FLAC__bool compare_block_data_seektable_(const FLAC__StreamMetaData_SeekTable *block, const FLAC__StreamMetaData_SeekTable *blockcopy)
+FLAC__bool compare_block_data_seektable_(const FLAC__StreamMetadata_SeekTable *block, const FLAC__StreamMetadata_SeekTable *blockcopy)
{
unsigned i;
if(blockcopy->num_points != block->num_points) {
@@ -173,7 +173,7 @@
return true;
}
-FLAC__bool compare_block_data_vorbiscomment_(const FLAC__StreamMetaData_VorbisComment *block, const FLAC__StreamMetaData_VorbisComment *blockcopy)
+FLAC__bool compare_block_data_vorbiscomment_(const FLAC__StreamMetadata_VorbisComment *block, const FLAC__StreamMetadata_VorbisComment *blockcopy)
{
unsigned i;
if(blockcopy->vendor_string.length != block->vendor_string.length) {
@@ -215,10 +215,10 @@
return true;
}
-FLAC__bool compare_block_(const FLAC__StreamMetaData *block, const FLAC__StreamMetaData *blockcopy)
+FLAC__bool compare_block_(const FLAC__StreamMetadata *block, const FLAC__StreamMetadata *blockcopy)
{
if(blockcopy->type != block->type) {
- printf("FAILED, type mismatch, expected %s, got %s\n", FLAC__MetaDataTypeString[block->type], FLAC__MetaDataTypeString[blockcopy->type]);
+ printf("FAILED, type mismatch, expected %s, got %s\n", FLAC__MetadataTypeString[block->type], FLAC__MetadataTypeString[blockcopy->type]);
return false;
}
if(blockcopy->is_last != block->is_last) {
diff --git a/src/test_libFLAC/metadata_utils.h b/src/test_libFLAC/metadata_utils.h
index 8f403df..03dca57 100644
--- a/src/test_libFLAC/metadata_utils.h
+++ b/src/test_libFLAC/metadata_utils.h
@@ -28,16 +28,16 @@
#include <stdlib.h> /* for malloc() */
#include <string.h> /* for memcmp() */
-FLAC__bool compare_block_data_streaminfo_(const FLAC__StreamMetaData_StreamInfo *block, const FLAC__StreamMetaData_StreamInfo *blockcopy);
+FLAC__bool compare_block_data_streaminfo_(const FLAC__StreamMetadata_StreamInfo *block, const FLAC__StreamMetadata_StreamInfo *blockcopy);
-FLAC__bool compare_block_data_padding_(const FLAC__StreamMetaData_Padding *block, const FLAC__StreamMetaData_Padding *blockcopy, unsigned block_length);
+FLAC__bool compare_block_data_padding_(const FLAC__StreamMetadata_Padding *block, const FLAC__StreamMetadata_Padding *blockcopy, unsigned block_length);
-FLAC__bool compare_block_data_application_(const FLAC__StreamMetaData_Application *block, const FLAC__StreamMetaData_Application *blockcopy, unsigned block_length);
+FLAC__bool compare_block_data_application_(const FLAC__StreamMetadata_Application *block, const FLAC__StreamMetadata_Application *blockcopy, unsigned block_length);
-FLAC__bool compare_block_data_seektable_(const FLAC__StreamMetaData_SeekTable *block, const FLAC__StreamMetaData_SeekTable *blockcopy);
+FLAC__bool compare_block_data_seektable_(const FLAC__StreamMetadata_SeekTable *block, const FLAC__StreamMetadata_SeekTable *blockcopy);
-FLAC__bool compare_block_data_vorbiscomment_(const FLAC__StreamMetaData_VorbisComment *block, const FLAC__StreamMetaData_VorbisComment *blockcopy);
+FLAC__bool compare_block_data_vorbiscomment_(const FLAC__StreamMetadata_VorbisComment *block, const FLAC__StreamMetadata_VorbisComment *blockcopy);
-FLAC__bool compare_block_(const FLAC__StreamMetaData *block, const FLAC__StreamMetaData *blockcopy);
+FLAC__bool compare_block_(const FLAC__StreamMetadata *block, const FLAC__StreamMetadata *blockcopy);
#endif
diff --git a/src/test_streams/Makefile.vc b/src/test_streams/Makefile.vc
index b2fb411..66d5c34 100644
--- a/src/test_streams/Makefile.vc
+++ b/src/test_streams/Makefile.vc
@@ -19,10 +19,10 @@
!IFDEF DEBUG
.c.obj:
- $(cc) $(cdebug) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3\" -YX /Od /D "_DEBUG" $<
+ $(cc) $(cdebug) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3_beta\" -YX /Od /D "_DEBUG" $<
!else
.c.obj:
- $(cc) /O2 $(crelease) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3\" -YX -DNODEBUG $<
+ $(cc) /O2 $(crelease) $(cflags) /I "..\..\include" /I ".\include" -DSTRICT -DVERSION=\"1.0.3_beta\" -YX -DNODEBUG $<
!endif
C_FILES= \