./audio/mpg123, MPEG layer 1, 2, and 3 audio player

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 1.25.10nb2, Package name: mpg123-1.25.10nb2, Maintainer: martin

mpg123 reads one or more files (or standard input if ``-'' is
specified) or URLs and plays them on the audio device (default) or
outputs them to stdout. file/URL is assumed to be an MPEG-1/2 audio
bit stream.

Required to build:

Package options: mpg123-fifo, mpg123-with-fpu

Master sites:

SHA1: 604784ddbcfe282bffdc595d1d45c677c7cf381f
RMD160: c22ec77cf8c69925d36546f3bc971edc713c197c
Filesize: 899.628 KB

Version history: (Expand)

CVS history: (Expand)

   2018-07-14 19:12:56 by Izumi Tsutsui | Files touched by this commit (2) | Package updated
Log message:
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@.
   2018-05-23 00:50:25 by Jared D. McNeill | Files touched by this commit (2)
Log message:
Enable NEON optimizations on ARM64. Bump pkg revision.
   2018-04-13 10:20:06 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
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).
   2017-12-14 12:42:06 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
mpg123: updated to 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-10-24 20:02:50 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
mpg123: updated to 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-09-08 10:50:23 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
Updated mpg123 to 1.25.5.

- Avoid another buffer read overflow in the ID3 parser on 32 bit platforms
  (bug 254).

- 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

- 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-07-14 07:46:47 by Maya Rashish | Files touched by this commit (3) | Package updated
Log message:
mpg123: update to 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
-- 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
-- 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
- 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-04-16 10:12:27 by Adam Ciarcinski | Files touched by this commit (4)
Log message:
- 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).