Changes in libmpg123 libtool interface versions... 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.