merge down from merged-API-layer branch: cvs -q up -dP -j API_LAYER_MERGING_BASELINE -j API_LAYER_MERGING_BRANCH

This commit is contained in:
Josh Coalson
2006-09-13 01:42:27 +00:00
parent 461f3eb260
commit 6b21f66784
156 changed files with 8320 additions and 31342 deletions

View File

@@ -935,7 +935,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_point
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
FLAC__ASSERT(total_samples > 0);
if(num > 0) {
if(num > 0 && total_samples > 0) {
FLAC__StreamMetadata_SeekTable *seek_table = &object->data.seek_table;
unsigned i, j;
@@ -954,6 +954,39 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_point
return true;
}
FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points_by_samples(FLAC__StreamMetadata *object, unsigned samples, FLAC__uint64 total_samples)
{
FLAC__ASSERT(0 != object);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
FLAC__ASSERT(samples > 0);
FLAC__ASSERT(total_samples > 0);
if(samples > 0 && total_samples > 0) {
FLAC__StreamMetadata_SeekTable *seek_table = &object->data.seek_table;
unsigned i, j;
FLAC__uint64 num, sample;
num = 1 + total_samples / samples; /* 1+ for the first sample at 0 */
/* now account for the fact that we don't place a seekpoint at "total_samples" since samples are number from 0: */
if(total_samples % samples == 0)
num--;
i = seek_table->num_points;
if(!FLAC__metadata_object_seektable_resize_points(object, seek_table->num_points + num))
return false;
sample = 0;
for(j = 0; j < num; i++, j++, sample += samples) {
seek_table->points[i].sample_number = sample;
seek_table->points[i].stream_offset = 0;
seek_table->points[i].frame_samples = 0;
}
}
return true;
}
FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_sort(FLAC__StreamMetadata *object, FLAC__bool compact)
{
unsigned unique;