* mpg123: In terminal control, ignore 7-bit escape sequences to
avoid spurious actions, e.g. when hitting cursor keys.
* ports/cmake: Avoid possibly conflicting use of SIZEOF_OFF_T
CMake variable when embedding mpg123 with other projects
using cmake and different off_t semantics.
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/mpg123?expand=0&rev=107
* Finally formatted README. Maybe do it in Markdown sometime,
as that's the fashion.
build:
* The ports/cmake only installs manpages for BUILD_PROGRAMS now.
* The configure gives better hint if pkg-config was missing
during generation
mpg123:
* Replace usage of signal() in terminal code with our
sigaction() wrapper to fix repeated handling for --sigusr1
and --sigusr2, which got subtly broken on Linux + glibc by a
feature test macro change in mpg123 1.31.
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/mpg123?expand=0&rev=101
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.
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.
* PIC for compat libs (convenience libs used during build)
only if building shared libs.
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.
* Enable build on PSP by merging in the hotfix of opmitting
signal code.
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)
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/mpg123?expand=0&rev=99
libmpg123:
* Add sections to assembly to support PAC/BTI code for aarch64
(-mbranch-protection variants)
* Prevent premature application of header info into decoding
structure, at worst having triggered out-of-bounds writes of
decoded PCM data
out123:
* Show --quiet in --longhelp.
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/mpg123?expand=0&rev=91
- Update to version 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.
OBS-URL: https://build.opensuse.org/request/show/1165007
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/mpg123?expand=0&rev=87
- 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).
OBS-URL: https://build.opensuse.org/request/show/1147410
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/mpg123?expand=0&rev=85
- 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.
OBS-URL: https://build.opensuse.org/request/show/1138055
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/mpg123?expand=0&rev=83
- 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).
- 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.
- Update to version 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).
+ 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.
OBS-URL: https://build.opensuse.org/request/show/1113956
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpg123?expand=0&rev=35
- 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).
OBS-URL: https://build.opensuse.org/request/show/1113955
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/mpg123?expand=0&rev=79
- 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.
- Update to version 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).
+ 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.
OBS-URL: https://build.opensuse.org/request/show/1113261
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/mpg123?expand=0&rev=78
- 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 <backend>.
* 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
OBS-URL: https://build.opensuse.org/request/show/1031932
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/mpg123?expand=0&rev=70
- 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.
OBS-URL: https://build.opensuse.org/request/show/988901
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/mpg123?expand=0&rev=66
- 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 "@P 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).
OBS-URL: https://build.opensuse.org/request/show/985159
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/mpg123?expand=0&rev=64
- 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
OBS-URL: https://build.opensuse.org/request/show/940074
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/mpg123?expand=0&rev=63