Commit graph

169 commits

Author SHA1 Message Date
thor
6d93061c7f mpg123: update to version 1.29.3
Changes:

- 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
2021-12-17 17:11:31 +00:00
nia
db187df25e audio: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes.

The following distfiles couldn't be fetched (possibly they are fetched
conditionally):

./audio/freeswitch-sounds-ru/distinfo freeswitch/freeswitch-sounds-ru-RU-elena-32000-1.0.13.tar.gz
./audio/freeswitch-sounds-ru/distinfo freeswitch/freeswitch-sounds-ru-RU-elena-48000-1.0.13.tar.gz
./audio/freeswitch-music/distinfo freeswitch/freeswitch-sounds-music-32000-1.0.8.tar.gz
./audio/freeswitch-music/distinfo freeswitch/freeswitch-sounds-music-48000-1.0.8.tar.gz
./audio/freeswitch-sounds-fr/distinfo freeswitch/freeswitch-sounds-fr-ca-june-32000-1.0.18.tar.gz
./audio/freeswitch-sounds-fr/distinfo freeswitch/freeswitch-sounds-fr-ca-june-48000-1.0.18.tar.gz
./audio/freeswitch-sounds-en/distinfo freeswitch/freeswitch-sounds-en-us-callie-32000-1.0.22.tar.gz
./audio/freeswitch-sounds-en/distinfo freeswitch/freeswitch-sounds-en-us-callie-48000-1.0.22.tar.gz
2021-10-26 09:58:44 +00:00
thor
1291bf2a16 mpg123: update to 1.29.2
- libmpg123: Fix non-live-decoder safeguard for mpg123_framebyframe_decode()
  (was a no-op in practice, bug 324).
2021-10-23 12:04:49 +00:00
thor
d8702e3c3f mpg123: version 1.29.1
Upstream changelog:

.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)
2021-10-17 22:00:11 +00:00
nia
274d042d75 audio: Remove SHA1 hashes for distfiles 2021-10-07 13:09:09 +00:00
thor
ff36c6365a mpg123: update to 1.29.0
The upstream changes:

- 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.

Only the last one is relevant for this pkg. Avoids heavy stack use
on pathological files.
2021-09-05 23:39:52 +00:00
adam
055547cad2 mpg123: updated to 1.28.2
1.28.2
------
- libout123
-- Complete the fix for bug 314, reopening the device after format
   setup failure.

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 (bug 315).
-- Avoid conflict of warning macro with MSVC pragmas in two places. Also
   fix UWP build with strerror check and move down inclusion of intsym.h
   (bug 316).
-- Disable libout123 (and mpg123, out123) on UWP with cmake to get at least
   the decoder lib built (317).
-- Hack around CMake bug(?) with QUERY_HAS_FPU to make ports/cmake also
   work in MinGW (bug 318).
- libmpg123:
-- Make mpg123.h.in usable again with MPG123_NO_CONFIGURE,
   for external uses (bug 313).
-- Use predefined MPG123_API_VERSION in mpg123.h.in for the same.
-- Better handle the ssize_t situation via typedef mpg123_ssize_t, less
   likely to be broken in future MSVC versions.
-- Fix an integer constant definition for the most negative 32 bit numnber 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()
   (bug 317)
- 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.
-- Fix sndio output to properly query device format support and get
   default fomat on FreeBSD (bug 314).
2021-08-26 09:29:13 +00:00
thor
58ec34381f mpg123: update to 1.28.0
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 (the latter tested
   on Debian, with their patches).
-- 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):
-- Thanks to Evgeni Poberezhnikov for working with us on that.
-- Fix up ports/cmake to really work in MSVC also for users of the lib
   (tested in vcpkg, bug 310).
-- Hardcode ports/cmake CPU detection for x64 and ARM as
   CMAKE_SYSTEM_PROCESSOR is useless crap (bug 298 for real).
-- Add missing io.h for _setmode() MSVC warned about (bug 311).
-- Added BUILD_NO_LARGENAME define to be used by MSVC builds. Note that
   an MSVC build of libmpg123 does not support 64 bit file offsets.
   That would need more morting to the explicit API. Thanks to MS for
   making off_t even more messy and less useful.
-- Added JACK output, fixed handling of compat_str there and in win32_wasapi.
- 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.
-- Fixes for win32_wasapi build with MSVC.
2021-06-05 17:30:01 +00:00
thor
c4664a0750 audio/mpg123: fix sed expression for non-GNU 2021-05-25 18:15:11 +00:00
thor
192b21b7bd audio/mpg123: really fix PLIST.oss check 2021-05-25 18:11:17 +00:00
thor
64d9e4de61 audio/mpg123: fix check for PLIST.oss 2021-05-25 17:02:13 +00:00
thor
de9e663526 audio/mpg123*: update to 1.27.2, simplify things
This updates the mpg123 version and also removes packaging cruft.

