[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