From: Erik de Castro Lopo Date: Mon, 7 May 2012 09:22:37 +0000 (+1000) Subject: Add functionality present in the C library to the to C++ SeekTable class. X-Git-Tag: 1.3.0pre1~65 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cd9053cd31559c03ae0e48da541c27a7a0582ed5;p=platform%2Fupstream%2Fflac.git Add functionality present in the C library to the to C++ SeekTable class. Patch from Bastiaan Timmer sent to the mailing list. --- diff --git a/include/FLAC++/metadata.h b/include/FLAC++/metadata.h index c23af91..94eb6fc 100644 --- a/include/FLAC++/metadata.h +++ b/include/FLAC++/metadata.h @@ -502,6 +502,9 @@ namespace FLAC { unsigned get_num_points() const; ::FLAC__StreamMetadata_SeekPoint get_point(unsigned index) const; + //! See FLAC__metadata_object_seektable_resize_points() + bool resize_points(unsigned new_num_points); + //! See FLAC__metadata_object_seektable_set_point() void set_point(unsigned index, const ::FLAC__StreamMetadata_SeekPoint &point); @@ -513,6 +516,24 @@ namespace FLAC { //! See FLAC__metadata_object_seektable_is_legal() bool is_legal() const; + + //! See FLAC__metadata_object_seektable_template_append_placeholders() + bool template_append_placeholders(unsigned num); + + //! See FLAC__metadata_object_seektable_template_append_point() + bool template_append_point(FLAC__uint64 sample_number); + + //! See FLAC__metadata_object_seektable_template_append_points() + bool template_append_points(FLAC__uint64 sample_numbers[], unsigned num); + + //! See FLAC__metadata_object_seektable_template_append_spaced_points() + bool template_append_spaced_points(unsigned num, FLAC__uint64 total_samples); + + //! See FLAC__metadata_object_seektable_template_append_spaced_points_by_samples() + bool template_append_spaced_points_by_samples(unsigned samples, FLAC__uint64 total_samples); + + //! See FLAC__metadata_object_seektable_template_sort() + bool template_sort(bool compact); }; /** VORBIS_COMMENT metadata block. diff --git a/src/libFLAC++/metadata.cpp b/src/libFLAC++/metadata.cpp index 3c9f657..0870d02 100644 --- a/src/libFLAC++/metadata.cpp +++ b/src/libFLAC++/metadata.cpp @@ -438,6 +438,12 @@ namespace FLAC { return object_->data.seek_table.points[index]; } + bool SeekTable::resize_points(unsigned new_num_points) + { + FLAC__ASSERT(is_valid()); + return (bool)::FLAC__metadata_object_seektable_resize_points(object_, new_num_points); + } + void SeekTable::set_point(unsigned index, const ::FLAC__StreamMetadata_SeekPoint &point) { FLAC__ASSERT(is_valid()); @@ -465,6 +471,42 @@ namespace FLAC { return (bool)::FLAC__metadata_object_seektable_is_legal(object_); } + bool SeekTable::template_append_placeholders(unsigned num) + { + FLAC__ASSERT(is_valid()); + return (bool)::FLAC__metadata_object_seektable_template_append_placeholders(object_, num); + } + + bool SeekTable::template_append_point(FLAC__uint64 sample_number) + { + FLAC__ASSERT(is_valid()); + return (bool)::FLAC__metadata_object_seektable_template_append_point(object_, sample_number); + } + + bool SeekTable::template_append_points(FLAC__uint64 sample_numbers[], unsigned num) + { + FLAC__ASSERT(is_valid()); + return (bool)::FLAC__metadata_object_seektable_template_append_points(object_, sample_numbers, num); + } + + bool SeekTable::template_append_spaced_points(unsigned num, FLAC__uint64 total_samples) + { + FLAC__ASSERT(is_valid()); + return (bool)::FLAC__metadata_object_seektable_template_append_spaced_points(object_, num, total_samples); + } + + bool SeekTable::template_append_spaced_points_by_samples(unsigned samples, FLAC__uint64 total_samples) + { + FLAC__ASSERT(is_valid()); + return (bool)::FLAC__metadata_object_seektable_template_append_spaced_points_by_samples(object_, samples, total_samples); + } + + bool SeekTable::template_sort(bool compact) + { + FLAC__ASSERT(is_valid()); + return (bool)::FLAC__metadata_object_seektable_template_sort(object_, compact); + } + // // VorbisComment::Entry