From 0fbe7ce0625980c56da4b3b1c02c67e2e8ee4941 Mon Sep 17 00:00:00 2001 From: Josh Coalson Date: Fri, 13 Apr 2001 19:01:56 +0000 Subject: [PATCH] write implementation of FLAC__seek_table_is_valid() --- src/libFLAC/seek_table.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/libFLAC/seek_table.c b/src/libFLAC/seek_table.c index 3c885bc4..30d8aa0d 100644 --- a/src/libFLAC/seek_table.c +++ b/src/libFLAC/seek_table.c @@ -22,5 +22,20 @@ bool FLAC__seek_table_is_valid(FLAC__StreamMetaData_SeekTable *seek_table) { + unsigned i; + uint64 last_sample_number = 0; + bool got_last = false; + + 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; + } + } + return true; }