Among that, a never-working patch for madvise and a very old i586
assembly source are gone. The output modules are now installed without
libtool files, just as .so (or .dylib). A future update to 1.28 will
probably also get rid of the static libraries (upstream fixed the build
to work around pkgsrc's wrapped libtool which ignores the autoconf
macros to trigger non-static default build).

These are the upstream changes:

1.27.2
------

(Trying some svn tag discipline: 1.27.1 has been tagged before, but
not released. Let's increment for any change.)

- Removed ports/Xcode, ports/cmake should handle that case.
- Ensure debug.h is included last where it matters to avoid
  conflicts with debug/warning macros in system headers
  (bug 308).
- Fix some debug/printf integer casts for 32 bit platforms (bug 309).

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.
-- You can choose output devices now on Windows.
-- 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 @I { .. @I } wrapping of ID3 and
   playlist display.
-- Added --list-devices.
-- Fix console printout on Windows.
-- 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.
2021-05-25 10:44:22 +00:00
mrg
0a843265c7 various fixes for arm64 big endian support.
most of these simply extend matching from "aarch64" to "aarch64eb"
in various forms of code.  most remaining uses in pkgsrc of
"MACHINE_ARCH == aarch64" are because of missing aarch64eb support,
such as most of the binary-bootstrap requiring languages like rust,
go, and java.

no pkg-bump because this shouldn't change packages on systems that
could already build all of these.
2021-04-25 07:51:24 +00:00
thor
6925445dd2 mpg123: update to 1.26.5 and use default optimization
This approaches a serious performance issue with 1.26.x when
resampling is used on certain platforms (observed on SPARC).
Floating point denormals crop up. This change approaches that
two-fold

1. Do not disable default optimization flags for GCC.
2. Update to 1.26.5 that contains code to avoid denormals.

The default flags are about code optimization (like -ffast-math),
not the target architecture, so should not affect portability.
They are also rather safe and tested as development of mpg123
always has them in place. This is how it is meant to be played;-)

Approved during freeze by wiz.
2021-03-25 23:53:13 +00:00
dholland
05ce6482bf Spell --with-cpu correctly for aarch64 in mpg123's options.mk. 2021-03-15 18:25:21 +00:00
adam
fd752da670 mpg123: updated to 1.26.4
1.26.4
------
- Clarify seeking documentation regarding samples and PCM frames.
- Fix build on MorphOS (patch by Ozkan Sezer, bug 295).
- Fix cmake build to install fmt123.h.
- Some cmake build fixes, tinyalsa addition by Maarten (bug 299).
- libmpg123: explicitly handle some
2021-01-03 15:06:00 +00:00
nia
e45630fe6c mpg123: Actually, the 'x86_dither' option is missing from ./configure
So we can probably just remove this option.
2020-10-27 08:58:13 +00:00
nia
7272cf3c5e mpg123: Simplify option selection.
Don't use a version check that will break as soon as we make a NetBSD 10.
2020-10-27 08:53:57 +00:00
tsutsui
782a1fe31d Don't set PKG_SUGGESTED_OPTIONS=mpg123-with-fpu on softfloat arm.
Fixes PR/54779.
Bump PKGREVISION to rebuild arm binaries.
2020-08-01 23:44:06 +00:00
adam
d1e1a291ca mpg123: updated to 1.26.3
1.26.3
- Fix accurate (--enable-int-quality) and s32 x86-64 assembly for Windows ABI
2020-07-27 14:46:14 +00:00
adam
aeaf5fff25 mpg123: updated to 1.26.2
version 1.26.2:
Some refinements.
Enable terminal control by default only when both input and output are connected to a terminal. This avoids messing with terminal settings when piping stderr to a pager, which takes over terminal input anyway, while mpg123 still thinks it got control.
Windows build fixes for UWP and without GetThreadErrorMode when not building modules, thanks to Steve LHomme.
Android build fix regarding off64_t use, thanks to Steve LHomme.
More CMake build fixes thanks to David Callu (bug 290).
Use PROG_LIBS for output modules, to reinstate not necessarily proper but previous behaviour and fix FreeBSD port build (bug 291).
Refine LFS support in libsyn123, avoiding architecture-dependent syn123.h (debian bug 963205).
2020-07-06 15:33:54 +00:00
adam
9d2072b8e3 mpg123: updated to 1.26.1
1.26.1
------
- Fix cmake build by actually including the read_api_version file in the distro.
- Fix big-endian build, stupid omission of a variable declaration, semicolon.
- Silence a harmless warning for build without realtime priority.

1.26.0
------
- Starting to intentionally use C99 in the codebase. API headers are still
  supposed to be compatible to C89.
- There is a make check target now with some simple tests.
  It is an open question how that should be developed in relation to the
  external regression and compliance test suite.
- Finally silenced memory checkers about leaking memory from getlopt()
  (main code overwriting values without freeing strdup() strings).
- AUTHORS now in UTF-8;-)
- CMake build files in ports/cmake, as an alternative to create MSVC
  project files and the like (thanks to Vitaly Kirsanov)
