1 --- moc-2.4.1/decoder_plugins/flac/flac.c.orig 2007-01-01 22:55:40.000000000 +0000
2 +++ moc-2.4.1/decoder_plugins/flac/flac.c 2007-01-01 23:26:56.000000000 +0000
7 +#include <FLAC/stream_decoder.h>
15 - FLAC__SeekableStreamDecoder *decoder;
16 + FLAC__StreamDecoder *decoder;
17 struct io_stream *stream;
19 int abort; /* abort playing (due to an error) */
23 static FLAC__StreamDecoderWriteStatus write_callback (
24 - const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED,
25 + const FLAC__StreamDecoder *decoder ATTR_UNUSED,
26 const FLAC__Frame *frame,
27 const FLAC__int32 * const buffer[], void *client_data)
32 static void metadata_callback (
33 - const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED,
34 + const FLAC__StreamDecoder *decoder ATTR_UNUSED,
35 const FLAC__StreamMetadata *metadata, void *client_data)
37 struct flac_data *data = (struct flac_data *)client_data;
41 static void error_callback (
42 - const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED,
43 + const FLAC__StreamDecoder *decoder ATTR_UNUSED,
44 FLAC__StreamDecoderErrorStatus status, void *client_data)
46 struct flac_data *data = (struct flac_data *)client_data;
48 decoder_error (&data->error, ERROR_FATAL, 0, "FLAC: lost sync");
51 -static FLAC__SeekableStreamDecoderReadStatus read_callback (
52 - const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED,
53 +static FLAC__StreamDecoderReadStatus read_callback (
54 + const FLAC__StreamDecoder *decoder ATTR_UNUSED,
55 FLAC__byte buffer[], unsigned *bytes, void *client_data)
57 struct flac_data *data = (struct flac_data *)client_data;
59 return FLAC__STREAM_DECODER_READ_STATUS_ABORT;
62 -static FLAC__SeekableStreamDecoderSeekStatus seek_callback (
63 - const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED,
64 +static FLAC__StreamDecoderSeekStatus seek_callback (
65 + const FLAC__StreamDecoder *decoder ATTR_UNUSED,
66 FLAC__uint64 absolute_byte_offset, void *client_data)
68 struct flac_data *data = (struct flac_data *)client_data;
70 return io_seek(data->stream, absolute_byte_offset, SEEK_SET) >= 0
71 - ? FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_OK
72 - : FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR;
73 + ? FLAC__STREAM_DECODER_SEEK_STATUS_OK
74 + : FLAC__STREAM_DECODER_SEEK_STATUS_ERROR;
77 -static FLAC__SeekableStreamDecoderTellStatus tell_callback (
78 - const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED,
79 +static FLAC__StreamDecoderTellStatus tell_callback (
80 + const FLAC__StreamDecoder *decoder ATTR_UNUSED,
81 FLAC__uint64 *absolute_byte_offset, void *client_data)
83 struct flac_data *data = (struct flac_data *)client_data;
85 *absolute_byte_offset = io_tell (data->stream);
86 - return FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_OK;
87 + return FLAC__STREAM_DECODER_TELL_STATUS_OK;
90 -static FLAC__SeekableStreamDecoderLengthStatus length_callback (
91 - const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED,
92 +static FLAC__StreamDecoderLengthStatus length_callback (
93 + const FLAC__StreamDecoder *decoder ATTR_UNUSED,
94 FLAC__uint64 *stream_length, void *client_data)
96 struct flac_data *data = (struct flac_data *)client_data;
98 *stream_length = io_file_size (data->stream);
99 - return FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK;
100 + return FLAC__STREAM_DECODER_LENGTH_STATUS_OK;
103 static FLAC__bool eof_callback (
104 - const FLAC__SeekableStreamDecoder *decoder ATTR_UNUSED,
105 + const FLAC__StreamDecoder *decoder ATTR_UNUSED,
108 struct flac_data *data = (struct flac_data *)client_data;
109 @@ -248,48 +249,41 @@
113 - if (!(data->decoder = FLAC__seekable_stream_decoder_new())) {
114 + if (!(data->decoder = FLAC__stream_decoder_new())) {
115 decoder_error (&data->error, ERROR_FATAL, 0,
116 - "FLAC__seekable_stream_decoder_new() failed");
117 + "FLAC__stream_decoder_new() failed");
122 - FLAC__seekable_stream_decoder_set_md5_checking (data->decoder, false);
123 + FLAC__stream_decoder_set_md5_checking (data->decoder, false);
125 - FLAC__seekable_stream_decoder_set_metadata_ignore_all (data->decoder);
126 - FLAC__seekable_stream_decoder_set_metadata_respond (data->decoder,
127 + FLAC__stream_decoder_set_metadata_ignore_all (data->decoder);
128 + FLAC__stream_decoder_set_metadata_respond (data->decoder,
129 FLAC__METADATA_TYPE_STREAMINFO);
130 - FLAC__seekable_stream_decoder_set_client_data (data->decoder, data);
131 - FLAC__seekable_stream_decoder_set_metadata_callback (data->decoder,
132 - metadata_callback);
133 - FLAC__seekable_stream_decoder_set_write_callback (data->decoder,
135 - FLAC__seekable_stream_decoder_set_error_callback (data->decoder,
137 - FLAC__seekable_stream_decoder_set_read_callback (data->decoder,
139 - FLAC__seekable_stream_decoder_set_seek_callback (data->decoder,
141 - FLAC__seekable_stream_decoder_set_tell_callback (data->decoder,
143 - FLAC__seekable_stream_decoder_set_length_callback (data->decoder,
145 - FLAC__seekable_stream_decoder_set_eof_callback (data->decoder,
148 - if (FLAC__seekable_stream_decoder_init(data->decoder)
149 - != FLAC__FILE_DECODER_OK) {
150 + if (FLAC__stream_decoder_init_stream(
161 + != FLAC__STREAM_DECODER_INIT_STATUS_OK) {
162 decoder_error (&data->error, ERROR_FATAL, 0,
163 - "FLAC__seekable_stream_decoder_init() failed");
164 + "FLAC__stream_decoder_init() failed");
169 - if (!FLAC__seekable_stream_decoder_process_until_end_of_metadata(
170 + if (!FLAC__stream_decoder_process_until_end_of_metadata(
172 decoder_error (&data->error, ERROR_FATAL, 0,
173 - "FLAC__seekable_stream_decoder_process_until_end_of_metadata()"
174 + "FLAC__stream_decoder_process_until_end_of_metadata()"
182 - FLAC__seekable_stream_decoder_finish (data->decoder);
183 - FLAC__seekable_stream_decoder_delete (data->decoder);
184 + FLAC__stream_decoder_finish (data->decoder);
185 + FLAC__stream_decoder_delete (data->decoder);
187 io_close (data->stream);
189 @@ -430,11 +424,11 @@
190 target_sample = (FLAC__uint64)((sec/(double)data->length) *
191 (double)data->total_samples);
193 - if (FLAC__seekable_stream_decoder_seek_absolute(data->decoder,
194 + if (FLAC__stream_decoder_seek_absolute(data->decoder,
198 - logit ("FLAC__seekable_stream_decoder_seek_absolute() failed.");
199 + logit ("FLAC__stream_decoder_seek_absolute() failed.");
203 @@ -469,13 +463,13 @@
204 if (!data->sample_buffer_fill) {
205 debug ("decoding...");
207 - if (FLAC__seekable_stream_decoder_get_state(data->decoder)
208 - == FLAC__FILE_DECODER_END_OF_FILE) {
209 + if (FLAC__stream_decoder_get_state(data->decoder)
210 + == FLAC__STREAM_DECODER_END_OF_STREAM) {
215 - if (!FLAC__seekable_stream_decoder_process_single(
216 + if (!FLAC__stream_decoder_process_single(
218 decoder_error (&data->error, ERROR_FATAL, 0,
219 "Read error processing frame.");
223 /* Count the bitrate */
224 - if(!FLAC__seekable_stream_decoder_get_decode_position(
225 + if(!FLAC__stream_decoder_get_decode_position(
226 data->decoder, &decode_position))
228 if (decode_position > data->last_decode_position) {