-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS.libmpg123
224 lines (176 loc) · 7.73 KB
/
NEWS.libmpg123
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
Changes in libmpg123 libtool interface versions...
45.0.45
- mpg123_read(), mpg123_decode(), and mpg123_replace_buffer() now taking
void* for output buffers
- value 0 for any rate in mpg123_format()/mpg123_fmt()
- use of mpg123_decoder() after track open supported
(also as hack to trigger renegotiation of output format,
which will not be communicated as it only happens by users's
intention)
- added struct mpg123_moreinfo and mpg123_set_moreinfo()
- officially declared mpg123_exit() as superfluous
- added MPG123_ENC_DELAY, MPG123_ENC_PADDING, MPG123_DEC_DELAY
- added MPG123_STORE_RAW_ID3 and mpg123_id3_raw()
- added mpg123_new_string() and mpg123_delete_string()
- added MPG123_FORCE_ENDIAN and MPG123_BIG_ENDIAN
- added MPG123_NO_READAHEAD and MPG123_FREEFORMAT_SIZE
- changed format logic to search all possible encodings
and channel counts for a rate first, then trying different
rates (rate > channel > encoding)
- included float and >16 bit integer encodings in default
format search
- added MPG123_FLOAT_FALLBACK
- added MPG123_NO_FRANKENSTEIN
- added mpg123_feature2(), added MPG123_FEATURE_OUTPUT_FLOAT32 and
MPG123_FEATURE_OUTPUT_FLOAT32
- added mpg123_open_fixed()
44.0.44
- added mpg123_getformat2()
43.0.43
- added MPG123_NO_PEEK_END and MPG123_FORCE_SEEKABLE
42.0.42
- added mpg123_framelength()
Now mpg123_position() is truly obsolete!
- hardened string API to not crash if given NULL pointers
(except mpg123_init_string())
- equalizer feature optional
41.0.41
- Add checks for NULL handles in some API functions that missed that, changed return value in others to MPG123_BAD_HANDLE where appropriate:
- mpg123_format_none(NULL) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_format_all(NULL) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_format(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_reset_eq(NULL) == MPG123_BAD_HANDLE (was: undefined)
- mpg123_replace_buffer(NULL, ...) == MPG123_BAD_HANDLE (was: undefined)
- mpg123_framedata(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_decoder(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_param(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_getparam(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_getstate(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_eq(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_open(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_open_handle(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_open_feed(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_replace_reader(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_replace_reader_handle(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_decode_frame(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_feed(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_decode(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_info(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_getformat(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_set_filesize(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_scan(NULL) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_id3(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_icy(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_index(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_set_index(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- mpg123_close(NULL, ...) == MPG123_BAD_HANDLE (was: MPG123_ERR)
- Changed return value of mpg123_geteq() to 0 for NULL handle to be consistent with itself.
40.0.40
- Bump for marking the first actual implementation of A-Law encoding.
Not that it matters to anyone, though --- I wonder why not even the
Asterisk users wanted this. It's for telephony, dammit!
- Added arm_fpu decoder for runtime switch between NEON and generic fpu.
39.2.39
- Added more elaborate post-processing to enable 32 and 24 bit output also with low-precision decoder (16 bit, fixed-point).
39.0.39
- Added MPG123_FRESH_DECODER.
- Also containing several regression fixes.
38.0.38
- Added MPG123_PICTURE and associated addition to mpg123_id3v2 struct.
37.0.37
- Added mpg123_chomp_string.
36.0.36
- Extended MPG123_RESYNC_LIMIT to initial header search.
- Not cutting decoder delay unconditionally anymore (only in combination with known encoder delay / padding).
35.0.35
- Added mpg123_meta_free().
34.0.34
- Added flag MPG123_AUTO_RESAMPLE.
- Changed (improved;-) outbuffer behaviour.
33.0.33
- Added MPG123_BUFFERFILL.
32.0.32
- Added mpg123_framepos()
31.0.31
- Added mpg123_framedata() and MPG123_IGNORE_INFOFRAME.
30.0.30
- Added MPG123_FEEDPOOL and MPG123_FEEDBUFFER.
29.0.29
- New decoder: ARM neon.
- Added support for 24 bit output (dumb byte-chopping of 32 bit output).
28.0.28
- Add mpg123_strlen().
27.0.27
- Implictly disable seeking on streams when client enforced ICY parsing.
This helps debugging dumps of http streams.
26.0.26
- Added mpg123_encsize().
- Added flag MPG123_SKIP_ID3V2.
25.0.25
- Version increase to mark the point where the split between normal and large-file-enabled library vanishes again. The world did not like it.
Now Thomas lost some days of recreation and sleep to give it a dual-mode libmpg123 on large-file-sensitive systems.
24.0.24
- Introduce mpg123_replace_reader_handle() and mpg123_open_handle()
... this is also in preparation for the next version which will drop the separated large-file library again, due to public display of dismay.
- Add the experimental mpg123_framebyframe_decode to the off_t-sensitive functions.
23.0.23
- Version increase to mark the point where the explicit split between normal and large-file-enabled library has been introduced.
22.0.22
- Experimental framebyframe API added.
21.0.21
- Added support of unicode file names under windows via UTF-8 argument to mpg123_open.
- Added mpg123_feature(), for example to test for the above behaviour.
20.0.20
- New flag: MPG123_PLAIN_ID3TEXT
- Corresponding text encoding handling API added:
mpg123_enc_from_id3, mpg123_store_utf8
19.0.19
- Hm, what was it exactly now... there are candidates:
- runtime dithering
- free format
- ARM optimizations
18.0.18
- new parameter: MPG123_PREFRAMES is now tunable (the number of frames to decode and skip before a seek point), also default value increased
17.0.17
- introduction optimized stereo synths
16.0.16
- introducing floating point x86-64 SSE synth
15.0.15
- first addition of x86-64 SSE optimizations
14.0.14
- the first libmpg123 with actually working MPG123_UPSPEED
- also important regression fix concerning skipping of frames
13.0.13
- The whole set of output formats is generally available (8, 16 and 32 bit integer, signed/unsigned, float)
- Many features can be absent from libary as build decision (minimize binary size).
12.0.12
- added mpg123_current_decoder
- fixed value of MPG123_ENC_FLOAT
- float output now is a real runtime option
11.0.11
- added mpg123_getstate
- run-time tunable frame index
- officially configured with largefile support where available
10.0.10
- new flag MPG123_FUZZY (along with the fuzzy seek functionality)
9.0.9
- added mpg123_tell_stream
8.0.8
- added mpg123_get_eq
7.0.7
- added mpg123_set_filesize
6.0.6
- added mpg123_icy2utf8
5.0.5
- added mpg123_feed
- input buffers now const
4.0.4
- extended mpg123_string api (mpg123_add_substring, mpg123_grow_string)
3.0.3
- Initial floating point support as compile-time option.
2.0.2
- New flag MPG123_SEEKBUFFER.
1.0.1
- Added MPG123_RESYNC_LIMIT parameter.
- Added MPG123_OUT_OF_SYNC and MPG123_RESYNC_FAIL error codes.
- Fix for uninitialized framesize value in handle.