- Default build with proper integer rounding (--enable-int-quality) now.
- Cygwin/midipix autoconf fixes (thanks to Redfoxmoon).
- Updated Windows build script, notably renaming .dll.def to .def.
  Requires an argument now for build type, an optional one for
  parallel make (not that useful on MinGW).
- Rework library dependency handling to avoid unnecessary linking for
  lib*123. Also add proper Libs.private to .pc files to enable static
  usage (especially on Windows with shlwapi).
- Updated support for OS/2 in the form of ArcaOS.
- Removed outdated Pascal port (ports/mpg123_.pas). There are others
  out there.
- Updated man pages, been a while.
- mpg123:
-- Fixed-rate playback now prefers the libsyn123 resampler instead of NtoM
   in libmpg123, see --resample parameter.
-- Drop --STDOUT (never properly implemented, use pipe to out123 instead).
-- Make --streamdump use unintr_write() to avoid inconsistencies.
-- Now sets non-zero exit code when any one track of the playlist
   fails to either produce at least one frame of playback, if there
   is data that should produce such (i.e. /dev/zero is bad, /dev/null is
   fine). See man page for details.
-- Print out MPEG header info for each frame for mpg123 -vvvv.
-- Added --no-visual to disable cursor/inverse video games explicitly.
-- Clear progress bar before printing updated metadata within a stream.
-- Filter control/non-printable characters from user data printout, reduce
   ID3v1 data to 7-bit ASCII (no way to know correct 8-bit encoding for sure).
   This should  cover bug 267.
-- Set MPG123_NO_PEEK_END when opening special file '-' (standard input).
   That helps Windows where attempting to seek on the non-seekable stream
   is undefined behaviour (bug 285).
-- Print errors in player code also for --quiet operation (just no messages
   from the libraries).
-- Ignore ID3v1 once a Frankenstein stream was detected.
-- Prevent a cosmetic use-after-free in audio playback during program abortion just after
   starting playback (prebuffer still in use, implication a blip of bad sound and
   a complaining sanitizer).
-- Reformat audio capabilities table, more condensed, fits into 80 columns.
   Forced rate on a separated line.
-- Make --pitch actually work, not just interactive changes. Pitching uses
   a resampler now if a fixed output rate is specified.
-- Added --no-frankenstein.
-- Frameflags as long variable, 32 bits are needed since some time now.
- out123:
-- Document --STDOUT, make it more robust regarding fwrite() interruptions.
-- Removed the implicit phase shift that made generated waves exactly at
   Nyquist freq non-silent, but made little sense overall.
-- Less high-frequency shifts to make waves fit into the table (not insisting
   on even number of samples).
-- Option to work without wave table (setting the limit to zero).
-- Added --wave-direction to also enable backward time without phase shift.
-- Waves now generated by re-usable little synthethizer library dubbed
   libsyn123.
-- Pink noise from libsyn123 added (using code from Phil Burk).
-- White noise from libsyn123.
-- Geiger-Mueller counter simulation from libsyn123.
-- Wave sweep generator from libsyn123.
-- Some rearrangement in help text.
-- Changed output of --test-encodings to list of encoding names
   instead of raw bitmask value.
-- Added --endian, --inputend, and --byteswap.
- libsyn123:
-- Created the library to host some simple signal generators for testing
   output.
-- It also hosts sample format conversions as a necessity to be able to
   directly produce the format output devices need.
-- Well, also channel mixing while we're at it.
-- Oh, and a minimal-latency-and-reasonably-efficient resampler that only
   took me over a year to figure out. I should write a paper about it.
- libout123:
-- Added out123_free() for the benefit of library wrappers. (bug 276)
-- Removed change of effective user ID in the WAV/RAW/AU/CDR writer.
   This was intended as a safeguard to avoid creating files with root
   priviledges. But: Other output modules still allowed root-level
   access to various devices and files, so it was never safe to do
   something awful like installing mpg123 with suid bit or configure
   sudo to allow users to run mpg123 with arbitrary arguments.
   You should treat out123_open just like the regular open(): You can
   write to any file/device depending on your permissions.
-- Finally maybe fixed the damaged playback when using pulse hidden
   behind the ALSA API (on Ubuntu, for example) by setting a high value
   for device start threshold.
-- Fixed out_play() abortion logic to better detect fatal situations
   (broken pipe). Needed on FreeBSD, while Linux buffers the issue away.
   Should resolve bug 283.
-- Limit size of buffer block being written in out123_play to 16K, avoiding
   unnecessary failure with ALSA at least.
-- Using SDL2 now if found. Output module code unchanged.
-- Added hex and txt (plain text) printout.
-- Eliminated spots where error messages would still be printed
   also for OUT123_QUIET being effect.
-- Dummy output accepts any encoding now.
- libmpg123:
-- Added mpg123_open_fixed() to ease API for applications that just
   want to decode well-behaved local files.
