chiark
/
gitweb
/
~mdw
/
disorder
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6df8b1b
)
Patch from Ross Younger to correct FLAC decoding.
author
Richard Kettlewell
<rjk@greenend.org.uk>
Sun, 2 Aug 2009 15:44:45 +0000
(16:44 +0100)
committer
Richard Kettlewell
<rjk@greenend.org.uk>
Sun, 2 Aug 2009 15:44:45 +0000
(16:44 +0100)
server/decode.c
patch
|
blob
|
blame
|
history
diff --git
a/server/decode.c
b/server/decode.c
index ef999b3ab3dd327dceb0bd13bcc26eb3dd49d67e..0ced1531441939ad331d76e1e63753b26d90fdca 100644
(file)
--- a/
server/decode.c
+++ b/
server/decode.c
@@
-387,13
+387,20
@@
static void decode_flac(void) {
fatal(0, "FLAC__file_decoder_init: %s", FLAC__FileDecoderStateString[fs]);
FLAC__file_decoder_process_until_end_of_file(fd);
#else
fatal(0, "FLAC__file_decoder_init: %s", FLAC__FileDecoderStateString[fs]);
FLAC__file_decoder_process_until_end_of_file(fd);
#else
- FLAC__StreamDecoder *sd =
0
;
+ FLAC__StreamDecoder *sd =
FLAC__stream_decoder_new()
;
FLAC__StreamDecoderInitStatus is;
FLAC__StreamDecoderInitStatus is;
+ if (!sd)
+ fatal(0, "FLAC__stream_decoder_new failed");
+
if((is = FLAC__stream_decoder_init_file(sd, path, flac_write, flac_metadata,
flac_error, 0)))
fatal(0, "FLAC__stream_decoder_init_file %s: %s",
path, FLAC__StreamDecoderInitStatusString[is]);
if((is = FLAC__stream_decoder_init_file(sd, path, flac_write, flac_metadata,
flac_error, 0)))
fatal(0, "FLAC__stream_decoder_init_file %s: %s",
path, FLAC__StreamDecoderInitStatusString[is]);
+
+ FLAC__stream_decoder_process_until_end_of_stream(sd);
+ FLAC__stream_decoder_finish(sd);
+ FLAC__stream_decoder_delete(sd);
#endif
}
#endif
}