/
NEWS.libmpg123
198 lines (151 loc) · 6.58 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
Changes in libmpg123 libtool interface versions...
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.