Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: What is a seektable? (Read 6817 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

What is a seektable?

What is the point of the metadata block "SEEKTABLE", and what are the consequences of deleting it?

I noticed it is present in some of my files, but not in others, although I have ripped them with the same procedure as far as I know.


What is a seektable?

Reply #2
With all due respect, the site you pointed me towards only explains how a seektable is implemented, not what it is. (As is to be expected as it is a specification page)

Quote
SEEKPOINT
<64>    Sample number of first sample in the target frame, or 0xFFFFFFFFFFFFFFFF for a placeholder point.
<64>    Offset (in bytes) from the first byte of the first frame header to the first byte of the target frame's header.
<16>    Number of samples in the target frame.
   NOTES

    For placeholder points, the second and third field values are undefined.
    Seek points within a table must be sorted in ascending order by sample number.
    Seek points within a table must be unique by sample number, with the exception of placeholder points.
    The previous two notes imply that there may be any number of placeholder points, but they must all occur at the end of the table.


From a layman's perspective this is daunting!

What is a seektable?

Reply #3
From the link provided (which I was going to post as well, coming from a simple google search):
Quote
SEEKTABLE: This is an optional block for storing seek points. It is possible to seek to any given sample in a FLAC stream without a seek table, but the delay can be unpredictable since the bitrate may vary widely within a stream. By adding seek points to a stream, this delay can be significantly reduced. Each seek point takes 18 bytes, so 1% resolution within a stream adds less than 2k. There can be only one SEEKTABLE in a stream, but the table can have any number of seek points. There is also a special 'placeholder' seekpoint which will be ignored by decoders but which can be used to reserve space for future seek point insertion.

If you are still having trouble, then I suggest you simply enjoy your music and not worry about them.

What is a seektable?

Reply #4
Fair enough. But how do I add a seektable then? The ones I have just seem to have popped into existence out of nowhere.

What is a seektable?

Reply #5
The simplest way is to re-encode the files without seektable.

What is a seektable?

Reply #6
The ones I have just seem to have popped into existence out of nowhere.

See:
Quote
With no -S options, flac defaults to '-S 10s' [i.e. a seekpoint every # seconds].
FLAC: documentation: official tools: flac: encoding options

As described in the official documentation, you can instruct the encoder to refrain from adding seektables to new files, or remove the seektable using metaflac, but there’s really no point; it exists for a reason and consumes negligible space in doing so.