Displaying 20 results from an estimated 110 matches for "seektable".
Did you mean:
seekable
2012 Apr 24
1
Writing seektable using libFLAC++
...ss from FLAC::Encoder::File, and passing it chunks of raw samples through process_interleaved()... Anyway, the program works beautifully, and I've now decided to try and add some metadata to the encoded flacs. Eventually, there will be vorbis comments, but right now I'm just trying to add a seektable. From some code examples I've managed to get it working using the libFLAC C API like this:
FLAC__StreamMetadata *md[1];
md[0] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_SEEKTABLE); // THIS LEAKS
FLAC__metadata_object_seektable_template_append_spaced_points(md[0], 13, d_bytestotal...
2024 Oct 13
1
C API: How to get a seektable for very long files?
Op zo 13 okt 2024 om 02:16 schreef Stefan Oltmanns <stefan-oltmanns at gmx.net>:
>
> I cannot find any clues in the documentation how to write a
> seektable/reserve space for it.
> Can someone help me out?
>
There's actually quite a lot of documentation for this.
Please review https://xiph.org/flac/api/group__flac__stream__encoder.html#ga80d57f9069e354cbf1a15a3e3ad9ca78
I quote:
> SEEKTABLE blocks are handled specially. Since you will n...
2024 Oct 13
1
C API: How to get a seektable for very long files?
Hi Martijn,
Am 13.10.24 um 21:00 schrieb Martijn van Beurden:
>
> There's actually quite a lot of documentation for this.
>
> Please review https://xiph.org/flac/api/group__flac__stream__encoder.html#ga80d57f9069e354cbf1a15a3e3ad9ca78
>
> I quote:
>> SEEKTABLE blocks are handled specially. Since you will not know the
>> values for the seek point stream offsets, you should pass in a
>> SEEKTABLE 'template', that is, a SEEKTABLE object with the required
>> sample numbers (or placeholder points), with 0 for the frame_samples
>&g...
2024 Oct 13
1
C API: How to get a seektable for very long files?
...ion? I assume it's not reserving enough space for
the seek table (as a 2 hour capture at 40 MHz is almost 3 month at 40kHz
(flac samplerate field is limited, so I set 40kHz)) and it won't rewrite
a file that is several hundred GBs.
I cannot find any clues in the documentation how to write a
seektable/reserve space for it.
Can someone help me out?
Best regards
Stefan
2024 Oct 13
2
C API: How to get a seektable for very long files?
...In
METADATA_BLOCK_STREAMINFO the field for the length is only 36 bit,
that's not even half an hour at 40 MHz sample rate, resulting in that
the encoder sets it to 0 for longer captures. In the seekpoint the
sample number is 64 bit, which is more than enough.
But how does the decoder handle the seektable when the total number of
samples is unknown? Or does the seektable override the info from
METADATA_BLOCK_STREAMINFO?
I used this functions now to add seekpoints, but all remain placeholders
according to metaflac:
FLAC__metadata_object_new
FLAC__metadata_object_seektable_template_append_placeholde...
2004 Sep 10
2
new SEEKTABLE block
I've checked in code that supports a new metadata block called
SEEKTABLE. Basically, it is an optional, arbitrarily-long list
of seek points, by sample number and stream offset. I also added
command-line options to flac so you can specify seek points by
specific sample number and/or a specific number of evenly-spaced
seek points. The table cost about 18 bytes per see...
2024 Oct 14
1
C API: How to get a seektable for very long files?
Op zo 13 okt 2024 om 22:33 schreef Stefan Oltmanns <stefan-oltmanns at gmx.net>:
>
> Is the seektable written at the beginning of the file in the metadata
> block or can there also be a second metadata block at the end?
>
Only at the start of the file.
>
> If it's at the beginning, would it possible to reserve space for N seek
> points and during encoding remember a seek point...
2024 Oct 14
1
C API: How to get a seektable for very long files?
...eld for the length is only 36 bit,
>> that's not even half an hour at 40 MHz sample rate, resulting in that
>> the encoder sets it to 0 for longer captures. In the seekpoint the
>> sample number is 64 bit, which is more than enough.
>> But how does the decoder handle the seektable when the total number of
>> samples is unknown? Or does the seektable override the info from
>> METADATA_BLOCK_STREAMINFO?
>
> When a suitable seektable is found, it overrides the information from
> streaminfo, yes.
Unfortunately that doesn't seem to be the case. I just ma...
2006 Dec 05
4
flac-1.1.3 fails to decode where flac-1.1.2 works
I'm attempting to decode part of a largefile flac whose seektable is
broken or missing and the file is shorter then it's supposed to be,
when I use 1.1.2 it decodes fine, when I use 1.1.3 it fails
flac --decode --skip=719:58.0 --until=1024:58.0 -o
\/home\/sbh\/work\/hs\/out.wav
\/mnt\/ss\/sdb\/Sound\/Recording\/2006\-11\-29\/in.flac
out.wav: ERROR seeking w...
2006 Dec 05
4
flac-1.1.3 fails to decode where flac-1.1.2 works
I'm attempting to decode part of a largefile flac whose seektable is
broken or missing and the file is shorter then it's supposed to be,
when I use 1.1.2 it decodes fine, when I use 1.1.3 it fails
flac --decode --skip=719:58.0 --until=1024:58.0 -o
\/home\/sbh\/work\/hs\/out.wav
\/mnt\/ss\/sdb\/Sound\/Recording\/2006\-11\-29\/in.flac
out.wav: ERROR seeking w...
2006 Jun 14
2
flac seektable during encoding
...directly to flac. I would like to be able to
decode sections of this (using until/skip) during recording/encoding.
I understand currently that flac can't do this, unless I pipe into dd
to skip after decoding (which would be an incredible waste of
resources). Would it be possible to write the seektable dynamically
(would that be a bit of a cpu hog?), or is there possibly a better way
I'm not thinking of? I'm not asking for anyone to code, I could
attempt hack something for my purposes.
Thanks!
--
avuton
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
2024 Oct 16
1
C API: How to get a seektable for very long files?
...bit of a hack,
> but it would only affect those files with more than 2^36 samples that
> contains the special seek point, so no difference for the average flac user.
>
> Not sure how the applications actually read flac files, if they start
> using the total_samples number before the seektable is parsed or if
> libflac can indicate that the streaminfo is not yet complete.
>
libFLAC reads a file from start to back, and returns data to the
client as soon as it is done parsing. So, it first encounters a
streaminfo metadata block, sends that to the application, then starts
on the seek...
2024 Oct 16
1
C API: How to get a seektable for very long files?
Am 16.10.24 um 15:15 schrieb Martijn van Beurden:
>
> But how should such a number be presented to the libFLAC user? You
> suggested overwriting the streaminfo total_samples number, but
> streaminfo always precedes the seektable, so the streaminfo metadata
> block is already parsed by the application before the seektable is
> even read. Also, I think it is quite hacky to not pass the actual
> streaminfo metadata block to the application but 'patch' it first.
> Furthermore, applications might rely on the...
2004 Sep 10
0
new SEEKTABLE block
I first thought that it would be much better to create a single seek
standard for FLAC. Then, I thought, why couldn't someone just create the
optional SEEKTABLE data after an initial encode, if they need this data?
Since the checksums are a part of the FLAC format (unlike Shorten), and
these checksums are on the data stream, not the metadata, so any additional
metadata shouldn't matter or change the internal checksums, right?
Then, while I was thinkin...
2004 Sep 10
1
Serious bug in FLAC
...). So this code block needs to be wrapped up
something like this...
#ifdef FLAC__HAS_OGG
if(encoder_wrapper->use_ogg)
return;
#endif
Every user who has flac installed but did not configure OGG support
will have a high (but not 100%) chance of creating flac files with
no seektable, and no MD5 checksum, and various other things wrong.
I recommend that in addition to fixing the original bug it is now too
late to avoid tweaking libFLAC so that ignores bogus seektables, and
probably someone needs to write a tool that either removes the
seektable altogether or corrects all the f...
2012 May 05
3
[PATCH] Add missing functions to SeekTable class
The attached patch adds the missing FLAC__metadata_object_seektable_*() functions from FLAC's metadata object methods (FLAC/metadata.h) to FLAC++'s SeekTable class. Of the 11 functions in the C API, only 4 are currently in the C++ API, this patch adds the missing 7.
If this patch is ok, VorbisComment will be next. A quick look tells me only 5 out of 13 FLA...
2024 Oct 16
1
C API: How to get a seektable for very long files?
...You can also use vorbis comments. That would mean no structure, but
easier to do one step at a time. For example, one could set a tag
SAMPLE_RATE=40000000 to convey a sample rate of 40 MHz. Same thing for
the number of samples and actual bit depth (before padding). Of
course, structured things like seektables won't work that way, but
(compressed) XML would. On the other hand, seeing the seektable sizes
you mention, it seems quite a burden to XML parsers.
In your case, where you need to skip a lot, I'd say you need to only
store the frame sizes, compress them (streaming) with something like
def...
2024 Oct 14
1
C API: How to get a seektable for very long files?
...; raw: The total samples field is just wrong, the seek table is correct,
> having sample_numer values a lot higher than total samples. The players
> display the wrong length. Seems to be a bug in flac.
>
I meant that when seeking to a certain sample, the stream decoder can
in fact use the seektable despite not knowing a total number of
samples. Of course, players, especially with GUIs, have to deal with
not knowing a total number of samples. When you click on some progress
bar, the input application has to translate your click to a target
number of samples to pass to libFLAC. These applicatio...
2006 Jun 19
0
flac seektable during encoding
...ld like to be able to
> decode sections of this (using until/skip) during recording/encoding.
>
> I understand currently that flac can't do this, unless I pipe into dd
> to skip after decoding (which would be an incredible waste of
> resources). Would it be possible to write the seektable dynamically
> (would that be a bit of a cpu hog?), or is there possibly a better
> way
> I'm not thinking of?
first question, does your seek have to be sample-accurate?
if not, you can get frame-accurate seeking by building a little
proggie to scan by frame headers looking for a near...
2024 Oct 20
1
C API: How to get a seektable for very long files?
Am 16.10.24 um 19:46 schrieb Martijn van Beurden:
> libFLAC reads a file from start to back, and returns data to the
> client as soon as it is done parsing. So, it first encounters a
> streaminfo metadata block, sends that to the application, then starts
> on the seektable etc. In fact, for a lot of applications, the seek
> table is simply ignored because libFLAC uses it internally.
>
> I don't know how libFLAC should indicate that streaminfo isn't
> complete yet, but I'd say getting applications to understand that is
> more work than them...