pkgsrc/audio/mpg123
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
..
files
patches mpg123: update to 1.25.2 2017-07-14 05:46:46 +00:00
buildlink3.mk
DESCR
distinfo mpg123: updated to 1.26.1 2020-06-02 08:06:14 +00:00
Makefile mpg123: Update to 1.25.11 2019-07-27 15:14:40 +00:00
Makefile.common mpg123: updated to 1.26.1 2020-06-02 08:06:14 +00:00
options.mk mpg123: fix mpg123-pulse build failure on NetBSD/i386 8.0_RC2. 2018-07-14 17:12:56 +00:00
PLIST mpg123: updated to 1.26.1 2020-06-02 08:06:14 +00:00