-- The user buffers for audio output data are now declared as void* for
   mpg123_read(), mpg123_decode(), and mpg123_replace_buffer() to avoid
   the useless need for casting your nice int16_t buffer to unsigned char
   for decoding MPG123_ENC_SIGNED_16 data to it.
-- Added mpg123_free() for the benefit of library wrappers. (bug 276)
-- Add mpg123_format2() and mpg123_fmt2() supporting special value 0 for all
   rates.
-- Fix changing of decoder (and output format along with that) after stream
   opening. This was never recommened and only now should work at all.
-- Also mpg123_decode_frame() now sets return buffer to NULL and returned byte
   count to zero in case of MPG123_NEED_MORE (or any other early abort).
-- MPG123_NEED_MORE not returned anymore for non-feeder streams. Got in
   there for generic partial frame body reads, but was only intended for
   feeder API.
-- Added mpg123_set_moreinfo() to support the Lame project's frame analyzer,
   disabled by ./configure --disable-moreinfo.
-- Added optional storage and retrieval of raw ID3 data.
-- Fix skipping of ID3v2 footers (too much was attempted to be skipped). This
   is of not much practical consequence as a tag with footer would appear on
   the end of files anyway and files with ID3v2 tags at the end seem to be
   rather rare.
-- Add mpg123_new_string() and mpg123_delete_string() to avoid confusion
   about what mpg123_init_string() and mpg123_free_string() do.
-- Make mpg123_resize_string() terminate the string if shrinking (fill now
   limited to new size).
-- Improve layer III frame parsing/error reporting for bad part2_3_length.
-- Fix crashing on stupidly low NtoM rates (exceeding downsampling factor 31).
   This was only triggered by you specifying a forced sampling rate below 1550 Hz.
-- Do not remove CRC bits twice from possibly available bit reservoir.
   This move needed recomputation of the layer3is reference data for 8 and
   24 kHz. Old mpg123 is _wrong_ in the first few frames.
-- Generally more tight control and early bail out on reading bits of
   frame data for all layers. This reduces the count of error messages
   on badly damaged files a lot and feels a lot safer, too. Note that
   we already silently returned zero bytes instead of actually over-reading
   the frame buffer before, but now it happens with diagnostics and more
   checks before it may happen.
-- Optionally enforce output endianess (big/little) away from native.
-- Fix build without error messages.
-- Fix build without gapless decoding.
-- Disable buffer when neither mmap nor shm functions detected (fixes
   build for Android, thanks to vquicksilver).
-- Some support for extremely small streams (below 128 bytes). Those are
   too short to contain anything useful besides some tiny metadata, but
   serve to find/reproduce parser bugs.
-- Fix mpg123_read() for builds without feeder. It calls mpg123_decode()
   without feeding input, which was disabled by mistake. The use of
   mpg123_read() (instead of mpg123_decode_frame()) with mpg123_open()
   was broken in feederless builds since those were fixed in version 1.15.
-- Fix ID3v2 parser logic for multiple ID3v2 tags being encountered in one
   stream. New tags replace old data instead of appending to it when the
   extended header update flag is not set (ID3v2.4). Update tags only
   replace data that shall be unique. So far, I have never seen an update
   tag in the wild, so the check for the flag is untested. The mechanism
   of replacing parts of existing tag data has been tested, though.
   Note that the updated libmpg123 also avoids a growing ID3 data structure
   when repeatedly seeking back to the beginning in a file with disabled
   seek index.
-- Eliminated a spots where error messages would still be printed
   also for MPG123_QUIET being effect.
-- Added MPG123_NO_FRANKENSTEIN, MPG123_FLOAT_FALLBACK flags.
-- Now actually try floating point encoding if format matrix allows it
   (can be disabled by unsetting MPG123_FLOAT_FALLBACK).
-- Added mpg123_feature2() that takes an int, as enums are not ABI-safe,
   also added feature queries for floating point output.
2020-06-02 08:06:14 +00:00
nia
3e162c3b3e *: Remove esound support from pkgsrc
Enlightened Sound Daemon was one of the earlier solutions to the old
"multiple programs can't open /dev/audio at once" problem that was once
a thing we had to worry about.

Eventually, it was adopted as part of GNOME. GNOME lost interest in it
about a decade ago and dropped it in favour of PulseAudio, newer
applications are generally uninterested in supporting it. Last release
was in 2008 and support for newer OS APIs is pretty nonexistent.

Several years ago the original website disappeared.

https://en.wikipedia.org/wiki/Enlightened_Sound_Daemon
https://tracker.debian.org/news/999428/removed-0241-11-from-unstable/
2020-01-20 21:54:00 +00:00
nia
be390fe280 mpg123: Update to 1.25.13
This is a bugfix release solely for bug 280 in the parser:

    libmpg123
        Reset the flag for having a frame to decode before trying to parse a new one. This prevents very unkind behaviour (crashes) when combinging mpg123_scan() with decoding later on for damaged streams that have a mixture of different MPEG versions.
