Menu

#451 FLAC__stream_decoder_process_single() keeps returning true even after end-of-stream has been reached

1.3.x
open
Erik
5
2020-05-21
2017-01-27
No

It seems like FLAC__stream_decoder_process_single() should signal an error (returning false) after the decoder has reached/detected the end of the stream.
Instead, FLAC__stream_decoder_process_single() keeps returning that things are OK (returning true).
As a result, the caller ends up spinning on FLAC__stream_decoder_process_single() oblivious to the end-of-stream condition.
I've attached a simple patch that gets FLAC__stream_decoder_process_single() to return true when decoder state is FLAC__STREAM_DECODER_END_OF_STREAM.

1 Attachments

Discussion

  • Erik

    Erik - 2017-01-28

    I've tested your patch. Unfortunately it causes a failure in the test suite.

     
  • Pascal Cannenterre

    Hi Erik,

    Thanks for looking into this; I suspected it wouldn't be that easy :-).
    I'll run the test suite as well (if I can) to try and find out where/how it fails.

    Thanks again,

    -- Pascal

     
  • Benjamin Moody

    Benjamin Moody - 2020-05-21

    This does seem like it would be more convenient. And yet, it would be a significant change to the clearly documented API, and would undoubtedly break applications, including some of mine.

     

Log in to post a comment.

MongoDB Logo MongoDB