[Flac-dev] FLAC__stream_decoder_seek_absolute with
FLAC__STREAM_DECODER_SEEK_ERROR in 1.1.3 but it worked before
Josh Coalson
xflac at yahoo.com
Wed Mar 7 20:46:06 PST 2007
can you host a FLAC file that has this problem? there have been
some fixes to the seek routine since then and I would like to test
with the latest.
Josh
--- Gilles Boccon-Gibod <bok at bok.net> wrote:
> I've upgraded to FLAC 1.1.3, and now I have some streams where seek
> does not work anymore, but they used to work before.
> After a bit of debugging, it looks like those streams (created a long
> time ago with an old version of FLAC) have a seek table where all the
>
> entries have a stream offset of 0.
> The result is that in the function seek_to_absolute_sample_, on line
> 3076 (file stream_decoder.c), the following test returns:
>
> /* make sure we are not seeking in corrupted stream */
> if (this_frame_sample < lower_bound_sample) {
> decoder->protected_->state = FLAC__STREAM_DECODER_SEEK_ERROR;
> return false;
> }
>
> because 'this_frame_sample' is equal to 0 (because the seek table
> caused the seek search to start at the beginning of the stream)
>
> Now, since seeking in that file worked perfectly fine with older
> libraries, I think it would be great if 1.1.3 and above would keep
> this
> feature of still being able to seek even if the seek table is bogus
> like
> this one (because people may have old streams like this one created
> by
> an old verion of FLAC that did not create a correct seek table).
>
>
> -- Gilles
____________________________________________________________________________________
Sucker-punch spam with award-winning protection.
Try the free Yahoo! Mail Beta.
http://advision.webevents.yahoo.com/mailbeta/features_spam.html
More information about the Flac-dev
mailing list