2019-10-31 14:06:17 +00:00
nia
c5ac578520 mpg123: Update to 1.25.12
libmpg123:

    Fix an out-of-bounds read of maximal two bytes for truncated RVA2 frames (oss-fuzz-bug 15975). The earlier fix around the same location needed one thought more. Actually, another though was needed, oss-fuzz-bug 16009 documents the incomplete fix.
    Fix an invalid write of one zero byte for empty ID3v2 frames that demand de-unsyncing (oss-fuzz-bug 16050).
    Correct preprocessor syntax in mangle.h, no #error in a #define line. (bug 273, thanks to nmlgc).
2019-08-31 14:24:19 +00:00
nia
bed32cff28 mpg123: Update to 1.25.11
libmpg123:
* Fix out-of-bounds reads in ID3 parser for unsynced frames. (oss-fuzz-bug 15852)
* Fix out-of-bounds read for RVA2 frames with non-delimited identifier. (oss-fuzz-bug 15852)
* Fix implementation-defined parsing of RVA2 values. (oss-fuzz-bug 15862)
* Fix undefined parsing of APE header for skipping. Also prevent endless loop on premature end of supposed APE header. (oss-fuzz-bug 15864)
* Fix some syntax to make pedantic compiler happy.

The serious bugs trigger Denial of Service either via the nasty endless
loop in supposed APE tags or by crashes if the invalid reads hit a
diagnostic by the OS or, more likely, a security mechanism like the
sanitizer instrumentation that enabled finding the bugs.

I do not have CVE numbers for these bugs.
I rather fix the bugs than name them. Just update, will you?
2019-07-27 15:14:40 +00:00
tsutsui
ece476e7b8 mpg123: fix mpg123-pulse build failure on NetBSD/i386 8.0_RC2.
Fixes PR pkg/53433 by disabling x86 asm that causes text relocations
in libmpg123.so.  Ok'ed by martin@.
Bump PKGREVISION.
2018-07-14 17:12:56 +00:00
jmcneill
9385cfad4f Enable NEON optimizations on ARM64. Bump pkg revision. 2018-05-22 22:50:25 +00:00
adam
cbdd1004fb mpg123: updated to 1.25.10
There briefly was a 1.25.9 release which was superseeded by 1.25.10 before a public announcement. Both amount to these fixes:
libout123: Fix error messages beginning from OUT123_ARG_ERROR (bug 261).
mpg123: Fix --icy-interval handling to work with stream from stdin. (curl | mpg123 --icy-interval=n -)
libmpg123: Fix another invalid read and segfault on damaged (fuzzed) files with part2_3_length == 0 (set maxband=1, pulled from upcoming 1.26.0).
2018-04-13 08:20:06 +00:00
adam
2171b77cf2 mpg123: updated to 1.25.8
1.25.8
------
- mpg123:
-- Also disable cursor/video games for empty TERM (not just unset and dumb).
- libmpg123:
-- Accept changing mode extension bits when looking for next header for
   detecting free-format streams (bug 257).
-- Fix compute_bpf() for free format streams (needed to estimate track
   length and working fuzzy seeking in absence of an Info tag).
2017-12-14 11:42:05 +00:00
adam
df334f53e3 mpg123: updated to 1.25.7
1.25.7
------
- mpg123:
-- Do not play with cursor and inverse video for progress bar
   when TERM=dumb.
-- Fix parsing of host port for numerical IPv6 addresses (just did
   not work before, only for textual host names).
- libmpg123:
-- Proper fix for the xrpnt overflow problems by correctly
   initialising certain tables for MPEG 2.x layer III. The checks that
   catch the resulting overflow are still in place, but likely superfluous
   now. Note that this means certain valid files would have been misdecoded
   before, if anyone actually produced them. Thanks to Robert Hegemann for
   the fix!
-- Silently handle granules with part2_3_length == 0, but
   scalefac_compress != 0 (ignore the latter).
2017-10-24 18:02:50 +00:00
wiz
7ba7c78e46 Updated mpg123 to 1.25.5.
1.25.5
------
- Avoid another buffer read overflow in the ID3 parser on 32 bit platforms
  (bug 254).

1.25.4
------
- Better configure checks for i?86-apple-darwin (bug 253).
- libmpg123:
-- Prevent harmless call to memcpy(NULL, NULL, 0).
-- More early checking of ID3v2 encoding values to avoid bogus text being
   stored.

1.25.3
------
- libmpg123:
-- Better checks for xrpnt overflow in III_dequantize_sample() before each
   use, avoiding false positives and catching cases that were rendered
   harmless by alignment-enlarged buffers.
2017-09-08 08:50:23 +00:00
maya
3644cd8e76 mpg123: update to 1.25.2
1.25.2
------

