search for: seektable

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...