Displaying 20 results from an estimated 600 matches similar to: "C API: How to get a seektable for very long files?"
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
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,
2024 Oct 13
2
C API: How to get a seektable for very long files?
I think there is another major issue for me: 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?
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
2024 Oct 14
1
C API: How to get a seektable for very long files?
Op ma 14 okt 2024 om 16:06 schreef Stefan Oltmanns <stefan-oltmanns at gmx.net>:
>
> Unfortunately that doesn't seem to be the case. I just made a capture
> that is > 30 Minutes with total samples set to 0 and a seek table: All
> players I tried cannot seek in the file and cannot determine it's
> length: VLC, Celluloid and DeaDBeef
>
> I wondered why I can
2024 Oct 14
1
C API: How to get a seektable for very long files?
Am 14.10.24 um 09:11 schrieb Martijn van Beurden:
> Op zo 13 okt 2024 om 22:33 schreef Stefan Oltmanns <stefan-oltmanns at gmx.net>:
>>
>
>>
>> The signal is the FM-modulated video signal of video tapes (like VHS).
>> The idea is to capture the signal directly from the video head amplifier
>> in the VCR and later demodulate/decode it in software, providing
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
2024 Oct 15
1
C API: How to get a seektable for very long files?
Am 15.10.24 um 19:03 schrieb Martijn van Beurden:
>
> No, seeking to a specific sample can take a while because of all the
> back-and-forth, but seeking to almost the end of the file is very quick.
>
> I know this is not the cleanest way, but as this only for the rare cases
Ah, I see, because the frame header also include either the sample
number (variable frame size) or the frame
2024 Oct 15
1
C API: How to get a seektable for very long files?
Am 15.10.24 um 21:26 schrieb Alistair Buxton:
> Another SDR user here. It was me who reported the bug where total samples
> wraps around on overflow.
That's a bug in the flac application. I think the correct behavior is
setting it to 0 if total samples > 2^36
>
> FLAC performs extremely well on SDR samples, both speed and compression
> ratio. In my testing it outperforms
2024 Oct 20
1
C API: How to get a seektable for very long files?
Op zo 20 okt 2024 om 03:08 schreef Stefan Oltmanns <stefan-oltmanns at gmx.net>:
>
> I'm not sure what else there could be in "STREAMINFO_EXT" except for
> total samples and sample rate, but maybe there is some other use for (at
> least partially) backward-compatible flac extensions.
>
> Adding that to ffmpeg would also be rather simple.
>
As with any such
2024 Oct 15
1
C API: How to get a seektable for very long files?
Am 14.10.24 um 16:30 schrieb Martijn van Beurden:
> Op ma 14 okt 2024 om 16:06 schreef Stefan Oltmanns <stefan-oltmanns at gmx.net>:
>
> 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
2012 Apr 24
1
Writing seektable using libFLAC++
Hi! I've been using a little C++ program I've written to encode flac files. The program does this in the usual way (I think), by inheriting a class 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
2024 Oct 16
1
C API: How to get a seektable for very long files?
Op wo 16 okt 2024 om 16:25 schreef Stefan Oltmanns <stefan-oltmanns at gmx.net>:
>
> Yes, overwriting the streaminfo total_samples number is a 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
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.
2024 Oct 16
1
C API: How to get a seektable for very long files?
On Wed, 16 Oct 2024 at 00:18, Stefan Oltmanns <stefan-oltmanns at gmx.net>
wrote:
> Am 15.10.24 um 21:26 schrieb Alistair Buxton:
> > Another SDR user here. It was me who reported the bug where total samples
> > wraps around on overflow.
>
> That's a bug in the flac application. I think the correct behavior is
> setting it to 0 if total samples > 2^36
>
2024 Oct 16
1
C API: How to get a seektable for very long files?
Op di 15 okt 2024 om 21:27 schreef Alistair Buxton <a.j.buxton at gmail.com>:
>
> I would like to see this kind of thing put into a secondary metadata block aimed specifically at SDR. This could be completely ignored by regular audio players - these files are not meant to be listened to anyway. I could probably figure out how to implement that, I even started looking into it once, but
2024 Oct 15
2
C API: How to get a seektable for very long files?
Op di 15 okt. 2024 16:18 schreef Stefan Oltmanns <stefan-oltmanns at gmx.net>:
>
> I see, but that would require changes in the software using libflac and
> require the file to be easily seekable to be able to skip to the end and
> depending on how far away the seek points are, it could take a while.
>
No, seeking to a specific sample can take a while because of all the
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 seek point.
This seems to
2006 Jun 14
2
flac seektable during encoding
Please excuse me, I haven't yet dug into the code too far.
What I'd like to do: I'm using ecasound to record for 24 hour periods,
which pipes the output 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
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