- libmpg123:
-- Extend pow tables for layer III to properly handle files with i-stereo and
   5-bit scalefactors. Never observed them for real, just as fuzzed input to
   trigger the read overflow. Note: This one goes on record as CVE-2017-11126,
   calling remote denial of service. While the accesses are out of bounds for
   the pow tables, they still are safely within libmpg123's memory (other
   static tables). Just wrong values are used for computation, no actual crash
   unless you use something like GCC's AddressSanitizer, nor any information
   disclosure.
-- Avoid left-shifts of negative integers in layer I decoding.

1.25.1: Hot Fuzz
-------
- libmpg123:
-- Avoid memset(NULL, 0, 0) to calm down the paranoid.
-- Fix bug 252, invalid read of size 1 in ID3v2 parser due to forgotten
   offset from the frame flag bytes (unnoticed in practice for a long
   time). Fuzzers are in the house again. This one got CVE-2017-10683.
-- Avoid a mostly harmless conditional jump depending on uninitialised
   fr->lay in compute_bpf() (mpg123_position()) when track is not ready yet.
-- Fix undefined shifts on signed long mask in layer3.c (worked in practice,
   never right in theory). Code might be a bit faster now, even.
   Thanks to Agostino Sarubbo for reporting.

1.25.0: MP3 now patent-free worldwide!
-------
- Silence test for artsc-config if it is not there.
- Make sure -static-libgcc from LDFLAGS gets through libtool,
  fixing 32 bit Windows builds (depend on libgcc DLL otherwise).
- Fix build with non-GNU make by using plain rm -f instead of silly $(RM)
  in libout123/modules makefile fragment.
- Make build work on iOS, including coreaudio backend.
- libmpg123:
-- Finally provide position-independent code for x86 with assembly
   optimisations.The textrels are gone thanks to Won Kyu Park and Taihei Momma.
-- Clarify some license language in files descending from the original MMX
   optimisation.
-- Fix return value overflow check for MPG123_BUFFERFILL.
-- Introduced mpg123_getformat2() to enable the FORMAT command
   for the generic control not stealing MPG123_NEW_FORMAT from the main
   playback loop. The sequence LOADPAUSED-FORMAT-PAUSE (play) is supposed
   to work now.
-- Enable aarch64 optimisations on *BSD by default, too. You can always
   override that stupid OS whitelist using --with-optimization, anyway.
-- Use of the i486 decoder is now discouraged more prominently, in configure
   output.
- out123: Fix stupid crash with verbose mode and tone generation (print
  the string if the pointer is non-null, not if it is null).
- libout123: More consistent error messages for dynamic and legacy
  (built-in) modules. Namely, you get a hint how if you choose a different
  module than the built-in ones for a static libout123.
2017-07-14 05:46:46 +00:00
adam
47d3bab028 1.24.0
------
- Avoid repeating genre in metadata printout for specifications like
  (144)Thrash Metal.
- In remote control mode, only enforce --quiet if no verbosity was required.
- Prevent --loop and --shuffle or --random from messing with the remote
  control LOADLIST command (printout of the list would loop without reason).
- Fix the mpg123 command (esp. our provided binaries on Windows) to now find
  modules again relative to the executable directory, not the current working
  directory. This was a regression in 1.23 and might be security-relevant if
  you called mpg123 in working directories with untrusted content.
  Note that mpg123 1.23 looked for modules relative to the current working
  directory only if the installation prefix for modules did not exist.
  So, usage on an intact installation (with /usr/lib/mpg123 or the like) was
  safe. Nevertheless this new version fixes the search to be relative to the
  binary path as it was with 1.22 and before.
- At least consistent behaviour of playlist code in the face of looping.
  Looping is about individual tracks, always. They are looped also in random
  mode. Jumping (prev/next keys) is between tracks and resets the loop counter.
  The display of currently playing track in the playlist is fixed for random
  and looped play now (bug 198).
- Looping is now mentioned for a to-be-repeated track with --verbose.
- Move some compiler nagging from --enable-debug to --enable-nagging, fix up
  some new build failures by adding some pesky feature test macros.
- Try not to pollute the terminal buffer with old progress bars in inverse
  video. Only the currently live one shall be seen. That one is pretty. The
  others are not.
- Using plain dlopen()/LoadLibrary() for opening modules instead of libltdl.
  This also means that --with-module-suffix is gone in configure.
- Windows builds only work when Unicode support is there (older than Windows
  2000/XP will definitely not work anymore).
- The out123 tool now features tone generation, with a mix of differing
  wave patterns. Makes sense to be able to test the audio output by itself,
  and it's fun. See --wave-freq and related parameters.
- libmpg123 version 43:
-- Add flags MPG123_NO_PEEK_END and MPG123_FORCE_SEEKABLE, as suggested
   by Bent Bisballe Nyeng.
-- Build fix for MSVC (consistent definition of ssize_t, spotted by manx,
   bug 243).
