Lines Matching refs:seek_table
156 FLAC__StreamMetadata seek_table;
658 if(decoder->private_->has_seek_table && 0 != decoder->private_->seek_table.data.seek_table.points) {
659 free(decoder->private_->seek_table.data.seek_table.points);
660 decoder->private_->seek_table.data.seek_table.points = 0;
993 if(decoder->private_->has_seek_table && 0 != decoder->private_->seek_table.data.seek_table.points) {
994 free(decoder->private_->seek_table.data.seek_table.points);
995 decoder->private_->seek_table.data.seek_table.points = 0;
1185 /* if we haven't finished processing the metadata yet, do that so we have the STREAMINFO, SEEK_TABLE, and first_frame_offset */
1442 decoder->private_->metadata_callback(decoder, &decoder->private_->seek_table, decoder->private_->client_data);
1662 decoder->private_->seek_table.type = FLAC__METADATA_TYPE_SEEKTABLE;
1663 decoder->private_->seek_table.is_last = is_last;
1664 decoder->private_->seek_table.length = length;
1666 decoder->private_->seek_table.data.seek_table.num_points = length / FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
1669 if(0 == (decoder->private_->seek_table.data.seek_table.points = safe_realloc_mul_2op_(decoder->private_->seek_table.data.seek_table.points, decoder->private_->seek_table.data.seek_table.num_points, /*times*/sizeof(FLAC__StreamMetadata_SeekPoint)))) {
1673 for(i = 0; i < decoder->private_->seek_table.data.seek_table.num_points; i++) {
1676 decoder->private_->seek_table.data.seek_table.points[i].sample_number = xx;
1680 decoder->private_->seek_table.data.seek_table.points[i].stream_offset = xx;
1684 decoder->private_->seek_table.data.seek_table.points[i].frame_samples = x;
1686 length -= (decoder->private_->seek_table.data.seek_table.num_points * FLAC__STREAM_METADATA_SEEKPOINT_LENGTH);
3017 const FLAC__StreamMetadata_SeekTable *seek_table = decoder->private_->has_seek_table? &decoder->private_->seek_table.data.seek_table : 0;
3060 if(seek_table) {
3067 for(i = (int)seek_table->num_points - 1; i >= 0; i--) {
3069 seek_table->points[i].sample_number != FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER &&
3070 seek_table->points[i].frame_samples > 0 && /* defense against bad seekpoints */
3071 (total_samples <= 0 || seek_table->points[i].sample_number < total_samples) && /* defense against bad seekpoints */
3072 seek_table->points[i].sample_number <= target_sample
3077 new_lower_bound = first_frame_offset + seek_table->points[i].stream_offset;
3078 new_lower_bound_sample = seek_table->points[i].sample_number;
3082 for(i = 0; i < (int)seek_table->num_points; i++) {
3084 seek_table->points[i].sample_number != FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER &&
3085 seek_table->points[i].frame_samples > 0 && /* defense against bad seekpoints */
3086 (total_samples <= 0 || seek_table->points[i].sample_number < total_samples) && /* defense against bad seekpoints */
3087 seek_table->points[i].sample_number > target_sample
3091 if(i < (int)seek_table->num_points) { /* i.e. we found a suitable seek point... */
3092 new_upper_bound = first_frame_offset + seek_table->points[i].stream_offset;
3093 new_upper_bound_sample = seek_table->points[i].sample_number;