|
|
|
|
Changelog for mpg123-1.32.5-1.1.x86_64.rpm :
* Sun Feb 18 2024 Luigi Baldoni - Update to version 1.32.5 build: * CMake port uses CFLAGS for pulse/jack/tinyalsa properly now (bug 366). * CMake port links libsyn123 with libm now (bug 370). libmpg123: * Fix --enable-portable (no usage of LFS_WRAP_NONE, bug 368). * Fix dct36 wrapper usage for x86-64 and NEON. Stupid (bug 367) and also avoid returning void. * Make ARM builds work with nagging (missing feature macros for std=c99). * Thu Jan 11 2024 Luigi Baldoni - Update to version 1.32.4 build: * Reorganize shared headers, API headers into src/include. * Use relative include paths, avoiding internal directories in CPPFLAGS except for config.h. * Group C99 feature checks and make several standard headers mandatory. * Get rid of SIZE_P, OFF_P and friends. * Only enforce dummy module together with libout123, to be able to build individual modules using --disable-components logic. out123: * added --libversion libmpg123: * Avoid indirect branches into the assembly routines by using C wrappers also for dct36, relieving us of the need to care for bti / endbr i nstructions for control flow integrity. * Mon Oct 02 2023 Luigi Baldoni - Update to version 1.32.3 * libmpg123, libsyn123: always ifdef LFS_LARGEFILE_64 (not just if) * libsyn123: re-introduce _32 wrappers in addition to suffix-less ones (regression from 1.31, bug 363) * Thu Sep 28 2023 Luigi Baldoni - Update to version 1.32.2 * libmpg123: Re-introduce _64 symbols on native 64 bit offset platforms. This was a regression since 1.31 series. Sorry, too much cleanup, not enough testing. * build: + Better O_LARGEFILE logic, avoiding redefintion. * ports/cmake: + Require C99 (bug 360, among other points, thanks to Ozkan Sezer). + Fix broken O_LARGEFILE logic (bug 360). + Typo fix and cleanup, also manual SSE switch for Android on old x86 (bug 359). * Sun Sep 24 2023 Luigi Baldoni - Update to version 1.32.1 * Include man pages again in tarball and install. We cannot avoid the empty man directory when disabling programs with autoconf. * Fix signal handler prototype, avoiding some justified warnings. * ports/cmake: + Include CheckTypeSize, which seems to be needed sometimes + Avoid O_LARGEFILE redefinition, logic closer to autoconf. * Sun Sep 24 2023 Luigi Baldoni - Update to version 1.32.0 * build + Move version handling out of configure.ac to ease other build systems. + Include \"fmt123.h\" instead of in main API headers to make it more likely the correct one is included (at least gcc picks the one in the same directory as the including header first). + All headers are build-independent now. + Fix build for picky linkers by avoiding definition of wrap_getcpuflags() where it is not used (spurious linker error to non-exitent getcpuflags(), bug 353). + Handle deprecation of C99 detection macro in autoconf 2.70. + No use of AC_SYS_LARGEFILE anymore for explicit handling and differing choice for the libraries and frontend programs. + Added --enable-portable and --disable-largefile to configure, removing the other largefile-related options. + Added --disable-components --enable-libmpg123 to only build libmpg123 (and likewise --enable-libout123, - -enable-libout123-modules, --enable-libsyn123) to autoconf build. CMake build has something similar with BUILD_PROGRAMS and BUILD_LIBOUT123, which leave only libmpg123 and libsyn123 if disabled). + Consistent formatting of ./configure --help with AS_HELP_STRING(). * mpg123 + Added --libversion. + Added proper A-B looping with terminal control key \'o\', renamed --pauseloop to --presetloop. + Really get rid of mpg123_position() usage. (It was all lies before!) + Fix terminal progress info when seeking in stopped mode (1.31 regression). + Patch up interaction of output buffer with generic remote control, adding non-interruptible drain after P 3, and dropping buffer on QUIT. + Uppercase some generic control replies for consinstency: SILENCE, PROGRESS, MUTE, UNMUTE * libmpg123, libout123, libsyn123 + Bumped API version for version query functions. + Replaced nearly all symbol renames with explicit INT123_ prefix declarations (intsym.h close to empty now). * libout123 + Add sleep builtin output module (silent, but proper timing). * libsyn123 + Introduced SYN123_PORTABLE_API for an API without off_t and ssize_t (see NEWS.libsyn123). * libmpg123 + Internal I/O using explicit largefile support via off64_t, lseek64, fallback to plain 32 bit off_t. + Added explicit 64 bit API with 64 suffix (mpg123_tell64(), not mpg123_tell_64()). This allows full avoidance of ambiguus off_t. The API is always using 64 bit integers, regardless of internal implementation. + Introduced MPG123_PORTABLE_API for an API subset without off_t and ssize_t. + Made mpg123_seek() and friends ignore offset sign for SEEK_END (always seeking towards beginning, assuming negative offset) to make lseek()-conforming usage possible. Seeking beyond the end never made sense, so no loss of valid functionality. * Overall use of INT123_strerror(), trying to use thread-safe strerror_l() if possible. * Mon Mar 20 2023 Luigi Baldoni - Update to version 1.31.3 build: * Fix --disable-8bit. * Fix some pedantic compiler warnings, avoid breaking libtool wrappers. mpg123: * Fix verbose position printout for new resampling outside libmpg123 (where output rate differs from decoding rate). libsyn123: * Fix reconfiguration of resampler to avoid double free when reducing decimator stages to zero. * Sun Jan 15 2023 Luigi Baldoni - Update to version 1.31.2 * Fix build --with-network=internal only (configure logic error, bug 348). * Tue Nov 01 2022 Luigi Baldoni - Update to version 1.31.1 * Fix largefile aliases for the case of a largefile-insensitive build that still does define _FILE_OFFSET_BITS from the outside (sys/feature_tests.h on Illumos). * Fri Oct 28 2022 Luigi Baldoni - Update to version 1.31.0 mpg123: * The --control / -C switch will make mpg123 abort now if terminal control cannot be enabled. * Revert to internal network code for plain HTTP to ensure continued support for original shoutcast servers that do not talk proper HTTP. External backends are built at the same time and can be enforced using --network . * Try-witout-port for internal network code is gone. We do not need to keep each ancient hack for specific hosts. * Handle redirections independently of the backend behind net123. * Set proxy environment variables when --proxy is specified, for net123 backends to use. * Continue reading for long commands in generic control, avoiding unnecessary unfinished command errors. * Change error message from \'unknown command\' to \'unknown command with arguments\' to avoid confusion why \'help foo\' is unknown, as opposed to \'help\'. * Reduce CPU load while just waiting for terminal input. * Condense terminal control help output and excessive vertical whitespace in printouts. * Fix interaction of pause (looping) with buffer, adding - -pauseloop to set the loop interval. * Numeric option arguments are strictly checked now for conversion errors. This also catches -devbuffer, which was interpretd as -d 0 before. This also applies to out123. libout123: * Add same interruption handling to out123_write() as to unintr_write(), adding EAGAIN to fix bug 342 for certain ALSA setups. * Fix race condition to deadlock on buffer_sync_param() where parameters after the command byte got read as more commands. This got triggered easily by using the pause key in terminal mode with buffer (which was discouraged before because of buffer flushing). Generally, changing parameters with active buffer process was dangerous since libout123 entered the scene. other: * some build fixes for compiler pickyness * Disable largefile renames also for non-sensitive POSIX systems * Tue Aug 02 2022 Luigi Baldoni - Update to version 1.30.2 * Only use EWOULDBLOCK if the macro is defined. * Wed Jul 13 2022 Luigi Baldoni - Update to version 1.30.1 mpg123: * Show stderr of network helpers in -vvv mode. * Use curl --http0.9, if available, to support shoutcast v1 streams without wget (wget not needing such switch, yet). * Support file:// URLs for local access as was intended with the last release. * Give more helpful error message if neither wget nor curl are usable, also allow error messages from curl to appear when not --quiet. * Update the man page. * Sun Jun 26 2022 Luigi Baldoni - Update to version 1.30.0 build: * Use dummy as default module when no other outputs are enabled. This also fixes a non-module build with just the dummy. * Use CMAKE_CURRENT_SOURCE_DIR in CMake build to help nested use. mpg123: * new network backend using external tools/libraries to also support HTTPS * old network backend changed to use h_addr_list[0] instead of h_addr * terminal control keys now case-sensitive (fixing smal/big pitch controls) * additional terminal control keys for simple equalizer control (A/a for bass, J/j for mids, N/n for treble, e for reset, E for printout) * terminal volume control now in decibel steps and bounded to +/- 60 dB * terminal control now also with audio from stdin (bug 338) via /dev/tty or ctermid() * re-print tag info on decrease of terminal width for a bit less mess * always print an empty line after tag info for cleaner appearance * print lyrics also to stderr * remote control API v10 with \"AATTP 3\" as additonal message on track end * also added PROGRESS command as opposite of SILENCE * fix some verbosity, tweak help for --icy-interval * added --auth-file * also obscure argument to --auth for others libout123: * pulse: initialize more error codes to avoid bogus error messages version 1.29.4: libmpg123: * Saturate reader file position at off_t limit to satisfy undefined behaviour checkers. * Avoid harmless unitialized value in ID3v1 check (filepos, later being set before actual use). * Sun Dec 12 2021 Luigi Baldoni - Update to version 1.29.3 libmpg123: * Catch more NULL pointer arguments in LFS wrappers (most prominently: mpg123_feedseek(), bug 328). mpg123: * Fix regression that did _not_ enable --remote-err on -s anymore. * Fix typos in man page (thanks to Naglis Jonaitis). * Drop mixed-up value limits on remote control SEQ command. It is up to you if you want to distort your sound. * Add note about equalizer frequency bands to man page. build: * add BUILD_PROGRAMS option to ports/cmake * Sat Oct 23 2021 Luigi Baldoni - Update to version 1.29.2 * libmpg123: Fix non-live-decoder safeguard for mpg123_framebyframe_decode() (was a no-op in practice). * Mon Oct 18 2021 Luigi Baldoni - Update to version 1.29.1 mpg123: * Keep default output encoding of s16 for raw and file outputs also with the new resampler. This reverts the unintentional change in 1.26.0 of switching to f32 for forced output rate unless the NtoM resampler is selected. In any case, you should make sure to specify your desired --encoding if you depend on it. * Catch error in indexing (mpg123_scan() return value was ignored before, bug 322). mpg123-strip: * Lift the resync limit, as it should be to clean up really dirty streams. mpg123-id3dump: * Also lift resync limit for the same reasons. libout123: * Fix reporting of device property flags for buffer libmpg123: * More safeguarding against attempts to decode if decoder setup failed and user ignored the returned error code (bug 322) * Mon Sep 06 2021 Luigi Baldoni - Update to version 1.29.0 build: * added --enable-runtime-tables libmpg123: * Float deocder runtime table computation is back as option, based on suggestion and initial patch by Ethan Halsall for a smaller download size of the wasm decoder built from libmpg23. This only trims the size of the binary on disk (network), for runtime overhead and a bit of uneasyness about concurrency during table computation, which happens implicitly on handle initialization, only guarded by an integer flag. This does _not_ revive mpg123_init(). * The ID3v2 UTF-16 BOM check is now a straight-on loop and not a recursive function. * Mon Jul 12 2021 Luigi Baldoni - Update to version 1.28.2 libout123: * Complete the fix for bug 314, reopening the device after format setup failure. * Fri Jul 09 2021 Luigi Baldoni - Update to version 1.28.1 build: * Explain --with-default-audio in configure help better. * Fix build of arm_fpu (regression of configure reorg). * Re-introduce AC_PROG_C_C99 macro for autoconf 2.69, it\'s only obsolete after that. * Un-break CMake build for botched move of CheckCPUArch.c.in. libmpg123: * Make mpg123.h.in usable again with MPG123_NO_CONFIGURE, for external uses. * Use predefined MPG123_API_VERSION in mpg123.h.in for the same. * Fix an integer constant definition for the most negative 32 bit number to avoid justified compiler complaints. libsyn123: * More support for MPG123_NO_CONFIGURE. * Optionally use predefined SYN123_API_VERSION in syn123.h.in for the same. * Add a cast to silence integer sign warning for offset in muloffdiv64(). libout123: * Pulse module advertises wider format support now, not just s16. This makes mpg123 -e s24 work with it, not just out123. * Optionally use predefined OUT123_API_VERSION in out123.h.in for non-configure use. * Sat Jun 05 2021 Luigi Baldoni - Update to version 1.28.0 build: * Fix up the build to actually build all library objects with libtool consistently, also ensuring no pointless static archives for output modules. * Adapted things to autoconf 2.71, requiring 2.69 now * Improved configure to be more useful --with-default-audio to define the search order, fix static build for --with-audio being a list (just choosing the first one). * Ensure consistent use of LINK_MPG123_DLL in headers. build (ports/cmake): * Hardcode ports/cmake CPU detection for x64 and ARM as CMAKE_SYSTEM_PROCESSOR is useless crap (bug 298 for real). * Added JACK output, fixed handling of compat_str there libsyn123: * Fix syn123_mix() to actually do intermediate conversion when input and output encoding are the same but non-float. This makes out123 --mix work with s16 input and output, which is not that special! libmpg123: * Fix misguided handling of part2_3_length checks in III_get_scale_factors_1() and III_get_scale_factors_2() which invalidated decoding of a mono source encoded as ms+i-stereo (bug 312). This was a regression introduced with version 1.25.7. libout123: * Print basic module loading errors only for last one in list. This enables use of an output module search list that anticipates module files not installed with the main package. * Sat May 08 2021 Luigi Baldoni - Update to version 1.27.2 * Ensure debug.h is included last where it matters to avoid conflicts with debug/warning macros in system headers * Fix some debug/printf integer casts for 32 bit platforms. * Fri May 07 2021 Luigi Baldoni - Update to version 1.27.0 libmpg123: * Running on precomputed tables now, no need to call mpg123_init() anymore. That and mpg123_exit() are both just empty shells. You can omit them if you do not care about earlier libmpg123. You can check for MPG123_API_VERSION >= 46. * Added API that avoids enums, mapped-to by default unless MPG123_ENUM_API is defined. libout123: * Added API that avoids enums, mapped-to by default unless MPG123_ENUM_API is defined. * Added device enumeration for win32, win32_wasapi, alsa, pulse. This increments the output module ABI version to 3. * Changed default output module order to put pulse before alsa since we now ensure that pulse is not inadvertedly started by the autospawn feature. This improves the experience on desktop systems with pulse where the alsa to pulse use causes glitches. Note that on a modern Linux desktop (Ubuntu), you will not escape an instance of pulseaudio being started, with even the enumeration of the ALSA default device summoning the daemon. If you _want_ sound daemon autospawn behaviour on other platforms, you need to trigger it outside of libout123. * examples: Update for dropped mpg123_init(), more sensible copyright notes. out123: * safer limiting of maximum playback rate * Added --list-devices. mpg123: * Fix --continue output to print track_count+1 as continue position after hitting the end of playlist. Makes scripts/conplay go to back to the beginning again (regression in 1.24.0, bug 250). * Remote control API version 9 with AATTI { .. AATTI } wrapping of ID3 and playlist display. * Added --list-devices. * Fix terminal control logic to better handle cases where stdin or stderr is not a terminal, also avoid enabling control if you specify stdin as input file. * Updated debugging/warning/error message macros to include the function name. * Mon Mar 22 2021 Luigi Baldoni - Update to version 1.26.5 * Add ./configure --enable-xdebug (for the resampler issue). * Avoid denormals in the resampler by adding an alternating offset (helps performance without -ffast-math, depending on platform). libmpg123: * Fix ID3v2 APIC parsing when frame length bit is set (bug 306). * Also handle the group flag (skip the group byte). * Also fix up frame flag handling for ID3v2.3. Did not crop up yet, but it was just wrong. Impact was not detecting and bailing out on compressed or encrypted frames properly. * Wed Feb 17 2021 Fabian Vogt - Avoid unconditional Supplements
|
|
|