-- Build fix for --with-cpu=ppc_nofpu (thanks to Michael Kostylev, bug 244).
-- Add asm optimized MSVC++ Win32|x64 and UWP|x64 builds
-- Remove old, broken MSVC++ builds
- libout123 version 2:
-- Added OUT123_BINDIR.
-- New search order for output plugin directory: MPG123_MODDIR, or (relative
   to executable directory OUT123_BINDIR) ../lib/mpg123, plugins
   libout123/modules/.libs, libout123/modules, ../libout123/modules/.libs,
   ../libout123/modules, and at last the installation prefix $libdir/mpg213/.
   This shall ensure that a build inside a source tree does not try to use old
   modules from the system prefix. The normal libtool wrapper deals with the
   shared libout123 or libmpg123 only, not modules.
   Note that if you set MPG123_MODDIR to a non-existing directory, no modules
   will be found (earlier versions fell back to other choices).
-- The OUT123_NAME parameter is now copied by out123_param_from(), as is
   the newly added OUT123_BINDIR.
-- Coreaudio: Use AudioComponents API on OSX >= 10.6 (thanks to Michael Weiser).
-- Coreaudio: Fix behaviour of out123_drop(), not killing the output anymore
   without re-opening the device (bug 236, thanks to Taihei for the fix).
2017-04-16 08:12:27 +00:00
wiedi
e238eae6e8 use c99 to fix build on SunOS 2016-12-23 13:50:03 +00:00
adam
c5dc9b91b2 Changes 1.23.8:
- Fix long-standing bad memory read (via integer underflow) in ID3 parser
  for crafted ID3v2 tags with tiny size information
2016-12-18 22:58:34 +00:00
agc
efd9ad4549 Remove duplicate SHA512 digests that crept in. 2015-11-04 17:41:15 +00:00
agc
b734eb2ebf Add SHA512 digests for distfiles for audio category
Problems found with existing distfiles:
	/pub/pkgsrc/distfiles/amp-0.7.6.tgz
	/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-music-32000-1.0.8.tar.gz
	/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-music-48000-1.0.8.tar.gz
	/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-en-us-callie-32000-1.0.22.tar.gz
	/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-en-us-callie-48000-1.0.22.tar.gz
	/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-fr-ca-june-32000-1.0.18.tar.gz
	/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-fr-ca-june-48000-1.0.18.tar.gz
	/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-16000-1.0.12.tar.gz
	/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-32000-1.0.12.tar.gz
	/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-48000-1.0.12.tar.gz
	/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-8000-1.0.12.tar.gz
	/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-fr-ca-june-32000-1.0.18.tar.gz
	/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-fr-ca-june-48000-1.0.18.tar.gz
	/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-32000-1.0.13.tar.gz
	/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-48000-1.0.13.tar.gz
	/pub/pkgsrc/distfiles/kid3-3.3.0.tar.gz
	/pub/pkgsrc/distfiles/libdca-0.0.5.tar.bz2
	/pub/pkgsrc/distfiles/mp3to.gz
	/pub/pkgsrc/distfiles/squeezeboxserver-7.5.1-noCPAN.tgz
No changes made to these file.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 01:12:23 +00:00
adam
3d3f0d6112 Changes 1.22.4:
- Fix stupid regression introduced with a bugfix in 1.14.1 to make
  free format streams work again. It took 3 years for someone to notice.
  I added a regression test for that now!
2015-10-18 15:07:06 +00:00
adam
9e9d315e25 Changes 1.22.2
- Fix buffering for funny sample formats (namely, 24 bit), that do not
  fit nicely into 32768 bytes. Effect was a nasty endless loop where
  mpg123 needs to be externally killed.

Changes 1.22.1
- Fix mpg123-id3dump when writing images with funny (manipulated) MIME type.
  Stupid mistake in length computation of the fallback file extension caused
  junk from memory being appended to the filename if the pointer size
  is less than 64 bit. For 64 bit pointers (or longer) it was correct by
  accident.
- Fix pedantic build by cleaning up out123 source, also now really showing
  the encoding list in --longhelp instead of possibly, again, writing junk
  from memory in there.
- Not linking libmpg123 against libltdl anymore (bug 215).
- Update MSVC++ ports a bit to make them work again.
2015-07-20 17:30:33 +00:00
mef
d873fbcd94 Based on PR pkg/49405
(upstream)
  Update mpg123*  from 1.19.0 to 1.21.0
(pkgsrc)
  Add comment to patch-ad
Tks wiz@ and obache@ for review.x
1.21.0
---
- Use LL as shortcut for LOADLIST remote command, L is taken already (bug 210).
- Less namespace pollution (MPG123_EXPORT in header instead of EXPORT, bug 212).

1.20.1
---
- Make feed reader more efficient when skipping junk by early
  discarding of data from buffers to avoid re-parsing.

1.20.0
---
- Added NEON optimized decoder for AArch64 (ARM 64bit environment)
- enabled for --with-cpu=neon64 (NEON only) or --with-cpu=aarch64
  (runtime switch between neon and generic_fpu, like arm_fpu)
  configuration
