[Flac-dev] FLAC__stream_decoder_process_single and
FLAC__STREAM_DECODER_END_OF_STREAM
Erik de Castro Lopo
erikd-flac at mega-nerd.com
Sat Jul 14 02:18:56 PDT 2007
Hi all,
If I have code that does this:
while (FLAC__stream_decoder_process_single (decoder))
/* Do something. */ ;
I get an infinite loop. Shouldn't FLAC__stream_decoder_process_single
return false if it gets to FLAC__STREAM_DECODER_END_OF_STREAM?
If so, here's a patch.
Cheers,
Erik
------------------8<------------------8<------------------8<------------------
diff -u -r1.140 stream_decoder.c
--- src/libFLAC/stream_decoder.c 10 Jul 2007 02:08:51 -0000 1.140
+++ src/libFLAC/stream_decoder.c 14 Jul 2007 09:15:01 -0000
@@ -1060,6 +1060,7 @@
return true; /* above function sets the status for us */
break;
case FLAC__STREAM_DECODER_END_OF_STREAM:
+ return false;
case FLAC__STREAM_DECODER_ABORTED:
return true;
default:
------------------8<------------------8<------------------8<------------------
--
-----------------------------------------------------------------
Erik de Castro Lopo
-----------------------------------------------------------------
"Python addresses true pseudocode's two major failings: that it
isn't standardized, and it isn't executable."
- Grant R. Griffin in comp.dsp
More information about the Flac-dev
mailing list