mpg123-devel Mailing List for mpg123
Brought to you by:
sobukus
You can subscribe to this list here.
2006 |
Jan
(2) |
Feb
(2) |
Mar
(3) |
Apr
|
May
|
Jun
(6) |
Jul
(4) |
Aug
(17) |
Sep
(2) |
Oct
(13) |
Nov
|
Dec
(6) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(2) |
Feb
(1) |
Mar
(2) |
Apr
(1) |
May
(2) |
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(6) |
Oct
|
Nov
(7) |
Dec
(6) |
2008 |
Jan
(1) |
Feb
(2) |
Mar
(3) |
Apr
(18) |
May
(16) |
Jun
(10) |
Jul
(13) |
Aug
(14) |
Sep
(12) |
Oct
(32) |
Nov
(12) |
Dec
(33) |
2009 |
Jan
(2) |
Feb
(10) |
Mar
(16) |
Apr
(48) |
May
(92) |
Jun
(68) |
Jul
(37) |
Aug
(28) |
Sep
(61) |
Oct
(43) |
Nov
(33) |
Dec
(48) |
2010 |
Jan
(8) |
Feb
(27) |
Mar
(16) |
Apr
(11) |
May
(34) |
Jun
(27) |
Jul
(15) |
Aug
(16) |
Sep
(24) |
Oct
(14) |
Nov
(17) |
Dec
(9) |
2011 |
Jan
(21) |
Feb
(12) |
Mar
(8) |
Apr
(33) |
May
(2) |
Jun
(29) |
Jul
(16) |
Aug
(27) |
Sep
(27) |
Oct
(11) |
Nov
(16) |
Dec
(4) |
2012 |
Jan
(40) |
Feb
(12) |
Mar
(40) |
Apr
(34) |
May
(32) |
Jun
(6) |
Jul
(7) |
Aug
(13) |
Sep
(8) |
Oct
(12) |
Nov
(14) |
Dec
(5) |
2013 |
Jan
(3) |
Feb
(19) |
Mar
(2) |
Apr
(7) |
May
(30) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
(23) |
Oct
(8) |
Nov
(3) |
Dec
(1) |
2014 |
Jan
(2) |
Feb
(2) |
Mar
(1) |
Apr
(9) |
May
(8) |
Jun
(2) |
Jul
|
Aug
(15) |
Sep
(7) |
Oct
(1) |
Nov
(5) |
Dec
|
2015 |
Jan
|
Feb
(1) |
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
(13) |
Aug
(16) |
Sep
(26) |
Oct
(2) |
Nov
(5) |
Dec
|
2016 |
Jan
(13) |
Feb
(2) |
Mar
(1) |
Apr
(2) |
May
(16) |
Jun
(2) |
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
(2) |
Dec
|
2017 |
Jan
(11) |
Feb
(10) |
Mar
(6) |
Apr
(4) |
May
(3) |
Jun
|
Jul
(8) |
Aug
(4) |
Sep
(2) |
Oct
|
Nov
|
Dec
(11) |
2018 |
Jan
(8) |
Feb
(16) |
Mar
(6) |
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
(8) |
Oct
(5) |
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
(3) |
Aug
(1) |
Sep
(3) |
Oct
(2) |
Nov
(10) |
Dec
(1) |
2020 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
(13) |
Jun
(9) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2021 |
Jan
|
Feb
|
Mar
(3) |
Apr
(12) |
May
(4) |
Jun
(12) |
Jul
(2) |
Aug
|
Sep
(1) |
Oct
(4) |
Nov
(2) |
Dec
(1) |
2022 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
(68) |
Jun
(1) |
Jul
(1) |
Aug
(1) |
Sep
(9) |
Oct
(7) |
Nov
|
Dec
|
2023 |
Jan
(7) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(7) |
Aug
(11) |
Sep
(6) |
Oct
(1) |
Nov
(1) |
Dec
(1) |
2024 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(2) |
Nov
(1) |
Dec
(2) |
2025 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Thomas O. <tho...@or...> - 2025-06-07 17:24:07
|
Dear mpg123 afictionados, after some messing around, there is a new mpg123 release now. The question is still open how we continue with Windows binaries. Right now, there are no new ones for this release. If anyone wants to build the set: the Script windows-builds.sh in the archive helps with that, be it in MSYS2 or via mingw-w64 cross toolchain. But to the changes, as there are a few: 1.33.0 ------ - mpg123 -- Fix printout of filenames at end (convert/limit text encoding). -- Treat HTTP header encoding as unknown/ASCII and formally convert to UTF-8. -- Make --continue mode work with --random. -- Handle possible failure of __wgetmainargs on Windows (bug 375). - mpg123-id3dump: Fix up command line arg handling for Windows. - out123 -- Finally give zero exit code when generating sounds, not indicating spurious failure. - build: -- Use CCASFLAGS for assembler tests, to enable builds that enable instruction sets that way (bug 377). -- PIC for compat libs (convenience libs used during build) only if building shared libs (github PR 17 by Wouter Wijsman). - compat: -- Map strtok use to strtok_r or strtok_s (MS platforms), if possible. users only in control_generic and libout123 so far. Out123 itself uses mytok. Shall fix bug 376 (build with MSVC again). -- Enable build on PSP by merging in the hotfix of opmitting signal code (github PR 18 by Wouter Wijsman). - libout123 -- modules/win32: Align waveOutGetDevCapsA to WAVEOUTCAPSA, in anticipation of some UNICODE change. - libmpg123 -- API version 49 with added mpg123_open_handle64(), mpg123_open64(), and mpg123_open_fixed64() that are not subject to largefile renaming. This means you can still access internal I/O with MPG123_PORTABLE_API. The code has been there before, anyway. -- With MPG123_PORTABLE_API, mpg123_open_handle() is hidden now (use mpg123_open_handle64() instead). -- more silence on errors (sideband limit message) Find it at the usual places and have fun, with mpg123 or in other ways … Alrighty then, Thomas |
From: <ano...@gm...> - 2025-01-17 22:09:03
|
A pull request by sharkwouter was opened at 2025-01-17 21:15:38+00:00. Please visit https://github.com/madebr/mpg123/pull/18 to give feedback and review the code. --- The previous pull request I made, makes it possible to build for the Playstation Portable (PSP), which can be found here: https://github.com/madebr/mpg123/pull/17 This small change finishes the work needed to make libmpg123 work on the PSP. I tested it using SDL2_Mixer and it works flawlessly from what I can tell. --- patch details: - url: https://github.com/madebr/mpg123/pull/18 - patch: https://github.com/madebr/mpg123/pull/18.patch url details: - user name: sharkwouter - user url: https://github.com/sharkwouter |
From: <ano...@gm...> - 2025-01-14 17:08:51
|
A pull request by sharkwouter was opened at 2025-01-14 17:01:43+00:00. Please visit https://github.com/madebr/mpg123/pull/17 to give feedback and review the code. --- I would like to include the mpg123 library into PSPDEV, which is a homebrew sdk for the Playstation Portable (PSP). The PSP only supports building libraries statically, which means position independent code does not work on it. With this PR it can be build for the PSP using CMake. --- patch details: - url: https://github.com/madebr/mpg123/pull/17 - patch: https://github.com/madebr/mpg123/pull/17.patch url details: - user name: sharkwouter - user url: https://github.com/sharkwouter |
From: Thomas O. <tho...@or...> - 2024-12-14 15:53:43
|
Dear mpg123 people, there is a new release of mpg123. Get it at the usual places, indicated by https://mpg123.org/download.shtml . 1.32.10 ------ - scripts/tag_lyrics.py: fix for python3 (thanks to cclauss, github PR 16) - libout123: Use strtok_r() to avoid conflicts multithreaded contexts (both sides should avoid plain strtok()! Debian-bug 1089543). - libmpg123: -- Un-break DLL builds that need I/O functions defined in libmpg123.c (like mpg123_open(), bug 374). - ports/cmake: More fixup to also produce .pc files with Libs.private. Alrighty then, Thomas |
From: <ano...@gm...> - 2024-12-02 22:10:01
|
A pull request by cclauss was opened at 2024-12-02 21:22:39+00:00. Please visit https://github.com/madebr/mpg123/pull/16 to give feedback and review the code. --- <!-- Please write a little about the why and how of this pull request A mail should automatically get sent to the mpg123-devel mailing list. Before submitting, please check the following: - [ ] Set target branch to `master` - [ ] Write a little text above --> --- patch details: - url: https://github.com/madebr/mpg123/pull/16 - patch: https://github.com/madebr/mpg123/pull/16.patch url details: - user name: cclauss - user url: https://github.com/cclauss |
From: Thomas O. <tho...@or...> - 2024-11-02 09:05:32
|
Dear mpg123 folks, here comes just a small followup to the release fixing CVE-2024-10573. I forgot to increase the reported library patchlevel last time and a build improvement for MSVCRT also went in. 1.32.9 ------ - libmpg123: -- enable 64 bit offset path for MSVCRT and avoid warnings about MS's game about POSIX API with and without underscores (bug 373). -- Increase the library patchlevel, as was forgotten on previous release. Now you can check for distversion >= 1.32.8 or mpg123 libversion >= 48 patchlevel 3 to see if you're vulnerable to CVE-2024-10573. Ger it per usual via pointers on https://mpg123.org/download.shtml Alrighty then, Thomas |
From: Thomas O. <tho...@or...> - 2024-10-26 16:42:18
|
Am Sat, 26 Oct 2024 17:38:40 +0200 schrieb Thomas Orgis <tho...@or...>: > I hereby announce mpg123 version 1.32.8. Get it at the usual places. > Now. Observing that versions 1.26.x and 1.31.x are still in the wild (meaning: Debian stable), I ported the recent security fix to those release series. Please see recent commits to svn://scm.orgis.org/mpg123/branches/1.26-fixes and svn://scm.orgis.org/mpg123/branches/1.31-fixes Current code is also visible under https://scm.orgis.org/mpg123/branches/1.26-fixes/ and https://scm.orgis.org/mpg123/branches/1.31-fixes/ Alrighty then, Thomas |
From: Thomas O. <tho...@or...> - 2024-10-26 15:55:10
|
Dear mpg123 folks, I hereby announce mpg123 version 1.32.8. Get it at the usual places. Now. This is an important security update! There is possible buffer overflow (writing of decoded PCM samples beyond allocated output buffer) for streams that change output properties together with certain usage of libmpg123. This needed seeking around in the stream (including scanning it before actual decoding) to trigger. So, your usual web radio stream as obvious attack vector is unlikely, as you won't seek around in it. If you do work with stream dumps, usage of MPG123_NO_FRANKENSTEIN or the --no-frankenstein option to the mpg123 application is a workaround to avoid the formerly dangerous situation in earlier mpg123 releases. This also means that mpg123 will not decode streams of concatenated files with either varying format or leading Info frames past the first track anymore. With this release, the parser has been improved not to store certain stream properties before actual MPEG frame data matching that property has been stored. This avoids the inconsistency that triggered the overflow. Also note that if you always use a fixed decoding buffer for full stereo of the maximum of 1152 samples per frame, times two and your choice of encoding, your application is also not susceptible. Exploitation of this is not trivial, but I cannot rule out the possibility of gaining code execution. Your exploit payload needs to pass through an MPEG decoder and PCM synth before possibly reaching the CPU. Some heap corruption can follow at the least. So update or mitigate. If you run 1.32.x, there is no excuse not to get the the latest bugfix release now. Basically any version of mpg123 is affected by this, at least those that explicitly support so-called Frankenstein streams. Thanks to kkkkk123 for bringing this heir to the initial bug 322 to my attention. 1.32.8 ------ - libmpg123: -- Add sections to assembly to support PAC/BTI code for aarch64 (-mbranch-protection variants), thanks to Bill Roberts (github PR 15). -- Prevent premature application of header info into decoding structure, at worst having triggered out-of-bounds writes of decoded PCM data (bug 322, again). - out123: Show --quiet in --longhelp. Alrighty then, Thomas |
From: Thomas O. <tho...@or...> - 2024-09-20 00:22:56
|
Dear friends of mpg123, it would be great if anyone with a (modern) 64 bit ARM system could check if the recent addition (revision 5431) of PAC/BTI code from https://github.com/madebr/mpg123/pull/15 works. I do not have the resources to verify that myself. I've only checked that a normal ARM build still works. You need some bleeding-edge toolchain and set of libraries with branch protection enabled to properly test things. I hope things for normal builds still are unchanged. With ./configure CFLAGS='-mbranch-protection=standard' you should be able to see a trace of the newly added note section that marks our assembly code as safe for the branch protection stuff. We do not actually change active code, just tell the linker that it should trust it. A BTI-enabled build should show up like this: readelf -n ./src/libmpg123/.libs/libmpg123.so | grep -i bti Properties: AArch64 feature: BTI, PAC Alrighty then, Thomas |
From: <ano...@gm...> - 2024-09-06 16:11:18
|
A pull request by billatarm was opened at 2024-09-06 15:17:54+00:00. Please visit https://github.com/madebr/mpg123/pull/15 to give feedback and review the code. --- Enable Pointer Authentication Codes (PAC) and Branch Target Identification (BTI) support for ARM 64 targets. PAC works by signing the LR with either an A key or B key and verifying the return address. Since the assembly code does not push and pop the link register to the stack, and it remains in the register file, their is no need to sign the LR, so PAC is essentially just adding it to the GNU notes section for auditing purposes. BTI works by marking all call and jump positions with bti c and bti j instructions. If execution control transfers via an indirect branch or call to an instruction other than a BTI instruction, the execution is killed via SIGILL. For BTI to work, all object files linked for a unit of execution, whether an executable or a library must have the GNU Notes section of the ELF file marked to indicate BTI support. This is so loader/linkers can apply the proper permission bits (PROT_BRI) on the memory region. PAC can also be annotated in the GNU ELF notes section, but it's not required for enablement, as interleaved PAC and non-pac code works as expected since it's the callee that performs all the checking. Becuase the aarch64 assembly code does not make use of pushing the LR to the stack, only BTI targets were needed to be instrumented and the GNU notes section indicating support for BTU. Thus for PAC the only requirement was to mark the GNU notes section as supporting PAC. Testing was done under the following CFLAGS: 1. -mbranch-protection=none 2. -mbranch-protection=standard 3. -mbranch-protection=pac-ret 4. -mbranch-protection=pac-ret+b-key 5. -mbranch-protection=bti <!-- Please write a little about the why and how of this pull request A mail should automatically get sent to the mpg123-devel mailing list. Before submitting, please check the following: - [ ] Set target branch to `master` - [ ] Write a little text above --> --- patch details: - url: https://github.com/madebr/mpg123/pull/15 - patch: https://github.com/madebr/mpg123/pull/15.patch url details: - user name: billatarm - user url: https://github.com/billatarm |
From: Thomas O. <tho...@or...> - 2024-08-07 16:33:56
|
Hi there, mpg123 1.32.7 is coming out, with only some minor hygiene: 1.32.7 ------ - ports/cmake: Work around bug in CMake that does not detect FPU on Apple ARM CPUs (github PR 14). - Fix some laziness (func() to func(void)) for standards conformance. You can get it from https://mpg123.org/download.shtml as usual. Alrighty then, Thomas |
From: <ano...@gm...> - 2024-05-02 00:36:33
|
A pull request by madebr was opened at 2024-05-01 23:15:10+00:00. Please visit https://github.com/madebr/mpg123/pull/14 to give feedback and review the code. --- On Apple silicon, `cmake_host_system_information(RESULT HAVE_FPU QUERY HAS_FPU)` returns `HAVE_FPU=0`. I reported this [upstream](https://gitlab.kitware.com/cmake/cmake/-/issues/25950). Without a detected fpu, the build fails when `REAL_IS_FIXED` is defined, and neon is detected. https://github.com/madebr/mpg123/actions/runs/8916112597/job/24486953667#step:5:13 My fix moves the cpu arch detection earlier, and hard enables `HAVE_FPU` for apple arm64. As an extra, I added a patch that adds macos CI. --- patch details: - url: https://github.com/madebr/mpg123/pull/14 - patch: https://github.com/madebr/mpg123/pull/14.patch url details: - user name: madebr - user url: https://github.com/madebr |
From: <ano...@gm...> - 2024-04-06 11:06:00
|
A pull request by basicmaster was opened at 2024-04-06 10:57:49+00:00. Please visit https://github.com/madebr/mpg123/pull/13 to give feedback and review the code. --- Fixes a tiny typo. --- patch details: - url: https://github.com/madebr/mpg123/pull/13 - patch: https://github.com/madebr/mpg123/pull/13.patch url details: - user name: basicmaster - user url: https://github.com/basicmaster |
From: Thomas O. <tho...@or...> - 2024-04-04 18:12:41
|
Dear mpg123 folks, a little build system tweak arrives in the current mpg123 release. 1.32.6 ------ - build: Detect forced 64 bit offsets on a dual-mode system that used to default to 32 bits and drop ambiguous suffix-less symbols in that case. This avoids subtle ABI breakage (causing memory corruption) with existing binaries and instead has them fail during runtime linking. You trigger that when having -D_FILE_OFFSET_BITS=64 in your compiler flags during mpg123 build. If this does not mean anything to you … you might just ignore it. No new features, just less symbols in a library built in an environment with enforced large file support. Alrighty then, Thomas |
From: Thomas O. <tho...@or...> - 2024-02-17 15:38:47
|
Hi folks, some cleanup comes to you with mpg123 version 1.32.5: 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). Grab it if you so desire from https://sourceforge.net/projects/mpg123/files/ or https://mpg123.org/download.shtml and have a good time. Alrighty then, Thomas |
From: Thomas O. <tho...@or...> - 2024-01-10 16:29:01
|
Hi all, some internal rearrangements and build system enhancements come with mpg123 1.32.4: 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 instructions for control flow integrity. Get it from the usual places … Alrighty then, Thomas |
From: <ano...@gm...> - 2023-12-29 16:10:06
|
A pull request by JohannesKauffmann was opened at 2023-12-29 15:57:53+00:00. Please visit https://github.com/madebr/mpg123/pull/12 to give feedback and review the code. --- The function doesn't take a parameter, so don't pass it. Caught by Clang's -Wdeprecated-non-prototype: ``` ../src/streamdump.c:691:13: error: passing arguments to 'dump_close' without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype] dump_close(sd); ^ ``` --- patch details: - url: https://github.com/madebr/mpg123/pull/12 - patch: https://github.com/madebr/mpg123/pull/12.patch url details: - user name: JohannesKauffmann - user url: https://github.com/JohannesKauffmann |
From: <ano...@gm...> - 2023-11-06 16:10:12
|
A pull request by i-garrison was opened at 2023-11-06 15:50:32+00:00. Please visit https://github.com/madebr/mpg123/pull/11 to give feedback and review the code. --- Allow building `mpg123` against installed `libmpg123` - add `programs` component to `configure.ac` - if building `libmpg123` is not enabled, find and use already installed `libmpg123` package; same for `libsyn123` and `libout123` - move a few shared internal headers from `src/libmpg123` to `src/include` to fix build against installed `libmpg123` package --- patch details: - url: https://github.com/madebr/mpg123/pull/11 - patch: https://github.com/madebr/mpg123/pull/11.patch url details: - user name: i-garrison - user url: https://github.com/i-garrison |
From: Thomas O. <tho...@or...> - 2023-10-02 14:50:40
|
The (up to now) final release of the quick regression fix succession of the 1.32.x series is out. It's a rough ride, but we're getting there. Maybe we've even arrived. 1.32.3 ------ - ports/cmake: Only enable modules with GetThreadErrorMode() on Windows. - compat: Define EOVERFLOW for ancient Windows toolchains. - 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) Alrighty then, Thomas |
From: Thomas O. <tho...@or...> - 2023-09-27 20:19:19
|
Hi all, please upgrade to mpg123 1.32.2 which yet again fixes things that I broke with 1.32.0. The CI and pre-release testing that we have is covering only part of what we got out there. Now we missed the case of -D_FILE_OFFSET_BITS=64 on 64 bit platforms, where the _64 symbols were missing. Also, the CMake build got some important fixes to complete what 1.32.0 should have had. Pleae just upgrade, for these fixes: 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). Alrighty then, Thomas |
From: Thomas O. <tho...@or...> - 2023-09-26 06:42:52
|
There were some things amiss with the build system changes in the last release, most notably the man pages went missing. Further fixes mainly for the CMake build are also still in the works. Sorry for the fuss, but only the announced release got the testing we'd like to have had beforehand. 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 (bug 357). -- Avoid O_LARGEFILE redefinition, logic closer to autoconf. Alrighty then, Thomas |
From: Thomas O. <tho...@or...> - 2023-09-23 22:04:28
|
Dear people who at least know what mpg123 is, version 1.32.0 got just released. Major points are the introduction of yet another API set to yet again fix the largefile support situation, where you can rely on fixed 64 bit integers instead of touching off_t, and fixing of the meaning of the offset for mpg123_seek() when working from the end. But there is more … please see the full list: 1.32.0 ------ - build: -- Move version handling out of configure.ac to ease other build systems. -- Include "fmt123.h" instead of <fmt123.h> 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). (bug 351) -- Consistent formatting of ./configure --help with AS_HELP_STRING(). - ports/Sony_PSP: removed - 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. (bug 344) -- 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. Please get it from https://sourceforge.net/projects/mpg123/files/mpg123/1.32.0 or http://mpg123.org/download.shtml . Alrighty then, Thomas |
From: Thomas O. <tho...@or...> - 2023-09-04 08:42:42
|
Second round! Am Tue, 22 Aug 2023 00:13:23 +0200 schrieb Thomas Orgis <tho...@or...>: > TL;DR: Test mpg123 snapshot on your platform and report breakage. Please. This is now the NEWS scheduled ever closer to a release: 1.32.0 ------ - build: -- Move version handling out of configure.ac to ease other build systems. -- Include "fmt123.h" instead of <fmt123.h> 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-libsyn123) to autoconf build. CMake build has something similar with BUILD_PROGRAMS and BUILD_LIBOUT123, which leave only libmpg123 and libsyn123 if disabled). (bug 351) -- Consistent formatting of ./configure --help with AS_HELP_STRING(). - ports/Sony_PSP: removed - 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 - 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. (bug 344) -- 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. There will be bugs, inevitably. The main point is the API changes that are supposed to stay for further releases: Anyone seeing an issue with those? Also, if anyone can spinup a current Windows system and test CMake with MSVC + yasm for assembly … we still got a mysterious build issue indicated by the git mirror: https://github.com/madebr/mpg123/actions/runs/6068446593/job/16461412092 That won't hold off the release, but having those CI actions run through would be nice. Alrighty then, Thomas |
From: Thomas O. <tho...@or...> - 2023-09-02 13:42:41
|
Am Sat, 2 Sep 2023 15:28:01 +0200 schrieb Thomas Orgis <tho...@or...>: > mpg123_seek(mh, 128, SEEK_END) > mpg123_seek(mh, -128, SEEK_END) > > could both do the same thing. The latter would've been a error > with current libmpg123. Turning errors into valid behaviour has > its risks, but in this case, I think it is sensible. May you verify if current trunk (or snapshot) apply this correctly? See updated https://mpg123.org/api/group__mpg123__seek.shtml . Alrighty then, Thomas |
From: Thomas O. <tho...@or...> - 2023-09-02 13:28:17
|
[on-list again, again] Am 30. August 2023 23:11:34 MESZ schrieb Thomas Brand <to...@tr...>: >>> Eventually a "seek_compatibility" flag could be introduced. >> >> This would need to be opt-in, though. We could introduce a flag >> to fix SEEK_END behaviour. Or we could just document the state as-is >> and realize that it's a rare case with not much practical impact. >> >it's a hard decision. i don't know what's the best future-proof approach here. >opt-in sounds good, plus documentation .. >> Hm. Returning an error or silently (only by return value) limiting offset >> to the end. Both may make sense. I think it's simple after all. In a read-write library, seeking beyond the end makes sense. You can write there and enlarge the file. In a read-only library, only positions within the file make sense. Current mpg123 inverts the sign of an offset from SEEK_END, as I thought back then that it would be obvious to mean positive steps from the end back. Only one direction does make sense. So, what's the problem if I'd just ignore the sign of the SEEK_END argument? mpg123_seek(mh, 128, SEEK_END) mpg123_seek(mh, -128, SEEK_END) could both do the same thing. The latter would've been a error with current libmpg123. Turning errors into valid behaviour has its risks, but in this case, I think it is sensible. Alrighty then, Thomas |