- compatible with aarch64-linux-gnu toolchains (from Ubuntu, debian) and Xcode 5
- Added new binary out123 only with the audio output part of mpg123.
  This is a precursor to separating out said code into a simple audio
  output library. It also allows plugging in some processing in a pipe
  before feeding to output.
- Prevent opendir(NULL) for unknown module directory when listing modules.
- some build fixes, among those fixing mpg123-id3dump on Windows
2014-11-20 13:07:12 +00:00
adam
f91c52e100 Changes 1.19.0:
- Support float and 32/24 bit integer output also with fixed-point decoders (conversion from 16 bit precision).
- A-Law output encoding is actually implemented now (Michael introduced the encoding back in the old days without ever implementing theconversion table, apparently).
- Added --with-cpu=arm_fpu as decoder choice for runtime switch between plain fpu code and NEON.
- Fix ARM builds to work properly on debian systems without special CFLAGS (NEON decoder, specifically).
- Make scripts/benchmark-cpu.pl check the return value instead of delivering crazy timings for crashed mpg123.
- Trigger track initialization in mpg123_info() to avoid use of uninitialized variables (watch out for MPG123_NEED_MORE return value!).
- Fix integer code to 32 bit numbers where it would waste 64 bit on modern systems.
- Add non-executable stack marking also to ARM assembly.
2014-05-20 19:59:09 +00:00
asau
3997aff2d7 Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days. 2012-10-02 23:47:56 +00:00
jperkin
506e4c7a0c Disable hand-rolled assembly on Solaris, the style is incompatible with
the Solaris linker, and -mimpure-text is no longer an option with GCC.

Fixes build on Solaris/GCC.
2012-09-26 12:55:11 +00:00
tron
9eecf6a5de Build with generic FPU code under Mac OS X Lion as the assembler code
causes linker errors.
2012-06-17 07:17:57 +00:00
shattered
6e50f8ab35 PR/44543 -- recognize any non-zero return value getaddrinfo() as error.
Bump revisions of all variant packages.

(wearing pointy hat)
2011-10-17 21:43:27 +00:00
shattered
6d94c3c41d PR/44543 -- recognize any non-zero return value getaddrinfo() as error.
Bump revisions of all variant packages.
2011-10-17 19:45:55 +00:00
hans
12de281290 Fix build on SunOS. 2011-09-14 15:44:23 +00:00
zafer
705b0bec3b Update mpg123 to 1.12.5
Changelog:
Version 1.12.5:
This release fixes a buffer overflow issue in the mpg123 frontend application when printing ID3 data in non-UTF-8 environments. It has been introduced in version 1.12.4 and Jakub Bogusz was so kind to bump my head into this. Please upgrade. Thanks.

Version 1.12.4:
This is a little bugfix release that improves printout of metadata (ID3) in UTF-8 terminals, fixing one of those distro bug reports that I am getting aware of late... Get it from the usual places.

Version 1.12.3:
The newest release fixes bug 3022850, a long-standing bug that managed to break http streaming with ICY metadata in a non-obvious manner. It's a little change with big impact... for those who listen to web radio, that is.

Version 1.12.2:
The fresh maintenance release mainly fixes bug 2996045, invalid memory access prompted by addresses in the upper half of the address space. I introduced that one with a bad alignment algorithm, sorry.

Along with this go several other fixes/improvements:

    * Various build and portability fixes (including making some exotic configure switches work (again)).
    * Add dump_seekindex example
    * Sync mpg123_clr (.NET wrapper) to 1.12 feature set, patch provided by Malcolm Boczek -- and actually include it in release tarball!
    * Rework mpg123.h logic for large file stuff a bit, clients can control it by defining MPG123_NO_LARGENAME or MPG123_LARGESUFFIX.
    * Include dumb wrappers to provide names suffixed with _64 on 64 bit machines and _32 on 32 bit machines, respectively, to help clients that insist on defining _FILE_OFFSET_BITS where it is not needed (or with a non-large value).
    * Tuning of the internal buffer code for feeder mode to minimize its performance impact (works in 4K blocks now).
    * Workaround for compiler bugs in Open64/PathScale/SunStudio (bug 3004396, suggestion by Doug Gilmore).
      Note that Sun Studio is still a tricky fellow, at least when it comes to our preprocessed assembly (generic build works). Also, x86-Open64 recently produced another segfault in layer3.c on my box... GNU and intel compilers are what one can use as something stable.
    * Make mpg123_getformat() return more error codes (like MPG123_NEED_MORE).
    * Fix handle I/O for clients with small file offset (32 bit when libmpg123 has 64 bit).
    * Fix 3DNow(Ext) standalone builds.
2010-10-26 21:06:44 +00:00
martin
91928656f3 Switch to oss default module on FreeBSD and DragonFly, per PR pkg/43279. 2010-05-12 13:16:15 +00:00