|
Packit |
c32a2d |
1.25.10
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
- libout123: Fix error messages beginning from OUT123_ARG_ERROR (bug 261).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.25.9
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- mpg123: Fix --icy-interval handling to work with stream from stdin.
|
|
Packit |
c32a2d |
(curl | mpg123 --icy-interval=n -)
|
|
Packit |
c32a2d |
- libmpg123: Fix another invalid read and segfault on damaged (fuzzed)
|
|
Packit |
c32a2d |
files with part2_3_length == 0 (set maxband=1, pulled from upcoming 1.26.0).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.25.8
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- mpg123:
|
|
Packit |
c32a2d |
-- Also disable cursor/video games for empty TERM (not just unset and dumb).
|
|
Packit |
c32a2d |
- libmpg123:
|
|
Packit |
c32a2d |
-- Accept changing mode extension bits when looking for next header for
|
|
Packit |
c32a2d |
detecting free-format streams (bug 257).
|
|
Packit |
c32a2d |
-- Fix compute_bpf() for free format streams (needed to estimate track
|
|
Packit |
c32a2d |
length and working fuzzy seeking in absence of an Info tag).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.25.7
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- mpg123:
|
|
Packit |
c32a2d |
-- Do not play with cursor and inverse video for progress bar
|
|
Packit |
c32a2d |
when TERM=dumb.
|
|
Packit |
c32a2d |
-- Fix parsing of host port for numerical IPv6 addresses (just did
|
|
Packit |
c32a2d |
not work before, only for textual host names).
|
|
Packit |
c32a2d |
- libmpg123:
|
|
Packit |
c32a2d |
-- Proper fix for the xrpnt overflow problems by correctly
|
|
Packit |
c32a2d |
initialising certain tables for MPEG 2.x layer III. The checks that
|
|
Packit |
c32a2d |
catch the resulting overflow are still in place, but likely superfluous
|
|
Packit |
c32a2d |
now. Note that this means certain valid files would have been misdecoded
|
|
Packit |
c32a2d |
before, if anyone actually produced them. Thanks to Robert Hegemann for
|
|
Packit |
c32a2d |
the fix!
|
|
Packit |
c32a2d |
-- Silently handle granules with part2_3_length == 0, but
|
|
Packit |
c32a2d |
scalefac_compress != 0 (ignore the latter).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.25.6
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Hotfix for bug 255: Overflow reading frame data bits in layer II decoding.
|
|
Packit |
c32a2d |
Now, all-zero data is returned if the frame data is exhausted. This might
|
|
Packit |
c32a2d |
have a slight impact on performance, but not easily measurable so far.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.25.5
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Avoid another buffer read overflow in the ID3 parser on 32 bit platforms
|
|
Packit |
c32a2d |
(bug 254).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.25.4
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Better configure checks for i?86-apple-darwin (bug 253).
|
|
Packit |
c32a2d |
- libmpg123:
|
|
Packit |
c32a2d |
-- Prevent harmless call to memcpy(NULL, NULL, 0).
|
|
Packit |
c32a2d |
-- More early checking of ID3v2 encoding values to avoid bogus text being
|
|
Packit |
c32a2d |
stored.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.25.3
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- libmpg123:
|
|
Packit |
c32a2d |
-- Better checks for xrpnt overflow in III_dequantize_sample() before each
|
|
Packit |
c32a2d |
use, avoiding false positives and catching cases that were rendered
|
|
Packit |
c32a2d |
harmless by alignment-enlarged buffers.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.25.2
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- libmpg123:
|
|
Packit |
c32a2d |
-- Extend pow tables for layer III to properly handle files with i-stereo and
|
|
Packit |
c32a2d |
5-bit scalefactors. Never observed them for real, just as fuzzed input to
|
|
Packit |
c32a2d |
trigger the read overflow. Note: This one goes on record as CVE-2017-11126,
|
|
Packit |
c32a2d |
calling remote denial of service. While the accesses are out of bounds for
|
|
Packit |
c32a2d |
the pow tables, they still are safely within libmpg123's memory (other
|
|
Packit |
c32a2d |
static tables). Just wrong values are used for computation, no actual crash
|
|
Packit |
c32a2d |
unless you use something like GCC's AddressSanitizer, nor any information
|
|
Packit |
c32a2d |
disclosure.
|
|
Packit |
c32a2d |
-- Avoid left-shifts of negative integers in layer I decoding.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.25.1: Hot Fuzz
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- libmpg123:
|
|
Packit |
c32a2d |
-- Avoid memset(NULL, 0, 0) to calm down the paranoid.
|
|
Packit |
c32a2d |
-- Fix bug 252, invalid read of size 1 in ID3v2 parser due to forgotten
|
|
Packit |
c32a2d |
offset from the frame flag bytes (unnoticed in practice for a long
|
|
Packit |
c32a2d |
time). Fuzzers are in the house again. This one got CVE-2017-10683.
|
|
Packit |
c32a2d |
-- Avoid a mostly harmless conditional jump depending on uninitialised
|
|
Packit |
c32a2d |
fr->lay in compute_bpf() (mpg123_position()) when track is not ready yet.
|
|
Packit |
c32a2d |
-- Fix undefined shifts on signed long mask in layer3.c (worked in practice,
|
|
Packit |
c32a2d |
never right in theory). Code might be a bit faster now, even.
|
|
Packit |
c32a2d |
Thanks to Agostino Sarubbo for reporting.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.25.0: MP3 now patent-free worldwide!
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Silence test for artsc-config if it is not there.
|
|
Packit |
c32a2d |
- Make sure -static-libgcc from LDFLAGS gets through libtool,
|
|
Packit |
c32a2d |
fixing 32 bit Windows builds (depend on libgcc DLL otherwise).
|
|
Packit |
c32a2d |
- Fix build with non-GNU make by using plain rm -f instead of silly $(RM)
|
|
Packit |
c32a2d |
in libout123/modules makefile fragment.
|
|
Packit |
c32a2d |
- Make build work on iOS, including coreaudio backend.
|
|
Packit |
c32a2d |
- libmpg123:
|
|
Packit |
c32a2d |
-- Finally provide position-independent code for x86 with assembly
|
|
Packit |
c32a2d |
optimisations.The textrels are gone thanks to Won Kyu Park and Taihei Momma.
|
|
Packit |
c32a2d |
-- Clarify some license language in files descending from the original MMX
|
|
Packit |
c32a2d |
optimisation.
|
|
Packit |
c32a2d |
-- Fix return value overflow check for MPG123_BUFFERFILL.
|
|
Packit |
c32a2d |
-- Introduced mpg123_getformat2() to enable the FORMAT command
|
|
Packit |
c32a2d |
for the generic control not stealing MPG123_NEW_FORMAT from the main
|
|
Packit |
c32a2d |
playback loop. The sequence LOADPAUSED-FORMAT-PAUSE (play) is supposed
|
|
Packit |
c32a2d |
to work now.
|
|
Packit |
c32a2d |
-- Enable aarch64 optimisations on *BSD by default, too. You can always
|
|
Packit |
c32a2d |
override that stupid OS whitelist using --with-optimization, anyway.
|
|
Packit |
c32a2d |
-- Use of the i486 decoder is now discouraged more prominently, in configure
|
|
Packit |
c32a2d |
output.
|
|
Packit |
c32a2d |
- out123: Fix stupid crash with verbose mode and tone generation (print
|
|
Packit |
c32a2d |
the string if the pointer is non-null, not if it is null).
|
|
Packit |
c32a2d |
- libout123: More consistent error messages for dynamic and legacy
|
|
Packit |
c32a2d |
(built-in) modules. Namely, you get a hint how if you choose a different
|
|
Packit |
c32a2d |
module than the built-in ones for a static libout123.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.24.0:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Avoid repeating genre in metadata printout for specifications like
|
|
Packit |
c32a2d |
(144)Thrash Metal.
|
|
Packit |
c32a2d |
- In remote control mode, only enforce --quiet if no verbosity was required.
|
|
Packit |
c32a2d |
- Prevent --loop and --shuffle or --random from messing with the remote
|
|
Packit |
c32a2d |
control LOADLIST command (printout of the list would loop without reason).
|
|
Packit |
c32a2d |
- Fix the mpg123 command (esp. our provided binaries on Windows) to now find
|
|
Packit |
c32a2d |
modules again relative to the executable directory, not the current working
|
|
Packit |
c32a2d |
directory. This was a regression in 1.23 and might be security-relevant if
|
|
Packit |
c32a2d |
you called mpg123 in working directories with untrusted content.
|
|
Packit |
c32a2d |
Note that mpg123 1.23 looked for modules relative to the current working
|
|
Packit |
c32a2d |
directory only if the installation prefix for modules did not exist.
|
|
Packit |
c32a2d |
So, usage on an intact installation (with /usr/lib/mpg123 or the like) was
|
|
Packit |
c32a2d |
safe. Nevertheless this new version fixes the search to be relative to the
|
|
Packit |
c32a2d |
binary path as it was with 1.22 and before.
|
|
Packit |
c32a2d |
- At least consistent behaviour of playlist code in the face of looping.
|
|
Packit |
c32a2d |
Looping is about individual tracks, always. They are looped also in random
|
|
Packit |
c32a2d |
mode. Jumping (prev/next keys) is between tracks and resets the loop counter.
|
|
Packit |
c32a2d |
The display of currently playing track in the playlist is fixed for random
|
|
Packit |
c32a2d |
and looped play now (bug 198).
|
|
Packit |
c32a2d |
- Looping is now mentioned for a to-be-repeated track with --verbose.
|
|
Packit |
c32a2d |
- Move some compiler nagging from --enable-debug to --enable-nagging, fix up
|
|
Packit |
c32a2d |
some new build failures by adding some pesky feature test macros.
|
|
Packit |
c32a2d |
- Try not to pollute the terminal buffer with old progress bars in inverse
|
|
Packit |
c32a2d |
video. Only the currently live one shall be seen. That one is pretty. The
|
|
Packit |
c32a2d |
others are not.
|
|
Packit |
c32a2d |
- Using plain dlopen()/LoadLibrary() for opening modules instead of libltdl.
|
|
Packit |
c32a2d |
This also means that --with-module-suffix is gone in configure.
|
|
Packit |
c32a2d |
- Windows builds only work when Unicode support is there (older than Windows
|
|
Packit |
c32a2d |
2000/XP will definitely not work anymore).
|
|
Packit |
c32a2d |
- The out123 tool now features tone generation, with a mix of differing
|
|
Packit |
c32a2d |
wave patterns. Makes sense to be able to test the audio output by itself,
|
|
Packit |
c32a2d |
and it's fun. See --wave-freq and related parameters.
|
|
Packit |
c32a2d |
- libmpg123 version 43:
|
|
Packit |
c32a2d |
-- Add flags MPG123_NO_PEEK_END and MPG123_FORCE_SEEKABLE, as suggested
|
|
Packit |
c32a2d |
by Bent Bisballe Nyeng.
|
|
Packit |
c32a2d |
-- Build fix for MSVC (consistent definition of ssize_t, spotted by manx,
|
|
Packit |
c32a2d |
bug 243).
|
|
Packit |
c32a2d |
-- Build fix for --with-cpu=ppc_nofpu (thanks to Michael Kostylev, bug 244).
|
|
Packit |
c32a2d |
-- Add asm optimized MSVC++ Win32|x64 and UWP|x64 builds
|
|
Packit |
c32a2d |
-- Remove old, broken MSVC++ builds
|
|
Packit |
c32a2d |
- libout123 version 2:
|
|
Packit |
c32a2d |
-- Added OUT123_BINDIR.
|
|
Packit |
c32a2d |
-- New search order for output plugin directory: MPG123_MODDIR, or (relative
|
|
Packit |
c32a2d |
to executable directory OUT123_BINDIR) ../lib/mpg123, plugins
|
|
Packit |
c32a2d |
libout123/modules/.libs, libout123/modules, ../libout123/modules/.libs,
|
|
Packit |
c32a2d |
../libout123/modules, and at last the installation prefix $libdir/mpg213/.
|
|
Packit |
c32a2d |
This shall ensure that a build inside a source tree does not try to use old
|
|
Packit |
c32a2d |
modules from the system prefix. The normal libtool wrapper deals with the
|
|
Packit |
c32a2d |
shared libout123 or libmpg123 only, not modules.
|
|
Packit |
c32a2d |
Note that if you set MPG123_MODDIR to a non-existing directory, no modules
|
|
Packit |
c32a2d |
will be found (earlier versions fell back to other choices).
|
|
Packit |
c32a2d |
-- The OUT123_NAME parameter is now copied by out123_param_from(), as is
|
|
Packit |
c32a2d |
the newly added OUT123_BINDIR.
|
|
Packit |
c32a2d |
-- Coreaudio: Use AudioComponents API on OSX >= 10.6 (thanks to Michael Weiser).
|
|
Packit |
c32a2d |
-- Coreaudio: Fix behaviour of out123_drop(), not killing the output anymore
|
|
Packit |
c32a2d |
without re-opening the device (bug 236, thanks to Taihei for the fix).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.23.8
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Fix long-standing bad memory read (via integer underflow) in ID3 parser
|
|
Packit |
c32a2d |
for crafted ID3v2 tags with tiny size information (bug 240). Thanks to
|
|
Packit |
c32a2d |
Han Lee & Jerold Hoong for the detailed report.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.23.7
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Fix the bad RPM spec file (broken since out123 addition, thanks
|
|
Packit |
c32a2d |
to Srikanth Rao for noticing).
|
|
Packit |
c32a2d |
- More out123_pause() in generic control mode, working around
|
|
Packit |
c32a2d |
bug 236. The coreaudio output needs to be more robust, though.
|
|
Packit |
c32a2d |
- Do not undef MPG123_EXPORT in the headers, rather be prepared for it
|
|
Packit |
c32a2d |
being defined already. This fixes MSVC builds, broken since 1.23.0
|
|
Packit |
c32a2d |
(bug 239).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.23.6
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- call out123_pause() instead of out123_stop() in remote control STOP
|
|
Packit |
c32a2d |
command, fixing the regression in 1.23.x of not being able to resume
|
|
Packit |
c32a2d |
playback with another LOAD unless the new track has differing audio
|
|
Packit |
c32a2d |
format (bug 234)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.23.5
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- libout123:
|
|
Packit |
c32a2d |
-- fix build of portaudio and SDL on win32 (too many parentheses,
|
|
Packit |
c32a2d |
thanks to Sandro Cumerlato for pointing it out)
|
|
Packit |
c32a2d |
-- make out123_errcode() return OUT123_BAD_HANDLE as documented
|
|
Packit |
c32a2d |
(adding that value to the error enum, was documented but missing),
|
|
Packit |
c32a2d |
again thanks to Sandro
|
|
Packit |
c32a2d |
- fix windows-builds.sh (shell quoting in copying stage) and add some
|
|
Packit |
c32a2d |
bits to shipped header to make it directly usable in MSVC (define ssize_t,
|
|
Packit |
c32a2d |
bug 232)
|
|
Packit |
c32a2d |
- no overwriting of LIBS in Makefile (build system regression in 1.23,
|
|
Packit |
c32a2d |
thanks to Peter Korsgaard for reporting that one)
|
|
Packit |
c32a2d |
- no printing of message in response to SIGPIPE, as that could trigger
|
|
Packit |
c32a2d |
a hang if stderr itself is the piped culprit (regression from 1.22, bug 233)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.23.4
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- mpg123: Fix logic of prebuffering small bits for glitch-free start of
|
|
Packit |
c32a2d |
playback. The logic as introduced in 1.23.0 actually introduced stuttering!
|
|
Packit |
c32a2d |
The fix for this is really minimal and I urge everyone to at least include
|
|
Packit |
c32a2d |
that one. It is the changeset of rev. 4041.
|
|
Packit |
c32a2d |
- libout123:
|
|
Packit |
c32a2d |
-- Actually make OUT123_KEEP_PLAYING on by default, as documented.
|
|
Packit |
c32a2d |
-- Fix buffer logic with regard to draining, use common device writing
|
|
Packit |
c32a2d |
code to handle resuming from pause. This fixes sdl output with buffer,
|
|
Packit |
c32a2d |
possibly other sfifo-based outputs like CoreAudio (those were poorly
|
|
Packit |
c32a2d |
tested with buffer, as the combination is indeed unusual, see bug 230).
|
|
Packit |
c32a2d |
-- Buffer pauses devices for prebuffering, to avoid underruns.
|
|
Packit |
c32a2d |
-- More reliable playback with SDL, Portaudio and CoreAudio outputs.
|
|
Packit |
c32a2d |
This includes FIFO draining on close to avoid dropping of the end.
|
|
Packit |
c32a2d |
It should fix parts of bug 230.
|
|
Packit |
c32a2d |
-- Fixed memory leaks with some outputs where a call to the deinit()
|
|
Packit |
c32a2d |
function is necessary during available/working module checking.
|
|
Packit |
c32a2d |
- mpg123, out123: Use the default output flags to get OUT123_KEEP_PLAYING.
|
|
Packit |
c32a2d |
Without this, there is a good chance to abort on SIGSTOP/CONT while playing.
|
|
Packit |
c32a2d |
This is a regression from 1.22 .
|
|
Packit |
c32a2d |
- Build fixes (bugs 227 and 228) and some build system hackery.
|
|
Packit |
c32a2d |
Gone are libc feature test macros in compat.h . This means always
|
|
Packit |
c32a2d |
using our own strdup() implementation. Simpler than being bugged by
|
|
Packit |
c32a2d |
feature test macros in strict compiler mode (when _DEFAULT_SOURCE is not
|
|
Packit |
c32a2d |
defined).
|
|
Packit |
c32a2d |
- ./configure --enable-nagging does something also without --enable-debug,
|
|
Packit |
c32a2d |
explictly triggers -std=c89, too (hence the above).
|
|
Packit |
c32a2d |
- Some fixup to make things work in pedantic C89 mode again.
|
|
Packit |
c32a2d |
It really might be time to swich on some serious C99 for the next release,
|
|
Packit |
c32a2d |
since there's a followup standard to _that_ which we can ignore now.
|
|
Packit |
c32a2d |
- Update list of renamed internal symbols to reduce conflicts during static
|
|
Packit |
c32a2d |
linking of libmpg123 or libout123.
|
|
Packit |
c32a2d |
- Internal compatibility functions now handled via libtool convenience
|
|
Packit |
c32a2d |
archives, avoiding the hackish code copies.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.23.3:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- mpg123: Man page fixes by ESR.
|
|
Packit |
c32a2d |
- Actually check for sys/select.h (again?) in configure so that it is used.
|
|
Packit |
c32a2d |
Fixes build on a Cygwin install, at least.
|
|
Packit |
c32a2d |
- libmpg123: Always default to enabled IEEE 754 hack for rounding on all
|
|
Packit |
c32a2d |
platforms, use ./configure --disable-ieeefloat if you do not want it.
|
|
Packit |
c32a2d |
As a protection for the exotic machine that does not use IEEE floating
|
|
Packit |
c32a2d |
point storage format, mpg123_init() will error out early if the rounding
|
|
Packit |
c32a2d |
does not work out.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.23.2:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- mpg123: Fix compact ID3 tag printing to take UTF-8 character count
|
|
Packit |
c32a2d |
into account again (thoughtless regression in 1.23.0).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.23.1:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- libout123:
|
|
Packit |
c32a2d |
-- Fix logic to prevent cases of output devices being closed more than once
|
|
Packit |
c32a2d |
(stop after pausing triggered multiple close calls, which broke sndio, for
|
|
Packit |
c32a2d |
example).
|
|
Packit |
c32a2d |
-- Fix JACK output handling of port wishlist, was simply broken for more than
|
|
Packit |
c32a2d |
two ports (-o jack -a port1,port2,port3). Now, it is ensured that each
|
|
Packit |
c32a2d |
output ports gets some connection to an out123 channel, possibly splitting
|
|
Packit |
c32a2d |
one to multiple ports or mixing multiple channels into one port (cyclic
|
|
Packit |
c32a2d |
connection scheme). Note that this does only apply for an explicitly given
|
|
Packit |
c32a2d |
list of ports. You can still use --stereo to ensure that two output ports
|
|
Packit |
c32a2d |
(if found) are used also for mono tracks.
|
|
Packit |
c32a2d |
-- Also use jack_free() in JACK output for ports list.
|
|
Packit |
c32a2d |
-- And finally, ensure that pthread library is linked to JACK module (would need
|
|
Packit |
c32a2d |
hacking to work on non-POSIX, replacing sem_t with equivalent).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
- mpg123:
|
|
Packit |
c32a2d |
-- Hide networking-related command-line parameters when disabled.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.23.0:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- libmpg123 version 42
|
|
Packit |
c32a2d |
-- This adds mpg123_framelength() and makes mpg123_position() truly obsolete.
|
|
Packit |
c32a2d |
-- Equalizer optional now (./configure --disable-equalizer) to save precious
|
|
Packit |
c32a2d |
memory
|
|
Packit |
c32a2d |
-- Clip decode tables for large amplification with fixed-point decoders.
|
|
Packit |
c32a2d |
Without that, high-pitched distortion enters really quickly when
|
|
Packit |
c32a2d |
trying to increase volume even if output samples would not be clipped,
|
|
Packit |
c32a2d |
weren't it for fixed-point math.
|
|
Packit |
c32a2d |
- libout123 version 1: First incarnation of libout123, a basic library to
|
|
Packit |
c32a2d |
get audio data written to audio devices (or files) in simple blocking
|
|
Packit |
c32a2d |
manner as opposed to callback APIs (which it wraps over). This collects
|
|
Packit |
c32a2d |
the output modules of mpg123 and makes them available to the wider
|
|
Packit |
c32a2d |
masses. Also, the separate shared memory buffer process (contained
|
|
Packit |
c32a2d |
in libout123) got a lot of reworking which should be noticable in the
|
|
Packit |
c32a2d |
interaction with terminal control.
|
|
Packit |
c32a2d |
-- Some tuning of several output drivers (modules) regarding flexible
|
|
Packit |
c32a2d |
buffer size, client names, supported formats.
|
|
Packit |
c32a2d |
-- Notably the JACK output got a major overhaul and now does not swallow
|
|
Packit |
c32a2d |
audio at the end anymore. Huge latency also reduced and tunable. Encoding
|
|
Packit |
c32a2d |
fixed to floating point, so that libmpg123 actually chooses what is
|
|
Packit |
c32a2d |
sensible.
|
|
Packit |
c32a2d |
- Added mpg123 --no-infoframe.
|
|
Packit |
c32a2d |
- Detect terminal on input side and enable control keys automatically.
|
|
Packit |
c32a2d |
There is --no-control now to disable terminal control anyway.
|
|
Packit |
c32a2d |
- Display stuff:
|
|
Packit |
c32a2d |
-- Avoid spillover of status line that caused unwanted terminal scrolling.
|
|
Packit |
c32a2d |
If the terminal width is smaller than the full status string, a cut is
|
|
Packit |
c32a2d |
made to make it fit.
|
|
Packit |
c32a2d |
-- Draw a progress bar on the terminal by inversing colors behind status
|
|
Packit |
c32a2d |
line.
|
|
Packit |
c32a2d |
-- Rework the format of the status line to be more compact and consistent.
|
|
Packit |
c32a2d |
-- Rework smart tag printout for adapting to terminal width.
|
|
Packit |
c32a2d |
-- Warning messages also start with a line break now to better fit in with
|
|
Packit |
c32a2d |
verbose playback.
|
|
Packit |
c32a2d |
-- Doubly-verbose mode now needed for long MPEG header print out.
|
|
Packit |
c32a2d |
It is a higher level of verbosity than printing the current position.
|
|
Packit |
c32a2d |
The compact header is a better fit.
|
|
Packit |
c32a2d |
-- Compact header printout also compacted, example:
|
|
Packit |
c32a2d |
MPEG 1.0 L III cbr128 44100 j-s
|
|
Packit |
c32a2d |
-- Reporting of clipped samples also includes a line break now.
|
|
Packit |
c32a2d |
-- Keep ID3v2 data around for terminal control to be able to print on
|
|
Packit |
c32a2d |
demand. That was broken for some time.
|
|
Packit |
c32a2d |
- Default for --preload now is 0.2 instead of 1 (fill whole buffer before
|
|
Packit |
c32a2d |
playback). The maximum is 0.5 . This is mandated by corrected buffer
|
|
Packit |
c32a2d |
interaction in libout123.
|
|
Packit |
c32a2d |
- Improved interaction with buffer process in terminal control mode.
|
|
Packit |
c32a2d |
Seeking is more transparent now, taking dropped samples from buffer into
|
|
Packit |
c32a2d |
account to avoid unintended jumps. Direct seeks with number row do not
|
|
Packit |
c32a2d |
pause playback anymore.
|
|
Packit |
c32a2d |
- Silently skip APE tags (thanks to Hans de Goede).
|
|
Packit |
c32a2d |
- Some reduction in bitrot on AIX (typos in output module, build with
|
|
Packit |
c32a2d |
--disable-largefile --with-audio=aix, real test welcome).
|
|
Packit |
c32a2d |
- Added '[' and ']' keys to skip to previous/next directory in playlist.
|
|
Packit |
c32a2d |
- Added support for Haiku to configure script (thanks to Jerome Duval).
|
|
Packit |
c32a2d |
- Remove spurious Frankenstein warning when scanning files that have no
|
|
Packit |
c32a2d |
gapless info (the reported value of -1152 gapless sample length should be
|
|
Packit |
c32a2d |
a giveaway anyway).
|
|
Packit |
c32a2d |
- Fix a bug in the command line parser that was present from the beginning,
|
|
Packit |
c32a2d |
apparently, causing certain parameters (--au, --cdr) to kill off parsing
|
|
Packit |
c32a2d |
of following ones. Nobody complained in all these years. Astounding.
|
|
Packit |
c32a2d |
- Forget content type from HTTP redirects (relate to error pages, not the
|
|
Packit |
c32a2d |
stream redirected to), fixes web radio streams that do not send any
|
|
Packit |
c32a2d |
content type for the actual stream.
|
|
Packit |
c32a2d |
- Accept application/pls+xml for PLS playlists. It happens. Don't ask
|
|
Packit |
c32a2d |
mpg123 to actually parse any XML!
|
|
Packit |
c32a2d |
- Ignore whitespace after HTTP MIME types (esp. before a ";").
|
|
Packit |
c32a2d |
- Added --name to mpg123 and out123 for providing client name p.ex. for JACK.
|
|
Packit |
c32a2d |
There is no default of appending the PID to "mpg123" as client name anymore,
|
|
Packit |
c32a2d |
just plain "mpg123" or "out123".
|
|
Packit |
c32a2d |
- Added --devbuffer to mpg123 and out123 for influencing device buffer and
|
|
Packit |
c32a2d |
possible latency a bit (perhaps more so in future when drivers are adapted
|
|
Packit |
c32a2d |
to pay more attention to that).
|
|
Packit |
c32a2d |
- Added out123 --channels <n>, --list-encodings, --test-format,
|
|
Packit |
c32a2d |
--test-encodings, --query-format.
|
|
Packit |
c32a2d |
- Calling ./configure --enable-nagging does not include --enable-debug anymore,
|
|
Packit |
c32a2d |
you specify that separately.
|
|
Packit |
c32a2d |
- Fix for newer glibc that wants higher POSIX feature test for getaddrinfo()
|
|
Packit |
c32a2d |
stuff.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.22.4:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix stupid regression introduced with a bugfix in 1.14.1 to make
|
|
Packit |
c32a2d |
free format streams work again. It took 3 years for someone to notice.
|
|
Packit |
c32a2d |
I added a regression test for that now!
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.22.3:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix UTF-16 surrogate detection because that used to falsely detect
|
|
Packit |
c32a2d |
characters above 0xDFFF as surrogates (bug 216).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.22.2:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix buffering for funny sample formats (namely, 24 bit), that do not
|
|
Packit |
c32a2d |
fit nicely into 32768 bytes. Effect was a nasty endless loop where
|
|
Packit |
c32a2d |
mpg123 needs to be externally killed.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.22.1:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix mpg123-id3dump when writing images with funny (manipulated) MIME type.
|
|
Packit |
c32a2d |
Stupid mistake in length computation of the fallback file extension caused
|
|
Packit |
c32a2d |
junk from memory being appended to the filename if the pointer size
|
|
Packit |
c32a2d |
is less than 64 bit. For 64 bit pointers (or longer) it was correct by
|
|
Packit |
c32a2d |
accident.
|
|
Packit |
c32a2d |
- Fix pedantic build by cleaning up out123 source, also now really showing
|
|
Packit |
c32a2d |
the encoding list in --longhelp instead of possibly, again, writing junk
|
|
Packit |
c32a2d |
from memory in there.
|
|
Packit |
c32a2d |
- Not linking libmpg123 against libltdl anymore (bug 215).
|
|
Packit |
c32a2d |
- Update MSVC++ ports a bit to make them work again.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.22.0:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- libmpg123 version 41
|
|
Packit |
c32a2d |
- Build fix: Avoid name clash on OSX SDK with "normal" being defined in
|
|
Packit |
c32a2d |
an enum already.
|
|
Packit |
c32a2d |
- More resilience against folks who do not check errors and rather pass
|
|
Packit |
c32a2d |
NULL pointers around (see NEWS.libmpg123).
|
|
Packit |
c32a2d |
This changes some return values to MPG123_BAD_HANDLE instead of MPG123_ERR
|
|
Packit |
c32a2d |
(always check for != MPG123_OK).
|
|
Packit |
c32a2d |
- Fix WAV writing to stdout on Windows (bug 214).
|
|
Packit |
c32a2d |
- Rework Xing/Info/Lame tag parsing, also detecting short ones without
|
|
Packit |
c32a2d |
the TOC now.
|
|
Packit |
c32a2d |
In addition, the warning about file size being off is a _lot_ more
|
|
Packit |
c32a2d |
accurate now.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.21.0:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Use LL as shortcut for LOADLIST remote command, L is taken already (bug 210).
|
|
Packit |
c32a2d |
- Less namespace pollution (MPG123_EXPORT in header instead of EXPORT, bug 212).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.20.1:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Make feed reader more efficient when skipping junk by early discarding
|
|
Packit |
c32a2d |
of data from buffers to avoid re-parsing.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.20.0:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Added NEON optimized decoder for AArch64 (ARM 64bit environment)
|
|
Packit |
c32a2d |
-- enabled for --with-cpu=neon64 (NEON only) or --with-cpu=aarch64 (runtime
|
|
Packit |
c32a2d |
switch between neon and generic_fpu, like arm_fpu) configuration
|
|
Packit |
c32a2d |
-- compatible with aarch64-linux-gnu toolchains (from Ubuntu, debian)
|
|
Packit |
c32a2d |
and Xcode 5
|
|
Packit |
c32a2d |
- Added new binary out123 only with the audio output part of mpg123.
|
|
Packit |
c32a2d |
This is a precursor to separating out said code into a simple audio
|
|
Packit |
c32a2d |
output library. It also allows plugging in some processing in a pipe
|
|
Packit |
c32a2d |
before feeding to output.
|
|
Packit |
c32a2d |
- Prevent opendir(NULL) for unknown module directory when listing modules.
|
|
Packit |
c32a2d |
- some build fixes, among those fixing mpg123-id3dump on Windows
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.19.0:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- libmpg123 version 40
|
|
Packit |
c32a2d |
- Support float and 32/24 bit integer output also with fixed-point decoders
|
|
Packit |
c32a2d |
(conversion from 16 bit precision).
|
|
Packit |
c32a2d |
- A-Law output encoding is actually implemented now (Michael introduced
|
|
Packit |
c32a2d |
the encoding back in the old days without ever implementing theconversion
|
|
Packit |
c32a2d |
table, apparently).
|
|
Packit |
c32a2d |
- Added --with-cpu=arm_fpu as decoder choice for runtime switch between
|
|
Packit |
c32a2d |
plain fpu code and NEON.
|
|
Packit |
c32a2d |
- Fix ARM builds to work properly on debian systems without special CFLAGS
|
|
Packit |
c32a2d |
(NEON decoder, specifically).
|
|
Packit |
c32a2d |
- Make scripts/benchmark-cpu.pl check the return value instead of delivering
|
|
Packit |
c32a2d |
crazy timings for crashed mpg123.
|
|
Packit |
c32a2d |
- Trigger track initialization in mpg123_info() to avoid use of uninitialized
|
|
Packit |
c32a2d |
variables (watch out for MPG123_NEED_MORE return value!).
|
|
Packit |
c32a2d |
- Fix integer code to 32 bit numbers where it would waste 64 bit on
|
|
Packit |
c32a2d |
modern systems.
|
|
Packit |
c32a2d |
- Add non-executable stack marking also to ARM assembly.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.18.1:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Do not close buffer twice with mpg123 -R (delete outdated code in
|
|
Packit |
c32a2d |
control_generic(), fixing bug 207.
|
|
Packit |
c32a2d |
- Do not mess around with first command line argument to extract program
|
|
Packit |
c32a2d |
name, use a copy instead, fixing bug 205.
|
|
Packit |
c32a2d |
- Prevent premature exit on timing of failure to open a track in the
|
|
Packit |
c32a2d |
playlist and the user wanting to skip over it (bug 206).
|
|
Packit |
c32a2d |
- Fixup of HTTP socket mess, also avoiding unnecessary FILE objects (bug
|
|
Packit |
c32a2d |
204, patch by Rajeev V. Pillai).
|
|
Packit |
c32a2d |
- Fix playlist behaviour on slow HTTP streams, jumping back ('d' key)
|
|
Packit |
c32a2d |
from first track stays at first track (thanks to Rajeev again, sub-bug of
|
|
Packit |
c32a2d |
bug 206).
|
|
Packit |
c32a2d |
- Fix Frankenstein check not to stumble over ID3v1 tags. My apologies. As
|
|
Packit |
c32a2d |
a bonus, the position of the concerned code in the parser is now far
|
|
Packit |
c32a2d |
more logical.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.18.0:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- libmpg123 version 39
|
|
Packit |
c32a2d |
- Big version increase for clear distinction regarding the 1.14.x regression
|
|
Packit |
c32a2d |
fixes in libmpg123.
|
|
Packit |
c32a2d |
- Regression fix: Ensure decoder reinitialization on combination of seek
|
|
Packit |
c32a2d |
and resync (buffer overflow bug 201, introduced in 1.14.1).
|
|
Packit |
c32a2d |
- Regression fix: Make parsing really end on reaching of junk limit
|
|
Packit |
c32a2d |
(introduced in 1.14.4).
|
|
Packit |
c32a2d |
- Add check for bad bit allocation value in layer I decoder (removes
|
|
Packit |
c32a2d |
audible glitch in bug 201 test file).
|
|
Packit |
c32a2d |
- Avoid wrong error message about Frankenstein streams when gapless
|
|
Packit |
c32a2d |
decoding disabled.
|
|
Packit |
c32a2d |
- Be verbose about big header changes (Frankenstein streams). Note that
|
|
Packit |
c32a2d |
changes in samples per frame will confuse the seeking code, but decoding
|
|
Packit |
c32a2d |
can get through.
|
|
Packit |
c32a2d |
- Actually use the full routine to close tracks. Avoids socket leak when
|
|
Packit |
c32a2d |
playing multiple HTTP streams from a playlist (bug 203).
|
|
Packit |
c32a2d |
- Send correct host header when connecting through HTTP proxy (bug 202,
|
|
Packit |
c32a2d |
figured out by Rajeev V. Pillai).
|
|
Packit |
c32a2d |
- The console application now informs about changed major stream properties
|
|
Packit |
c32a2d |
(prints out another header line).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.17.0:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- mpg123-id3dump --no-scan; for speedup
|
|
Packit |
c32a2d |
- hide -C parameter from mpg123 --help when it is not supported
|
|
Packit |
c32a2d |
- added tinyalsa Output (by Jarno Lehtinen)
|
|
Packit |
c32a2d |
- build system tweaking
|
|
Packit |
c32a2d |
- some care for fixing Cygwin builds
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.16.0:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Taihei strikes again:
|
|
Packit |
c32a2d |
-- New Huffman decoding scheme (configurable, on by default) brings nice
|
|
Packit |
c32a2d |
boost to mpg123 to make it the fastest decoder on modern CPUs again.
|
|
Packit |
c32a2d |
-- new AVX decoder
|
|
Packit |
c32a2d |
-- assembly-optimized DCT36 for SSE and AVX
|
|
Packit |
c32a2d |
- added configs for vintage 3DNow(ext) CPUs (AMD K6) utilizing assembly DCT36
|
|
Packit |
c32a2d |
- added configs for vintage SSE CPUs (Pentium M), utilizing C DCT36
|
|
Packit |
c32a2d |
- added FORMAT command to generic control
|
|
Packit |
c32a2d |
- added support for ID3v2 APIC frames
|
|
Packit |
c32a2d |
- added mpg123-id3dump as official companion to extract meta data
|
|
Packit |
c32a2d |
(including writing of album art from APIC to files)
|
|
Packit |
c32a2d |
- added mpg123-strip as official companion to strip dirt out of MPEG streams
|
|
Packit |
c32a2d |
(including meta data)
|
|
Packit |
c32a2d |
- not deleting ID3 data right after printing in generic control
|
|
Packit |
c32a2d |
- module loader a bit more flexible with relative MPG123_MODDIR
|
|
Packit |
c32a2d |
- Fix chopped-off playback with pulseaudio output: draining the output
|
|
Packit |
c32a2d |
now on closing.
|
|
Packit |
c32a2d |
- SDL output fixup, a) not chopping off end and b) non-fatal underrun
|
|
Packit |
c32a2d |
- Fix obvious errors in win32 output ... does it now play the end of
|
|
Packit |
c32a2d |
tracks? Need someone to test this.
|
|
Packit |
c32a2d |
- added support for screen and iris-ansi terminals with --title (as prompted
|
|
Packit |
c32a2d |
by patch from sf.net user canavan)
|
|
Packit |
c32a2d |
- fixes/enhancements for sgi audio output
|
|
Packit |
c32a2d |
- libmpg123: proper largefile aliases for proper systems (FreeBSD with
|
|
Packit |
c32a2d |
one one-and-only off_t
|
|
Packit |
c32a2d |
This enables client software that insists on defining pointless
|
|
Packit |
c32a2d |
_FILE_OFFSET_BITS.
|
|
Packit |
c32a2d |
- wrapper script src/mpg123-with-modules to ease the pain of running mpg123
|
|
Packit |
c32a2d |
with modules without installation (setting MPG123_MODDIR)
|
|
Packit |
c32a2d |
- removed ALSA 0.5 code (unused for longtime, last GPL-only bit)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.15.4:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Writing CDDA data via --cdr works again; had also been broken by attempts
|
|
Packit |
c32a2d |
to catch failing writes because of full disk.
|
|
Packit |
c32a2d |
- Also, the return values of WAV/CDR writing routines now properly indicate
|
|
Packit |
c32a2d |
error to avoid stupid endless loop of "smart" audio writing code that wants
|
|
Packit |
c32a2d |
to handle interruptions. Really, --cdr could just go and nobody would miss
|
|
Packit |
c32a2d |
it ...
|
|
Packit |
c32a2d |
- Fix stupid bug in mpg123_chomp_string() (introduced in 1.15.1), empty
|
|
Packit |
c32a2d |
lines were badly treated. Only usage in mpg123 is for parsing HTTP redirect
|
|
Packit |
c32a2d |
headers; malicious HTTP servers might exploit that (possibility to zero
|
|
Packit |
c32a2d |
bytes in memory).
|
|
Packit |
c32a2d |
- some cleanup for nagging mode
|
|
Packit |
c32a2d |
- more resync strictness to really catch (all) cases with changing decoder
|
|
Packit |
c32a2d |
structure; in practice badly needed when disabling seekbuffer (so it's
|
|
Packit |
c32a2d |
your fault, somehow ...) for non-seekable streams, otherwise not really
|
|
Packit |
c32a2d |
an issue because of readahead checking
|
|
Packit |
c32a2d |
I repeat: This fixes possibly fatal behaviour in the parser when readahead
|
|
Packit |
c32a2d |
checking is explicitly disabled (p.ex. via mpg123 --no-seekbuffer on
|
|
Packit |
c32a2d |
http streams). By default, readahead checking is _always_ active!
|
|
Packit |
c32a2d |
- build system fixed for automake 1.13 (thanks to Nix)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.15.3
|
|
Packit |
c32a2d |
---
|
|
Packit |
c32a2d |
- Fix WAV writing. AGAIN. People love to decode WAV to stdout in various
|
|
Packit |
c32a2d |
ways that started to get broken with me starting to care for people who
|
|
Packit |
c32a2d |
like to write to full disks. I frikkin' HATE this rat race! I'm even
|
|
Packit |
c32a2d |
starting to SHOUT. Now, the code prefers to write no header at all (when
|
|
Packit |
c32a2d |
there is no actual output) instead of possibly writing too many misleading
|
|
Packit |
c32a2d |
ones. Getting the blame for breaking dir2ogg repeatedly while trying to
|
|
Packit |
c32a2d |
cope with one fatal situation that you cannot really cope with sucks. Big
|
|
Packit |
c32a2d |
time. I hope that's it now!
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.15.2:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- build fix with older shells (== in configure)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.15.1:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- libmpg123 API version 37
|
|
Packit |
c32a2d |
- Fix corner case in HTTP communication with missing path in Location header
|
|
Packit |
c32a2d |
(bug 187).
|
|
Packit |
c32a2d |
- Prevent nasty alignment issues by not guessing about assembler alignment
|
|
Packit |
c32a2d |
when .balign is available (bug 188).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.15.0:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Added --continue (also see scripts/conplay).
|
|
Packit |
c32a2d |
- Added number row to terminal control keys for 10% jump points (for
|
|
Packit |
c32a2d |
navigating long tracks).
|
|
Packit |
c32a2d |
- Set xterm title always if asked, disregarding the -q switch (if you want
|
|
Packit |
c32a2d |
fully quiet, don't specify --title).
|
|
Packit |
c32a2d |
- Enable terminal mode in OS/2 by explicitly checking for and using
|
|
Packit |
c32a2d |
os2term library.
|
|
Packit |
c32a2d |
- Getting WAV/AU/CDR writing back to a sane state while still catching
|
|
Packit |
c32a2d |
out-of-disk when writing headers (none in case of CDR) but removing
|
|
Packit |
c32a2d |
that initial test that prevented writing on any non-seekable file (like,
|
|
Packit |
c32a2d |
/dev/stdout to a pipe).
|
|
Packit |
c32a2d |
- Added native audio output for QNX (thanks to Mike Gorchak), also improving
|
|
Packit |
c32a2d |
portability of configure script while at that.
|
|
Packit |
c32a2d |
- more robust recovery from ALSA issues (device suspend)
|
|
Packit |
c32a2d |
- Fix crash in module loader on *BSD.
|
|
Packit |
c32a2d |
- Extend time display to switch to hours above 60 minutes (hh:mm:ss,
|
|
Packit |
c32a2d |
ditching the sub-second precision)
|
|
Packit |
c32a2d |
- really include dithering in default x86-64 build.
|
|
Packit |
c32a2d |
- Fix mpg123_scan() not properly seeking back for all types of files (bug
|
|
Packit |
c32a2d |
3582628 ... it got a different number on sf.net now ... brilliant, folks!).
|
|
Packit |
c32a2d |
- Prevent false positives for "Frankenstein!" when using mpg123_scan().
|
|
Packit |
c32a2d |
- Fix printing of negative positions with buffer (bug 186).
|
|
Packit |
c32a2d |
- Accept application/x-scpls as additional MIME type.
|
|
Packit |
c32a2d |
- Try to handle certain Windows toolchains that miss EOVERFLOW.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.14.4:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
Who reworks a parsing and data mangling without really making sure that
|
|
Packit |
c32a2d |
things still work like before? I hope I won't do so in future. Not again.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
- Fix resync logic to properly work again (used to prematurely end stream
|
|
Packit |
c32a2d |
on bad headers). A regression again, this sucks, but at least we got a
|
|
Packit |
c32a2d |
regression test for that now.
|
|
Packit |
c32a2d |
- Fix aeon-old regression (since 1.11.0) about short seeks: Bit reservoir
|
|
Packit |
c32a2d |
was reset also for short seeks that did not break continuity.
|
|
Packit |
c32a2d |
- Another damned regression got fixed: Sample-accurate seek for files
|
|
Packit |
c32a2d |
without full gapless info.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.14.3:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix regression from 1.14.1 in parsing of bad free format streams,
|
|
Packit |
c32a2d |
avoiding apparently endless loops (just very slow reading, in fact).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.14.2:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix writing of WAV to stdout.
|
|
Packit |
c32a2d |
It is still not the best of ideas to do so, though. At least make sure
|
|
Packit |
c32a2d |
to fix rate and channels.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.14.1:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix subtle bug that could trigger failure to detect a format change on
|
|
Packit |
c32a2d |
resync when using libmpg123's feeder API.
|
|
Packit |
c32a2d |
That bug has been there since ages but was neutralized by other (buggy)
|
|
Packit |
c32a2d |
behaviour of the parser before the little overhaul. The Law of an Even
|
|
Packit |
c32a2d |
Number of Bugs.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.14.0:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- libmpg123 API version 36 (see NEWS.libmpg123)
|
|
Packit |
c32a2d |
- Add --ignore-streamlength.
|
|
Packit |
c32a2d |
- But also deal with concatenated (Frankenstein) streams: Not applying
|
|
Packit |
c32a2d |
gapless cutting once we're over the announced number of frames.
|
|
Packit |
c32a2d |
- Also, gapless cutting is only applied if relevant information is
|
|
Packit |
c32a2d |
present. Previously, at least the decoder delay has been cut.
|
|
Packit |
c32a2d |
- Add --lyrics for printout of lyrics (from USLT in ID3v2).
|
|
Packit |
c32a2d |
- Added handling of SIGUSR1 and SIGUSER2 to terminal control code,
|
|
Packit |
c32a2d |
configurable via --ctrlusr1 and --ctrlusr2.
|
|
Packit |
c32a2d |
- Some low-level API added (mpg123_framedata(), mpg123_framepos(), buffering
|
|
Packit |
c32a2d |
and resampling control).
|
|
Packit |
c32a2d |
- Added info about input buffer fill to mpg123_getstate().
|
|
Packit |
c32a2d |
- ReplayGain: Try to detect LAME below 3.95 for the different reference
|
|
Packit |
c32a2d |
level of 83 dB (adding preamp of 6 dB). Version 3.95 itself (not 3.95.1)
|
|
Packit |
c32a2d |
I cannot detect. User-set gain values are not touched.
|
|
Packit |
c32a2d |
- Keep silent about missing bit reservoir when ignoring frames. That is
|
|
Packit |
c32a2d |
the whole point (mostly;-).
|
|
Packit |
c32a2d |
- Add the new/old WRITE_SAMPLE variant from MPlayer that makes the generic
|
|
Packit |
c32a2d |
decoder faster on older CPUs (x86 at least). Not on x86-64, though (it's
|
|
Packit |
c32a2d |
not enabled per default there).
|
|
Packit |
c32a2d |
- disable 3DNow and 3DNowExt DCT36, which is slow on modern CPUs
|
|
Packit |
c32a2d |
- Handle out-of-disk in the file writers (a bit, see
|
|
Packit |
c32a2d |
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=67259)
|
|
Packit |
c32a2d |
- Added Xcode project files to build libmpg123 on Mac OS and iOS
|
|
Packit |
c32a2d |
- 32 bit output for sndio output (patch by Brad Smith).
|
|
Packit |
c32a2d |
- Remote control interface knows LOADLIST command now.
|
|
Packit |
c32a2d |
- Now freeing meta data memory after printout.
|
|
Packit |
c32a2d |
- Some documentation cleanup, including manpage fixes by quadrispro.
|
|
Packit |
c32a2d |
- Re-enabled wildcard expansion on Windows (been broken by unicode file
|
|
Packit |
c32a2d |
name support).
|
|
Packit |
c32a2d |
- Fix MMX tabinit syntax (thanks to Marcel Müller for pointing that out).
|
|
Packit |
c32a2d |
- Fix SGI audio output (been broken since change to modules).
|
|
Packit |
c32a2d |
- Fix some fringe behaviour (mpg123_getformat() triggering needless reading
|
|
Packit |
c32a2d |
of next frame, possibly hitting bogus MPG123_NEED_MORE).
|
|
Packit |
c32a2d |
- Resync limit now also serves to increase amount of skipped junk on
|
|
Packit |
c32a2d |
beginning.
|
|
Packit |
c32a2d |
- Better separation of stream end and read error (in case there is no
|
|
Packit |
c32a2d |
stream opened, even).
|
|
Packit |
c32a2d |
- Don't always complain about failed free format header search (only with
|
|
Packit |
c32a2d |
verbosity level 3).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.13.8:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix build for ARM Thumb (incompatible assembly in some macros).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.13.7:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix endless loop in module loader when starting mpg123 in a directory
|
|
Packit |
c32a2d |
that does not exist.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.13.6:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix output of one random character in -vvv mode for ID3v2.2 frames
|
|
Packit |
c32a2d |
(no buffer overflow, move along, folks;-).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.13.5:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix reading of ReplayGain values from Lame tag (nobody seen this before?!)
|
|
Packit |
c32a2d |
(both actual values and the distinction between audiophile / radio).
|
|
Packit |
c32a2d |
- Accept application/octet-stream as input from HTTP.
|
|
Packit |
c32a2d |
- Update man page with encodings.
|
|
Packit |
c32a2d |
- Build fixes.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.13.4:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix bogus error on resync with big offsets (hits systems that have bigger
|
|
Packit |
c32a2d |
off_t than int), bug 3393801.
|
|
Packit |
c32a2d |
- Fix windows binary package build script again with plugdir.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.13.3:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix an endless loop on bad headers, bug 3267863.
|
|
Packit |
c32a2d |
- Prevent compiler warnings about unused variables with gcc 4.6 .
|
|
Packit |
c32a2d |
- Fix return value handling of getaddrinfo(), bug 3288333.
|
|
Packit |
c32a2d |
- Make decwin size computation work for OPT_ARM and sizeof(long) != 4
|
|
Packit |
c32a2d |
(bug 3288360).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.13.2:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Updated .NET wrapper (MPG123_SKIP_ID3V2, encsize and mpg123_strlen
|
|
Packit |
c32a2d |
functions) by Malcolm Boczek.
|
|
Packit |
c32a2d |
- Fix crash when calling mpg123_decoder() before opening a track -- a rare
|
|
Packit |
c32a2d |
use case since one can choose a decoder with mpg123_new() already.
|
|
Packit |
c32a2d |
- Fix format change detection for certain (artificial) concatenated streams
|
|
Packit |
c32a2d |
(p.ex. MPEG 1 frames following MPEG 2 frames).
|
|
Packit |
c32a2d |
- Prevent the nasty of bug 3154889: No change of pitch without a current
|
|
Packit |
c32a2d |
audio format. No proper solution, but more like earlier behaviour.
|
|
Packit |
c32a2d |
- Fix some compiler warnings.
|
|
Packit |
c32a2d |
- Fix a memory leak in the module loader, also some in the examples,
|
|
Packit |
c32a2d |
for being pedantic.
|
|
Packit |
c32a2d |
- More use of AC_LANG_SOURCE to silence autoconf.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.13.1:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix --float and --8bit (MPG123_FORCE_FLOAT, MPG123_FORCE_8BIT) regression,
|
|
Packit |
c32a2d |
caused by introduction of 24 bit formats. (bug 3151597).
|
|
Packit |
c32a2d |
Btw: The use of specific format choice via `mpg123 -e f32` and friends
|
|
Packit |
c32a2d |
is encouraged (meaning mpg123_format_none() / mpg123_format() calls in
|
|
Packit |
c32a2d |
libmpg123 API).
|
|
Packit |
c32a2d |
- Loosen the parser restrictions: Allow the private header bit to vary. It
|
|
Packit |
c32a2d |
is not mpg123's business anyway (finally suggested by Marcel).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.13.0:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- libmpg123 API version 29 (see NEWS.libmpg123)
|
|
Packit |
c32a2d |
- New optimization: ARM NEON (Cortex A series) -- kudos to Taihei, again!
|
|
Packit |
c32a2d |
- Added 24 bit integer output (truncation of 32 bit integer).
|
|
Packit |
c32a2d |
- Cleanup of symbols for the static library: Only have global symbols that
|
|
Packit |
c32a2d |
are actually needed, prefix them with INT123_ to avoid conflicts.
|
|
Packit |
c32a2d |
- Added --streamdump to get a copy of the data libmpg123 used.
|
|
Packit |
c32a2d |
- Added --icy-interval and tweaked libmpg123 to make playback of ICY stream
|
|
Packit |
c32a2d |
dumps possible.
|
|
Packit |
c32a2d |
- Added possibility to set module file suffix at build -- to be able to
|
|
Packit |
c32a2d |
avoid .la files for plugins.
|
|
Packit |
c32a2d |
- Removed compiler directives for alignment and disable associated tests.
|
|
Packit |
c32a2d |
The tests don't work on a wide range of compilers anyway, and newer gccs
|
|
Packit |
c32a2d |
do have force_align_arg_pointer to fix bad stacks.
|
|
Packit |
c32a2d |
- There is no ChangeLog file anymore... it was autogenerated from subversion
|
|
Packit |
c32a2d |
log anyway, so look there if interested.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.12.5:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix bug with the new meta data printout of the mpg123 app; embedded
|
|
Packit |
c32a2d |
null bytes in UTF-8 strings in non-UTF-8 environment would trigger buffer
|
|
Packit |
c32a2d |
overflow.
|
|
Packit |
c32a2d |
Thanks to Jakub Bogusz of PLD Linux for the tip. And yes, shame on Thomas
|
|
Packit |
c32a2d |
for changing working string handling code. At all.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.12.4:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix formatting of meta data printout in UTF-8 (string length computing).
|
|
Packit |
c32a2d |
As a collorary, ID3v1 data is reduced to ASCII in UTF-8 environment,
|
|
Packit |
c32a2d |
as we do never know what specific encoding that has.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.12.3:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix a long-standing bug that subtly broke http streaming with ICY meta
|
|
Packit |
c32a2d |
data when reading a bit more quickly, like when using the buffer.
|
|
Packit |
c32a2d |
I was a very simple and embarrassing bug, actually ... and it made
|
|
Packit |
c32a2d |
me wonder how normal streaming still worked rather well, generally:-/
|
|
Packit |
c32a2d |
Thanks to Lint for staying with us and reporting bug 3022850, to finally
|
|
Packit |
c32a2d |
get a grip on streaming reliability.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.12.2:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fix for nasty memory corruption on configurations that hand out addresses
|
|
Packit |
c32a2d |
in the upper half of the memory space (the poiner alignment function broke
|
|
Packit |
c32a2d |
in that case, bug 2996045).
|
|
Packit |
c32a2d |
- Various build and portability fixes (including making some exotic
|
|
Packit |
c32a2d |
configure switches work (again)).
|
|
Packit |
c32a2d |
- Add dump_seekindex example
|
|
Packit |
c32a2d |
- Sync mpg123_clr to 1.12 feature set, patch provided by Malcolm Boczek
|
|
Packit |
c32a2d |
And actually include it in release tarball!
|
|
Packit |
c32a2d |
- Rework mpg123.h logic for large file stuff a bit, clients can control
|
|
Packit |
c32a2d |
it by defining MPG123_NO_LARGENAME or MPG123_LARGESUFFIX.
|
|
Packit |
c32a2d |
- Include dumb wrappers to provide names suffixed with _64 on 64 bit
|
|
Packit |
c32a2d |
machines and _32 on 32 bit machines, respectively, to help clients that
|
|
Packit |
c32a2d |
insist on defining _FILE_OFFSET_BITS where it is not needed (or with a
|
|
Packit |
c32a2d |
non-large value).
|
|
Packit |
c32a2d |
- Tuning of the internal buffer code for feeder mode to minimize its
|
|
Packit |
c32a2d |
performance impact (works in 4K blocks now).
|
|
Packit |
c32a2d |
- Workaround for compiler bugs in Open64/PathScale/SunStudio (bug 3004396,
|
|
Packit |
c32a2d |
suggestion by Doug Gilmore).
|
|
Packit |
c32a2d |
Note that Sun Studio is still a tricky fellow, at least when it comes
|
|
Packit |
c32a2d |
to our preprocessed assembly.
|
|
Packit |
c32a2d |
Also, x86-Open64 recently produced another segfault in layer3.c on my
|
|
Packit |
c32a2d |
box... GNU and intel compilers are what one can use as something stable.
|
|
Packit |
c32a2d |
- Make mpg123_getformat() return more error codes (like MPG123_NEED_MORE).
|
|
Packit |
c32a2d |
- Fix handle I/O for clients with small file offset (32 bit when libmpg123
|
|
Packit |
c32a2d |
has 64 bit).
|
|
Packit |
c32a2d |
- Fix 3DNow(Ext) standalone builds.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.12.1:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Update INSTALL for the dual-mode library. No code changes.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.12.0:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
Attention: This reverts the big bad libray name change. People did not
|
|
Packit |
c32a2d |
like libmpg123_64.so at all ... so Thomas went along with proving that
|
|
Packit |
c32a2d |
being responsible for a open source library package sucks for your life --
|
|
Packit |
c32a2d |
he coded large file dual-mode into libmpg123. One library with both APIs,
|
|
Packit |
c32a2d |
like glibc.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
- libmpg123 25.0.25:
|
|
Packit |
c32a2d |
-- The separate libraries are gone again, this one is dual-mode (using
|
|
Packit |
c32a2d |
ca. 750 lines of not very funny code).
|
|
Packit |
c32a2d |
-- The library even translates callbacks between large file support modes.
|
|
Packit |
c32a2d |
-- Introduce handle-based custom I/O in libmpg123.
|
|
Packit |
c32a2d |
-- The header now defines MPG123_API_VERSION to help compile-time detection
|
|
Packit |
c32a2d |
of available functions (lib is version 25.0.25 now... MPG123_API_VERSION
|
|
Packit |
c32a2d |
is 25).
|
|
Packit |
c32a2d |
- Make the usage of AI_ADDRCONFIG dependend on a configure check. This
|
|
Packit |
c32a2d |
flag is not available everywhere.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.11.0:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
Attention: There was a re-release of the source archive, because the
|
|
Packit |
c32a2d |
initial one missed the actual changes for the library name.
|
|
Packit |
c32a2d |
Sorry for the inconvenience:-/
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
- Big bad libray name change for builds with enabled large file support.
|
|
Packit |
c32a2d |
That will break libmpg123 binary compatibility on Linux/x86 when upgrading
|
|
Packit |
c32a2d |
from mpg123>=1.5.0 with enabled large file support. You need to relink
|
|
Packit |
c32a2d |
with the new library called libmpg123_64.
|
|
Packit |
c32a2d |
If you do not enable large file support, or it is implicit on your
|
|
Packit |
c32a2d |
platform (x86-64), the library keeps the old name of libmpg123 and
|
|
Packit |
c32a2d |
everything is fine.
|
|
Packit |
c32a2d |
- Assembler cleanup:
|
|
Packit |
c32a2d |
-- no use of compiler-based stack alignment (for SSE), helping portability
|
|
Packit |
c32a2d |
-- mostly performance neutral, hint at faster decoding for the dynamic
|
|
Packit |
c32a2d |
build and slower for static, but small change in any case
|
|
Packit |
c32a2d |
- Windows networking (access http streams in mingw builds).
|
|
Packit |
c32a2d |
- Do not ask for addresses that do not have matching interfaces configured
|
|
Packit |
c32a2d |
(IPv6 on a IPv4-only host, for example). That can help with broken DNS
|
|
Packit |
c32a2d |
servers that choke on IPv6 addresses (T-Online Speedport W502V, for example).
|
|
Packit |
c32a2d |
- Fix a potential ICY reading problem were ICY metadata could be read as
|
|
Packit |
c32a2d |
mp3 data (basically for MPEG frames bigger than the ICY interval).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.10.1:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Help multilib setups that boldly assume that headers are invariant
|
|
Packit |
c32a2d |
by removing the consistency check in mpg123.h and instead just adding a
|
|
Packit |
c32a2d |
suffix to relevant functions when _FILE_OFFSET_BITS is defined. Invalid
|
|
Packit |
c32a2d |
setups will now fail at the linking stage instead of the preprocessing stage.
|
|
Packit |
c32a2d |
That should cover bug 2934488.
|
|
Packit |
c32a2d |
- Fixes for gapless decoding:
|
|
Packit |
c32a2d |
-- Correctly skip padding larger than one MPEG frame (strange, but occurs).
|
|
Packit |
c32a2d |
-- Bug 2950218 (proper gapless cuts for seeking near the end).
|
|
Packit |
c32a2d |
- Make sure the search for the first header aborts after 64K of one-byte
|
|
Packit |
c32a2d |
reads, as always intended (bug 2951334).
|
|
Packit |
c32a2d |
Certain files (or even random data) were able to fool mpg123 sufficiently
|
|
Packit |
c32a2d |
enough that it basically reads through the whole file in 1-byte steps
|
|
Packit |
c32a2d |
in search for MPEG data.
|
|
Packit |
c32a2d |
The limit of 64K will very likely be configurable in a future mpg123
|
|
Packit |
c32a2d |
version.
|
|
Packit |
c32a2d |
- Fix subtle bug with seeking in feeder mode: A seek close to the current
|
|
Packit |
c32a2d |
position (meaning: the needed data offset is already in mpg123's buffer
|
|
Packit |
c32a2d |
chain) resulted in skipped bytes.
|
|
Packit |
c32a2d |
- Improve the feeder mode for handling large amounts of junk at the
|
|
Packit |
c32a2d |
beginning, including proper passing of the request for more data when trying
|
|
Packit |
c32a2d |
to determine free format frame size. This also fixes endless looping as
|
|
Packit |
c32a2d |
reported in bug 2951334.
|
|
Packit |
c32a2d |
- The parser code still needs overhaul. It is not pretty.
|
|
Packit |
c32a2d |
- Compile fix for OpenAL.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.10.0:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Confirmed/fixed on OS/2 platform.
|
|
Packit |
c32a2d |
At least a static build works with native audio output and generic decoder.
|
|
Packit |
c32a2d |
- Make modules work with libtool-2.2.6b .
|
|
Packit |
c32a2d |
- Added pitch command to control interface.
|
|
Packit |
c32a2d |
- HTTP header field and MIME type parsing now case-insensitive (fixes
|
|
Packit |
c32a2d |
bug 2904736).
|
|
Packit |
c32a2d |
Also, the MIME-parsing for non-playlist URLs is done the same way as
|
|
Packit |
c32a2d |
from playlists now.
|
|
Packit |
c32a2d |
And, we interpret MIME types only to before a ";" (see bug 2836904).
|
|
Packit |
c32a2d |
- There is a build-time option to enable unicode file names on windows
|
|
Packit |
c32a2d |
now. UNIX (Linux) does not need that, UTF-8 works natively.
|
|
Packit |
c32a2d |
An unicode-enabled build of libmpg123 expects file names as UTF-8 strings,
|
|
Packit |
c32a2d |
opening of non-utf8 strings (by old applications) still works via fallback
|
|
Packit |
c32a2d |
when the conversion of the string or opening of the file failed.
|
|
Packit |
c32a2d |
- Also, on Windows, --realtime now works, along with added granularity of
|
|
Packit |
c32a2d |
the new --priority parameter. Note that you get the latter functionality
|
|
Packit |
c32a2d |
through nice/renice on UNIX, no need to add that to mpg123.
|
|
Packit |
c32a2d |
- Added experimental framebyframe API.
|
|
Packit |
c32a2d |
- Added a new Microsoft common language runtime wrapper (aka .NET wrapper)
|
|
Packit |
c32a2d |
written by Malcolm Boczek. See ports\MSVC++\2008clr\mpg123clr\ReadMe.txt
|
|
Packit |
c32a2d |
for further information
|
|
Packit |
c32a2d |
- Added Visual Studio 2010 Beta 2 project files for libmpg123
|
|
Packit |
c32a2d |
- Updated autotools machinery, autogen.sh is gone, use `autoreconf -iv`.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.9.2:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Fix logic failure in gapless code: The trailing silence was only cut on
|
|
Packit |
c32a2d |
the first decode. So, seek-back and decode again never was gapless:-(
|
|
Packit |
c32a2d |
- Fix linker flags on MacOS 10.6 .
|
|
Packit |
c32a2d |
- Improve portability (mainly for Solaris/x86, possibly others).
|
|
Packit |
c32a2d |
- Fix reading from standard input in Windows (use binary mode).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.9.1:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Fix OpenAL output issue (bug 2840085)
|
|
Packit |
c32a2d |
- Fix theoretically possible discarding of some audio samples when getting
|
|
Packit |
c32a2d |
a new format.
|
|
Packit |
c32a2d |
- Fix unwanted verboseness (some error messages from library even when
|
|
Packit |
c32a2d |
MPG123_QUIET was specified).
|
|
Packit |
c32a2d |
- Fix back-to-beginning for feed_skip (fixes bug 2859531).
|
|
Packit |
c32a2d |
- Fix the CPU creep bug with NtoM decoding.
|
|
Packit |
c32a2d |
That one has been nasty on you with large files since bad frame fillup
|
|
Packit |
c32a2d |
has been introduced.
|
|
Packit |
c32a2d |
- Fix regression (since 1.9.0) in ID3 parsing: Now Foobar2000 RVA fields
|
|
Packit |
c32a2d |
are interpreted again (among others).
|
|
Packit |
c32a2d |
- Fix some compiler warnings, minor cleanup.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.9.0:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Free format support.
|
|
Packit |
c32a2d |
- ARM assembly optimizations (yay Taihei again!).
|
|
Packit |
c32a2d |
- Dither noise now runtime-generated, thus less bloated binary (thanks
|
|
Packit |
c32a2d |
Taihei...).
|
|
Packit |
c32a2d |
This means that dithered decoding is now included per default.
|
|
Packit |
c32a2d |
Please note that work is ongoing to improve the dithering quality,
|
|
Packit |
c32a2d |
more to come.
|
|
Packit |
c32a2d |
For example: Accurate rounding to 16bits is now always used for generic
|
|
Packit |
c32a2d |
dithered decoder, there are plans to adapt the noise for different
|
|
Packit |
c32a2d |
sampling frequencies.
|
|
Packit |
c32a2d |
- Buffer plays any audio type now.
|
|
Packit |
c32a2d |
- New output module: OpenAL
|
|
Packit |
c32a2d |
- Bug fixes:
|
|
Packit |
c32a2d |
-- Broken frame fillup for non-signed 8 bit formats with correct zero
|
|
Packit |
c32a2d |
(bug 2805665)
|
|
Packit |
c32a2d |
-- Crash on invalid UTF-16 in ID3 tags fixed (thanks to Andy Hefner)
|
|
Packit |
c32a2d |
-- Bad detection of separated UTF-16 strings in ID3 tags (bug 2834636).
|
|
Packit |
c32a2d |
- Topic ID3 and UTF: Now we are more tolerant with UTF16, even accepting
|
|
Packit |
c32a2d |
those broken tags that id3v2 produces (multiple conflicing BOMs).
|
|
Packit |
c32a2d |
- Build system allows AltiVec on non-Macs now (don't enforce unsupported
|
|
Packit |
c32a2d |
gcc flags).
|
|
Packit |
c32a2d |
- Terminal control mode is more verbose (gives hint about pressing 'h').
|
|
Packit |
c32a2d |
- The library now offers a switch and small API to defer translation of
|
|
Packit |
c32a2d |
ID3 text data until client app wants to do it (or not).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.8.1:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Include improvements to integer decoder from SVN trunk.
|
|
Packit |
c32a2d |
They have been accidentally promised on 1.8.0 release announcements,
|
|
Packit |
c32a2d |
though they were not there. Here it is: ISO compliant fixed point decoding
|
|
Packit |
c32a2d |
(speed optimizations are still reserved for next release).
|
|
Packit |
c32a2d |
- Fixed build with ./configure --enable-modules (bug in configure script).
|
|
Packit |
c32a2d |
- Fix name of binary in help screen when called with path.
|
|
Packit |
c32a2d |
- Build fix for old gcc with AltiVec code.
|
|
Packit |
c32a2d |
- Update of Sony PSP build files.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.8.0: (The Taihei Monmament)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- New and improved SSE optimizations! For x86-64, too! Also AltiVec! Fast
|
|
Packit |
c32a2d |
float output! Faster stereo!
|
|
Packit |
c32a2d |
Finally, this should put mpg123 into the efficiency-leading position on
|
|
Packit |
c32a2d |
current hardware! Thanks go out to Taihei Monma for pushing lots of new
|
|
Packit |
c32a2d |
assembler code.
|
|
Packit |
c32a2d |
- Added proper rounding modes to 16bit integer.
|
|
Packit |
c32a2d |
-- Use ./configure --enable-int-quality to prefer accuracy over speed.
|
|
Packit |
c32a2d |
-- Accurate code (generic, SSE, 3dnow -- i586 has always been good)
|
|
Packit |
c32a2d |
delivers ISO compliant quality with 16bit output.
|
|
Packit |
c32a2d |
-- Uses fast rounding for IEEE754 floats.
|
|
Packit |
c32a2d |
-- Mpg123 can do fully ISO compliant MPEG audio decoding to 16bits (of
|
|
Packit |
c32a2d |
course to 32bit float/int, too).
|
|
Packit |
c32a2d |
- subtle performance enhancements via broader data alignment
|
|
Packit |
c32a2d |
- Prefer SSE code over 3DNowExt.
|
|
Packit |
c32a2d |
-- It can be tight, but generally our new SSE code is better on CPUs that
|
|
Packit |
c32a2d |
can do both.
|
|
Packit |
c32a2d |
- Remove HF cutoff (SFB21), has been introduced in 0.59r .
|
|
Packit |
c32a2d |
- Fix layer 1 regression (been there since version 1.x).
|
|
Packit |
c32a2d |
-- Layer 1 ISO compliance test is positive now.
|
|
Packit |
c32a2d |
- Fix layer 2 regression (false positives header change).
|
|
Packit |
c32a2d |
-- Layer 2 ISO compliance test is positive now.
|
|
Packit |
c32a2d |
- more sample-accurateness
|
|
Packit |
c32a2d |
-- Clear frame buffers before seek.
|
|
Packit |
c32a2d |
-- Decode 4 frames in advance for layer 3 (2 for layer 1 and 2) per default.
|
|
Packit |
c32a2d |
-- Number of layer 3 frames to decoded in advance (and fill bit reservoir) is
|
|
Packit |
c32a2d |
runtime tunable (--preframes).
|
|
Packit |
c32a2d |
- Do not stop decoding after stray ID3v1 tags in streams (bug 2793677).
|
|
Packit |
c32a2d |
- Fix handling of negative RVA2 values in ID3v2 (bug 2792417).
|
|
Packit |
c32a2d |
- Discard bitreservoir of previous frames if a resync is needed.
|
|
Packit |
c32a2d |
- improve perceived randomness of --random (do not repeat too early)
|
|
Packit |
c32a2d |
- Fix special crash case in UTF16 conversion for ID3v2.
|
|
Packit |
c32a2d |
- MPG123_MODDIR environment variable for changing module directory at runtime
|
|
Packit |
c32a2d |
- arts output fixes (bug 2715128)
|
|
Packit |
c32a2d |
- win32 output swallowing less buffers at end (but still some audio is lost,
|
|
Packit |
c32a2d |
bug 2722991)
|
|
Packit |
c32a2d |
- tested mpg123 on OS/2; it works, but not the native audio output
|
|
Packit |
c32a2d |
(SDL works)
|
|
Packit |
c32a2d |
- WAV output announces supported output formats correctly
|
|
Packit |
c32a2d |
- fix buffer startup to make sure the first bits of audio are not discarded
|
|
Packit |
c32a2d |
(bug 2796802)
|
|
Packit |
c32a2d |
- re-enable the --gain parameter (the move to modules disabled that),
|
|
Packit |
c32a2d |
untested
|
|
Packit |
c32a2d |
- Libltdl is _not_ included anymore.
|
|
Packit |
c32a2d |
-- The host system is expected to provide it, otherwise plugins are not used.
|
|
Packit |
c32a2d |
-- Our copy does not get in the way anymore.
|
|
Packit |
c32a2d |
- enhancements of the MSVC++ builds, including optimizations using yasm
|
|
Packit |
c32a2d |
- general build system fixes
|
|
Packit |
c32a2d |
- Legacy build system is gone.
|
|
Packit |
c32a2d |
- code cleanup
|
|
Packit |
c32a2d |
-- signed/unsigned integer usage, make compilers more happy)
|
|
Packit |
c32a2d |
-- simplified synth selection code (it is _less_ code now, and does more)
|
|
Packit |
c32a2d |
- Fixed behaviour of MPG123_NEW_FORMAT: Now it does not stop you from
|
|
Packit |
c32a2d |
just continuing decoding without querying the (new) output format, this
|
|
Packit |
c32a2d |
behaviour regression had been there since somewhen after 1.4.3 .
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.7.3:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Fix a regression introduced with the --doublespeed fix. Now seeking should
|
|
Packit |
c32a2d |
be a lot smoother again.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.7.2:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Fix a possible vulnerability in the ID3 code (negative encoding values).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.7.1:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Just one fix for making the RVA switch in terminal and generic control mode
|
|
Packit |
c32a2d |
work again (instead of plain silence).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.7.0:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Lots of output format fun!
|
|
Packit |
c32a2d |
-- now supporting 8, 16, 32 bit signed/unsigned integers,
|
|
Packit |
c32a2d |
32bit float (64bit float can be hacked in quickly)
|
|
Packit |
c32a2d |
-- optimized decoders use fallback routines for non-optimized
|
|
Packit |
c32a2d |
formats transparently
|
|
Packit |
c32a2d |
-- flexible resampling is automatically chosen when output does
|
|
Packit |
c32a2d |
not support standard rates (like a JACK server)
|
|
Packit |
c32a2d |
-- That meant quite some restructuring in the decoder code...
|
|
Packit |
c32a2d |
- Lots of core functionality now optional, enabling small-footprint
|
|
Packit |
c32a2d |
builds of libmpg123.
|
|
Packit |
c32a2d |
-- choosing among the MPEG layer codes
|
|
Packit |
c32a2d |
-- NtoM resampling
|
|
Packit |
c32a2d |
-- downsampling
|
|
Packit |
c32a2d |
-- feeder API (mpg123_open_feed())
|
|
Packit |
c32a2d |
-- ID3v2
|
|
Packit |
c32a2d |
-- String API
|
|
Packit |
c32a2d |
-- ICY
|
|
Packit |
c32a2d |
-- output formats
|
|
Packit |
c32a2d |
-- error/warning message printouts
|
|
Packit |
c32a2d |
-- ... a layer3-only shared libmpg123 can be just 107K on x86-64
|
|
Packit |
c32a2d |
or 94K on x86
|
|
Packit |
c32a2d |
- --preload (tune prefill before playback for buffered mode)
|
|
Packit |
c32a2d |
- win64 support (one report at least;-), modules working on Windows
|
|
Packit |
c32a2d |
- Windows/MSVC++: fixed handling of unicode file names,
|
|
Packit |
c32a2d |
mpg123_topen() now actually working there
|
|
Packit |
c32a2d |
-- You are obliged to use mpg123_tclose() now!
|
|
Packit |
c32a2d |
- using "plugins" subdir relative to mpg123 binary
|
|
Packit |
c32a2d |
(in addition to ../lib/mpg123)
|
|
Packit |
c32a2d |
- switch to libtool 2.2 and automake 1.10 for the build scripts
|
|
Packit |
c32a2d |
-- though no update to new libtool 2 API, yet
|
|
Packit |
c32a2d |
- some portability fixes
|
|
Packit |
c32a2d |
- prevent user from creating non-working I/O setups
|
|
Packit |
c32a2d |
(replacing timeout reader, ICY with feeding)
|
|
Packit |
c32a2d |
- JACK output accepts port names for -a, stereo gets mixed down
|
|
Packit |
c32a2d |
when only one port is chosen
|
|
Packit |
c32a2d |
- added sndio output, contributed by Christian Weisgerber
|
|
Packit |
c32a2d |
- Make --doublespeed paramter work, porting of which has been
|
|
Packit |
c32a2d |
forgotten in the 1.x series!
|
|
Packit |
c32a2d |
Along with that, a regression in decoding has been fixed
|
|
Packit |
c32a2d |
(concerning skipping of frames in general).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.6.4:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Fix for consistent NtoM resampled decoding and broken frames fillup.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.6.3:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Fix sf.net bug #2413608: Make sure a new format does not slip through
|
|
Packit |
c32a2d |
after early close.
|
|
Packit |
c32a2d |
- Include equalizer example file and a piece of wrapper code for MSVC++
|
|
Packit |
c32a2d |
in the distribution.
|
|
Packit |
c32a2d |
- Do not claim to support unsigned 16 bit encoding (never been the case).
|
|
Packit |
c32a2d |
- Fix default fifo detection, now it actally activates fifo support!
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.6.2:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Fix default IPv6 detection in configure.ac (a typo has been introduced
|
|
Packit |
c32a2d |
before).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.6.1:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Fix printing of largefile offsets in remote control interface.
|
|
Packit |
c32a2d |
- Some portability fixes (reduced compiler warnings on Solaris, p.ex.).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.6.0:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- small things inside that I forgot to mention
|
|
Packit |
c32a2d |
- some new commands for remote control interface:
|
|
Packit |
c32a2d |
-- SCAN
|
|
Packit |
c32a2d |
-- SAMPLE
|
|
Packit |
c32a2d |
-- EQFILE
|
|
Packit |
c32a2d |
-- SHOWEQ
|
|
Packit |
c32a2d |
- added --keep-open command line flag (for remote control)
|
|
Packit |
c32a2d |
- fixed equalizer file parsing to really handle comment lines as example file
|
|
Packit |
c32a2d |
suggests
|
|
Packit |
c32a2d |
- more elaborate detection of UTF-8 locale, also --utf8 switch to force it
|
|
Packit |
c32a2d |
- added --fuzzy to enable inexact seeking (see below)
|
|
Packit |
c32a2d |
- added --index-size parameter for tuning accurate frame seek index
|
|
Packit |
c32a2d |
- enabling largefile support via configure
|
|
Packit |
c32a2d |
- libmpg123 11.0.11:
|
|
Packit |
c32a2d |
-- added mpg123_geteq(), mpg123_tell_stream() and mpg123_getstate()
|
|
Packit |
c32a2d |
-- API cleanup (take const char* for mpg123_open())
|
|
Packit |
c32a2d |
-- calm down complainling (C++) compilers by completing the mpg123_channels
|
|
Packit |
c32a2d |
enum
|
|
Packit |
c32a2d |
-- fixed several possible crashes when user provides NULLs where it isn't
|
|
Packit |
c32a2d |
appropriate
|
|
Packit |
c32a2d |
-- workaround for frames that fail decoding (bad frame body, missing bit
|
|
Packit |
c32a2d |
reservoir): fill up with silence
|
|
Packit |
c32a2d |
That also fixes seeking issues related to bad frames since now the
|
|
Packit |
c32a2d |
fixed relation between frame and sample offsets is restored.
|
|
Packit |
c32a2d |
-- Finally realized what that the resampling code for integer math
|
|
Packit |
c32a2d |
(generic_nofpu) was just incomplete!
|
|
Packit |
c32a2d |
Now it works, using the defined integer multiplication.
|
|
Packit |
c32a2d |
-- Detect UTF-8 in ICY conversion (instead of just assuming CP-1252,
|
|
Packit |
c32a2d |
provided by Torsten Glaser).
|
|
Packit |
c32a2d |
-- Prevent ugly noise when the bit reservoir is not fully there
|
|
Packit |
c32a2d |
(p.ex. ignorantly cut mp3 files).
|
|
Packit |
c32a2d |
Concerned frames are silenced, but reservoir for following frames
|
|
Packit |
c32a2d |
is kept.
|
|
Packit |
c32a2d |
Thanks to Patrick Dehne for the investigation and patch!
|
|
Packit |
c32a2d |
-- New option for fuzzy seeking; trading sample accuracy for speed.
|
|
Packit |
c32a2d |
With that option, seeks positions are guessed using mean framesize or
|
|
Packit |
c32a2d |
the Xing VBR TOC is used.
|
|
Packit |
c32a2d |
-- Feeder streams work with seek index now.
|
|
Packit |
c32a2d |
-- Seek frame index is runtime tunable.
|
|
Packit |
c32a2d |
-- more caution with alignment issues for varying library users
|
|
Packit |
c32a2d |
- new project files to build/use libmpg123 with MSVC++ 2005 and 2008,
|
|
Packit |
c32a2d |
provided by Patrick Dehne
|
|
Packit |
c32a2d |
- fixed a regression that made the pause/loop mode in terminal control
|
|
Packit |
c32a2d |
slowly go backwards
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
Big note for libmpg123 users: Make sure your application is compiled
|
|
Packit |
c32a2d |
with the same largefile setting as libmpg123! If that does not match,
|
|
Packit |
c32a2d |
you will get unresolved symbols (which is better than weird errors when
|
|
Packit |
c32a2d |
using a nonmatching off_t in arguments;-).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.5.1:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- fix wav/au/cdr writing to stdout (bug #2044423)
|
|
Packit |
c32a2d |
- add more sensible --no-resync to replace --resync (bug #2044404)
|
|
Packit |
c32a2d |
- libmpg123 7.0.7
|
|
Packit |
c32a2d |
-- fix thread safety of SSE decoder (bug #2053181)
|
|
Packit |
c32a2d |
-- fix robustness of length handling, added mpg123_set_filesize() (bug #2064322)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.5.0:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- libmpg123 6.0.6
|
|
Packit |
c32a2d |
-- Floating point decoding back again, (build time choice for now;
|
|
Packit |
c32a2d |
--with-cpu=generic_float).
|
|
Packit |
c32a2d |
-- More robust string handling; extended string API.
|
|
Packit |
c32a2d |
-- fixed an (so far) unnoticed ID3 bug that may have obscured comment fields
|
|
Packit |
c32a2d |
-- added mpg123_feed() as shortcut; using const input buffer now
|
|
Packit |
c32a2d |
-- resync is enabled again for ICY streams (the trouble in the past was
|
|
Packit |
c32a2d |
due to a reader bug, not the streams)
|
|
Packit |
c32a2d |
-- decode ICY text data to UTF-8 (thanks, Thorsten)
|
|
Packit |
c32a2d |
-- preserve file flags for timeout mode
|
|
Packit |
c32a2d |
- More elaborate (helpful?) error message for output format problems.
|
|
Packit |
c32a2d |
- Reworked HTTP code... and added IPv6 support!
|
|
Packit |
c32a2d |
- Fix the --proxy parameter (has been accidentally ignored before).
|
|
Packit |
c32a2d |
- Added --ignore-mime to work with web streams with funny playlist MIME
|
|
Packit |
c32a2d |
types like "audio/megurl".
|
|
Packit |
c32a2d |
- Know MIME audio/mpegurl.
|
|
Packit |
c32a2d |
- --timeout is now also used for the connection itself (not just reading).
|
|
Packit |
c32a2d |
- Now trying to resume ALSA device after suspend.
|
|
Packit |
c32a2d |
- subtle build changes (your CFLAGS rule now)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.4.3:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Fix mpg123_tell() and mpg123_seek() return values with respect to the
|
|
Packit |
c32a2d |
samples in decoding buffer (bug 1947373).
|
|
Packit |
c32a2d |
- Fix (bogus) 3DNow detection on IDT C6 (bug 1947982).
|
|
Packit |
c32a2d |
- Fix mono playback of win32 output (bug 1955157).
|
|
Packit |
c32a2d |
- Fix ABI compatibility with compilers that don't align the stack like
|
|
Packit |
c32a2d |
gcc does (fixing SSE crashes on win32).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.4.2:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Fix build problems (for Cygwin and Win32, perhaps others, too).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.4.1:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Fix a serious regression of terminal control mode (forgot to remove a
|
|
Packit |
c32a2d |
term_restore(), bug 1936548).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.4.0:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Enable runtime check for available and working output modules.
|
|
Packit |
c32a2d |
Now mpg123 tries all built modules (or a list specified in
|
|
Packit |
c32a2d |
mpg123 -o moda,modb,modc) in turn to find a working output. This minimizes the
|
|
Packit |
c32a2d |
situation of having to specify a device when default output doesn't work for
|
|
Packit |
c32a2d |
some reason. See bug 1910500.
|
|
Packit |
c32a2d |
- libmpg123 2.2.2
|
|
Packit |
c32a2d |
-- Fixing an endless loop for ICY streams that suddenly end without error
|
|
Packit |
c32a2d |
(just EOF).
|
|
Packit |
c32a2d |
-- Further fixes around EOF handling in (buffered/ICY) streams.
|
|
Packit |
c32a2d |
- Enable user to interrupt mpg123 when stuck in a loop of failing to open a
|
|
Packit |
c32a2d |
track (with --loop).
|
|
Packit |
c32a2d |
- This time with correct RPM spec (hopefully... sorry, Michael!).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.3.1:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Enable snd_pcm_sw_params_set_xfer_align() for alsa-lib < 1.0.16 (bug 1908603).
|
|
Packit |
c32a2d |
- libmpg123 2.1.2 (no-op change)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.3.0:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
This is a _major_ fix release for http streaming!
|
|
Packit |
c32a2d |
Much more usable than earlier mpg123 1.x versions.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
- libmpg123 libtool-version 2.0.2
|
|
Packit |
c32a2d |
-- Fix nasty bug in ICY reader that failed to account for partial reads
|
|
Packit |
c32a2d |
from slower network.
|
|
Packit |
c32a2d |
-- Now non-seekable streams can get peek-ahead for MPEG sync, too, triggered
|
|
Packit |
c32a2d |
by the MPG123_SEEKBUFFER flag.
|
|
Packit |
c32a2d |
-- Do not try to resync on streams with ICY metadata, that won't work.
|
|
Packit |
c32a2d |
Consequently, if there's unreliable network, use --loop -1 to make
|
|
Packit |
c32a2d |
mpg123 reconnect to the server on errors.
|
|
Packit |
c32a2d |
-- Applying a few layer 3 decoder fixes from old mhipp CVS (hail to the
|
|
Packit |
c32a2d |
creator;-) That includes the fix for bug 1895025.
|
|
Packit |
c32a2d |
-- Fix ID3v2 parser with very invalid claimed ID3v2 frame sizes (could
|
|
Packit |
c32a2d |
have triggered DOS before).
|
|
Packit |
c32a2d |
-- Oh, and fixed a steady memory leak in ID3 handling. Should mention that;-)
|
|
Packit |
c32a2d |
- Print ICY-NAME and ICY-URL again, as mpg123-0.6x did.
|
|
Packit |
c32a2d |
- Added --smooth option for not flusing buffer between tracks but at program
|
|
Packit |
c32a2d |
end only.
|
|
Packit |
c32a2d |
- Included some contributed ports/bindings of libmpg123 under ports/ .
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.2.1:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- libmpg123 libtool-version 1.2.1 (coincidence!)
|
|
Packit |
c32a2d |
-- Earlier check for free format headers to prevent them from screwing up
|
|
Packit |
c32a2d |
resync (free format still not supported)
|
|
Packit |
c32a2d |
-- bug 1889051: more flexible resync, not insisting on the format of the
|
|
Packit |
c32a2d |
first frame (which could have been bogus)
|
|
Packit |
c32a2d |
- Add an output write loop to handle SIGSTOP/CONT operation (bug 1890563).
|
|
Packit |
c32a2d |
- Fixed a bug where playback status for some http streams was not shown.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.2.0:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- libmpg123 libtool-version 1.0.1
|
|
Packit |
c32a2d |
-- See NEWS.libmpg123 for details.
|
|
Packit |
c32a2d |
-- This adds --resync-limit parameter to mpg123.
|
|
Packit |
c32a2d |
- Some build system work, including:
|
|
Packit |
c32a2d |
-- It is now possible to build a mpg123 rpm from the source tarball via
|
|
Packit |
c32a2d |
rpmbuild -tb .
|
|
Packit |
c32a2d |
-- configure: Accept --with-audio=foo,bar,bla (comma-separated list) in addition
|
|
Packit |
c32a2d |
to --with-audio="foo bar bla".
|
|
Packit |
c32a2d |
-- autogen.sh included in distribution.
|
|
Packit |
c32a2d |
-- Include the forgotten i486 files in the distribution (now that's embarrasing...).
|
|
Packit |
c32a2d |
Also a little fix for wrong --list-cpu on i486 build.
|
|
Packit |
c32a2d |
-- Fix build with MinGW32.
|
|
Packit |
c32a2d |
- Fix -v stat output (time display) for MinGW32 build.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.1.0:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Added arts output.
|
|
Packit |
c32a2d |
- More verbosity on lame/xing/info tags (on demand) instead of compile-time
|
|
Packit |
c32a2d |
debugging switch.
|
|
Packit |
c32a2d |
- XMMS2 plugin cleanup (submitted to XMMS2 for inclusion)
|
|
Packit |
c32a2d |
- Improved ID3v2 robustness (let bad tags not affect playback of the important
|
|
Packit |
c32a2d |
part).
|
|
Packit |
c32a2d |
- Terminal control:
|
|
Packit |
c32a2d |
-- Key for going to previous track ([d], because it's left of [f] usually...
|
|
Packit |
c32a2d |
no config file yet for that).
|
|
Packit |
c32a2d |
-- Key for printing current playlist, [l].
|
|
Packit |
c32a2d |
-- Now possible to switch on verbosity also for mpg123 -q -C
|
|
Packit |
c32a2d |
-- Key for (re)printing ID3 tag info ([t]).
|
|
Packit |
c32a2d |
-- Key for (re)printing MPEG frame header info ([m]).
|
|
Packit |
c32a2d |
- Soften the -q option: Now you are able to increase verbosity after -q
|
|
Packit |
c32a2d |
again, like mpg123 -q -v (this fixes cplay's progress display).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.0.1:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Fix module loader to prevent crash in working paths with more than 49
|
|
Packit |
c32a2d |
characters length (bug 1859413).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.0.0:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Fixed Pulseaudio.
|
|
Packit |
c32a2d |
- Cleaned up configure.
|
|
Packit |
c32a2d |
- Pushed remote control version to v3.
|
|
Packit |
c32a2d |
- Updated documentation.
|
|
Packit |
c32a2d |
- Fix VPATH build for generated mpg123.h .
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.0rc3:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fixed JACK output.
|
|
Packit |
c32a2d |
- Disable buffer when statically building CoreAudio in (MacOSX); with
|
|
Packit |
c32a2d |
CoreAudio module the buffer works, with static output it doesn't.
|
|
Packit |
c32a2d |
This is the situation because of fork() discrimination by Apple Inc. .
|
|
Packit |
c32a2d |
- Added verbosity to tell about ID3v2 text encodings (level 4).
|
|
Packit |
c32a2d |
- minor cleanup
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.0rc2:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- Fixed some bugs, the ID3v2 interface of libmpg123 is safer now (there
|
|
Packit |
c32a2d |
were possibly stale pointers in there).
|
|
Packit |
c32a2d |
- Buffer mode got vital improvements (yeah, that is sort of feature creep
|
|
Packit |
c32a2d |
during release process, but worth it)
|
|
Packit |
c32a2d |
The improved communication makes it possible to skip tracks in terminal
|
|
Packit |
c32a2d |
control mode without the hack to immediately restart playback.
|
|
Packit |
c32a2d |
To be able to do seeking in terminal mode with buffer properly, buffered
|
|
Packit |
c32a2d |
playback stops on seek keys. You restart playback after you are done
|
|
Packit |
c32a2d |
with seeking.
|
|
Packit |
c32a2d |
- Support either portaudio v18 or v19 API (v18 works for me, v19 works
|
|
Packit |
c32a2d |
according to user report).
|
|
Packit |
c32a2d |
- Audio output handling got safer and more clean, a byproduct of implementing
|
|
Packit |
c32a2d |
the above. I stumbled over some things and had to fix it (yeah, feature
|
|
Packit |
c32a2d |
creep in parts again, but still: Worth it!;-)
|
|
Packit |
c32a2d |
Any audio access is now restricted to either that standalone mpg123
|
|
Packit |
c32a2d |
process or the buffer process, the output being opened _after_ the fork().
|
|
Packit |
c32a2d |
There is hope that this fixes buffered output on MacOSX.
|
|
Packit |
c32a2d |
- More feature creep, this time because of something like that was already
|
|
Packit |
c32a2d |
included in the Debian mpg123:
|
|
Packit |
c32a2d |
--delay parameter to issue a pause before each track (does not make
|
|
Packit |
c32a2d |
sense for file writing outputs, though).
|
|
Packit |
c32a2d |
- Even more feature creep: remote control can now give ID3v2 data, also
|
|
Packit |
c32a2d |
in more raw form via new "tag" command.
|
|
Packit |
c32a2d |
This sort of qualifies as bugfix, actually, since it's item 1786430 on
|
|
Packit |
c32a2d |
the tracker;-)
|
|
Packit |
c32a2d |
- Make flexible rate computations more safe (especially on 32bit platforms)
|
|
Packit |
c32a2d |
by switching to the looping code instead of direct multiplication/division
|
|
Packit |
c32a2d |
(which blows up with integers). A possible effect was premature track
|
|
Packit |
c32a2d |
ending with a forced rate.
|
|
Packit |
c32a2d |
- Flexible rate mode works _at_all_ again with fixed output support
|
|
Packit |
c32a2d |
detection code (comparison of -1 with a size_t ended a loop all too early).
|
|
Packit |
c32a2d |
- check for error in flushing output (this ends mpg123 for a broken pipe,
|
|
Packit |
c32a2d |
for example)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
1.0rc1:
|
|
Packit |
c32a2d |
-------
|
|
Packit |
c32a2d |
- In one word: LOTS!
|
|
Packit |
c32a2d |
- Many small things that happened while migrating to the new setup.
|
|
Packit |
c32a2d |
- The decoder is now a library (libmpg123) which can be installed also
|
|
Packit |
c32a2d |
for other programs to use. This finally provides a heavily improved
|
|
Packit |
c32a2d |
replacement for the aged mpglib. We have doxygen API doc, example codes.
|
|
Packit |
c32a2d |
You can still choose to compile the decoder statically into the mpg123
|
|
Packit |
c32a2d |
binary, though.
|
|
Packit |
c32a2d |
- We have a plugin system for audio output! This should be relieving to
|
|
Packit |
c32a2d |
package maintainers for binary distributions, drastically reducing the
|
|
Packit |
c32a2d |
number of builds they have to provide.
|
|
Packit |
c32a2d |
Here, too, you can choose to build one audio output into the binary
|
|
Packit |
c32a2d |
like before; you can have your old-school one-piece mpg123 or the hip
|
|
Packit |
c32a2d |
I-am-legion shared-lib-and-plugin flexible mpg123;-)
|
|
Packit |
c32a2d |
One exception: For now, you have to compile without modules in
|
|
Packit |
c32a2d |
MinGW32/MSYS.
|
|
Packit |
c32a2d |
- ID3v2 support has been enhanced and, in the case of specific comments
|
|
Packit |
c32a2d |
(those with a description), fixed.
|
|
Packit |
c32a2d |
The ID3 parsing is part of libmpg123, offering support for virtually
|
|
Packit |
c32a2d |
all textual information in ID3v2.2, ID3v2.3 and ID3v2.4 tags (along with
|
|
Packit |
c32a2d |
the usual 128 bytes of ID3v1 or ID3v1.1 in a block).
|
|
Packit |
c32a2d |
All tag texts are converted to UTF-8, allowing mpg123 to properly display
|
|
Packit |
c32a2d |
special chars in an Unicode terminal without fuzz (for non-UTF locales,
|
|
Packit |
c32a2d |
there is still the ASCII reduction).
|
|
Packit |
c32a2d |
- Gapless decoding (of layer 3 streams) is now considered to be a standard
|
|
Packit |
c32a2d |
feature and is enabled per default both at build- and runtime.
|
|
Packit |
c32a2d |
- ...
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.68:
|
|
Packit |
c32a2d |
-----
|
|
Packit |
c32a2d |
- Fix bug 1807964: distorted playback of MPEG 2.5 files
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.67:
|
|
Packit |
c32a2d |
-----
|
|
Packit |
c32a2d |
Thanks go out to the ROM 106.5FM team (http://www.rom.lu/) for supporting
|
|
Packit |
c32a2d |
this release with a donation on sf.net and a bottle of finest Gewuerztraminer
|
|
Packit |
c32a2d |
wine from Luxembourg!
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
- verified that it builds on SGI IRIX 6.5 for MIPS32 and MIPS64
|
|
Packit |
c32a2d |
- enable flexible rate for stdout decoding, too
|
|
Packit |
c32a2d |
- UTF8 filtering to ASCII finally works thanks to Mika Tiainen, see bug 1745847
|
|
Packit |
c32a2d |
- corrected frame offset; -k was off by one
|
|
Packit |
c32a2d |
This means now that -k disagrees with mpg123 0.59r on many files because
|
|
Packit |
c32a2d |
the old version does play a frame of silence when encountering LAME tag
|
|
Packit |
c32a2d |
instead of dropping it for audio.
|
|
Packit |
c32a2d |
- added --timeout <n>: Possibility to end playback on a stream that doesn't give
|
|
Packit |
c32a2d |
data for <n> seconds.
|
|
Packit |
c32a2d |
- added --loop <n>: for ... well... looping playback of a track; motivation was
|
|
Packit |
c32a2d |
persistent internet streaming with unreliable connection (together with --timeout)
|
|
Packit |
c32a2d |
- build fixes
|
|
Packit |
c32a2d |
- use movap instruction in SSE assembly when compiler supports the needed
|
|
Packit |
c32a2d |
alignment (idea from MPlayer)
|
|
Packit |
c32a2d |
- show decoder options in their priority order in --list-cpu/--test-cpu
|
|
Packit |
c32a2d |
- added Perl script to benchmark each of mpg123's CPU optimizations
|
|
Packit |
c32a2d |
- portability enhancements and cleanups along with testing on SunOS 4.1.2
|
|
Packit |
c32a2d |
with gcc-2.7.0
|
|
Packit |
c32a2d |
- workaround for ugly flexible rate for MMX/SSE/3DNowExt code:
|
|
Packit |
c32a2d |
--with-cpu=mmx also includes i586 code as fallback; similar with the others
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.66:
|
|
Packit |
c32a2d |
-----
|
|
Packit |
c32a2d |
- support for a combined build of x86 optimizations and runtime selection
|
|
Packit |
c32a2d |
among these The (supposedly) "highest" CPU-supported optimization is chosen
|
|
Packit |
c32a2d |
by default, --cpu, --list-cpu and --test-cpu parameters are there for you to
|
|
Packit |
c32a2d |
take control.
|
|
Packit |
c32a2d |
- default build for x86 systems is combined "x86" with generic, i386,
|
|
Packit |
c32a2d |
i586, MMX, 3DNow, SSE, 3DNowExt; "x86_dither" also includes the dithering
|
|
Packit |
c32a2d |
i586 decoder
|
|
Packit |
c32a2d |
- no automatic -march compiler flags anymore; the --with-cpu configure option
|
|
Packit |
c32a2d |
selects specific assembler code but special CFLAGS are up to you
|
|
Packit |
c32a2d |
- extended 3DNow and SSE optmizations from MPlayer's mp3lib
|
|
Packit |
c32a2d |
- x86 assembler optimizations adapted for MacOS X/Intel
|
|
Packit |
c32a2d |
- straight support for Windows using MinGW32, reactivated the native
|
|
Packit |
c32a2d |
WinMM output. Core functionality including assembler optmimizations
|
|
Packit |
c32a2d |
and WAV writing is there.
|
|
Packit |
c32a2d |
- assembler optimizations also for cygwin
|
|
Packit |
c32a2d |
- set remote-err automatically when putting audio to stdout
|
|
Packit |
c32a2d |
- a bit more general portability in the new build system
|
|
Packit |
c32a2d |
- fix file creation mode for -O
|
|
Packit |
c32a2d |
- experimental decoding to 32bit float (raw and WAV file): ./configure
|
|
Packit |
c32a2d |
--with-cpu=generic_float
|
|
Packit |
c32a2d |
- generic control interface (-R) can create and read from a named pipe,
|
|
Packit |
c32a2d |
parameter --fifo <path>
|
|
Packit |
c32a2d |
- audio bugfix: playback of mono file on stereo-only hardware, better
|
|
Packit |
c32a2d |
error reporting there
|
|
Packit |
c32a2d |
- ALSA output handling underruns
|
|
Packit |
c32a2d |
- MMX, SSE and 3DNowExt fallback to i586 and below or 3Dnow for forced
|
|
Packit |
c32a2d |
sample rate
|
|
Packit |
c32a2d |
- more terminal control: volume, RVA and verbosity controls
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.65:
|
|
Packit |
c32a2d |
-----
|
|
Packit |
c32a2d |
- now allow crc bit to vary over stream (fixes files with bad lame tag
|
|
Packit |
c32a2d |
and some internet streams)
|
|
Packit |
c32a2d |
- do not try to parse id3v2.2 (as opposed to 2.3 and 2.4)
|
|
Packit |
c32a2d |
- correct id3v2.3 parsing for not expecting syncsafe integers for framesize,
|
|
Packit |
c32a2d |
2.4 introduced that
|
|
Packit |
c32a2d |
- omit gcc specific compiler flags when gcc is not there
|
|
Packit |
c32a2d |
- initital attempt to support sgi/irix with configure (please test)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.64:
|
|
Packit |
c32a2d |
-----
|
|
Packit |
c32a2d |
- fixing a potential denial of service problem; broken connection to server
|
|
Packit |
c32a2d |
could trigger an endless loop
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.63:
|
|
Packit |
c32a2d |
-----
|
|
Packit |
c32a2d |
- build fixes, only relevant to developers and people who had problems building
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.62:
|
|
Packit |
c32a2d |
-----
|
|
Packit |
c32a2d |
- JUMP command in generic frontend accepts offsets/positions in seconds
|
|
Packit |
c32a2d |
(JUMP 4s vs. JUMP 4)
|
|
Packit |
c32a2d |
- initial support for ICY meta data in SHOUTcast streams
|
|
Packit |
c32a2d |
- a bit of fixing with rva code, added rva and general volume control to
|
|
Packit |
c32a2d |
generic frontend
|
|
Packit |
c32a2d |
- accepting more MIME types for http streaming (application/pls and
|
|
Packit |
c32a2d |
audio/x-mpeg)
|
|
Packit |
c32a2d |
- ID3v2 info output taking less space per default - more resembling the
|
|
Packit |
c32a2d |
old ID3v1 view for short tags, full view with always one line per item
|
|
Packit |
c32a2d |
via extra --long-tag switch
|
|
Packit |
c32a2d |
- generally less verbosity (i.e. noise on console) per default
|
|
Packit |
c32a2d |
- ID3v2 now having some kind of support for unicode; trying to print what's
|
|
Packit |
c32a2d |
latin1-compatible and prevent messing up of terminal with unknown bytes
|
|
Packit |
c32a2d |
- several bug fixes and small improvements
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.61:
|
|
Packit |
c32a2d |
-----
|
|
Packit |
c32a2d |
- improved AltiVec code from Taihei Monma
|
|
Packit |
c32a2d |
- an i486 optimization by Petr Salinger
|
|
Packit |
c32a2d |
- improving interactive experience (terminal, frontends)
|
|
Packit |
c32a2d |
-- prevent/lessen bad effect after seeking while paused
|
|
Packit |
c32a2d |
-- show targeted position while seeking in terminal mode while paused
|
|
Packit |
c32a2d |
-- not messing up terminal on unexpected errors
|
|
Packit |
c32a2d |
- decoder robustness - better file sync (weird junk at beginning, some vbr
|
|
Packit |
c32a2d |
frames)
|
|
Packit |
c32a2d |
- build system improvements:
|
|
Packit |
c32a2d |
-- fixing configure isses on some platforms
|
|
Packit |
c32a2d |
-- adding cygwin, kfreebsd
|
|
Packit |
c32a2d |
- extended fix for CVE-2006-1655
|
|
Packit |
c32a2d |
- generic code should compiling again...
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.60 final: (The Team!)
|
|
Packit |
c32a2d |
-----------
|
|
Packit |
c32a2d |
- no functional changes
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.60-beta6: (Thomas Orgis)
|
|
Packit |
c32a2d |
-----------
|
|
Packit |
c32a2d |
- more use of ID3v2 tags, mpg123 now displays both (merged) info from
|
|
Packit |
c32a2d |
ID3v2 and ID3v1; trying to support both ID3v2.3 and ID3v2.4, but ignoring
|
|
Packit |
c32a2d |
encoding (UTF8 should still work if your terminal supports it, straight
|
|
Packit |
c32a2d |
unicode should work except for parsing genre numbers and multiline strings)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.60-beta5: (Thomas Orgis)
|
|
Packit |
c32a2d |
-----------
|
|
Packit |
c32a2d |
- more robust playlist support:
|
|
Packit |
c32a2d |
-- path/url length not limited to 1023 characters anymore
|
|
Packit |
c32a2d |
-- reading in of whole playlist at program start (old operation was not
|
|
Packit |
c32a2d |
really safe with playlist from http)
|
|
Packit |
c32a2d |
-- fixed bug where reading of playlist form stdin caused segfault (introduced
|
|
Packit |
c32a2d |
with the pls format support)
|
|
Packit |
c32a2d |
- smaller cleanups, screen output cosmetics
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.60-beta4: (Nicholas Humfrey & Thomas Orgis)
|
|
Packit |
c32a2d |
-----------
|
|
Packit |
c32a2d |
- proper seeking, also for VBR streams
|
|
Packit |
c32a2d |
- real two-way seeking in remote control mode at all
|
|
Packit |
c32a2d |
- better estimates of remaining frames (on vbr files), exact if Xing header
|
|
Packit |
c32a2d |
is found
|
|
Packit |
c32a2d |
- Removed libao support (as it is GPL and we aren't - and we don't need
|
|
Packit |
c32a2d |
it with native Alsa)
|
|
Packit |
c32a2d |
- Added ALSA 0.9/1.0 support by Clemens Ladisch (old alsa is in
|
|
Packit |
c32a2d |
audio_alsa05.c but will most likely vanish soon)
|
|
Packit |
c32a2d |
- Added PortAudio audio-output support
|
|
Packit |
c32a2d |
- Added SDL audio-output support
|
|
Packit |
c32a2d |
- Fixed NAS audio-output support
|
|
Packit |
c32a2d |
- re-enabled MPEG 2.5, code just seems to work
|
|
Packit |
c32a2d |
- improved stream checking; being more willing in general (favor resync
|
|
Packit |
c32a2d |
instead of bail out) but directly give up if free format stream is obvious
|
|
Packit |
c32a2d |
- Whee! Initial Relative Volume Adjustment (buzz) support with reading of
|
|
Packit |
c32a2d |
ReplayGain values in lame/info tag, the RVA2 frames in ID3v2.4, ID3v2 TXXX
|
|
Packit |
c32a2d |
tags from foobar2000 (please test, someone!) and custom ID3v2.3 comments
|
|
Packit |
c32a2d |
entitled RVA / RVA_ALBUM / RVA_AUDIOPHILE / RVA_RADIO / RVA_MIX
|
|
Packit |
c32a2d |
- more persistence in trying to get http streams
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.60-beta3: (Thomas Orgis)
|
|
Packit |
c32a2d |
-----------
|
|
Packit |
c32a2d |
- fixed bug with segfault in http code on stream from live365.com -
|
|
Packit |
c32a2d |
bug id 1529266
|
|
Packit |
c32a2d |
- made http request HTTP/1.0 compilant again (tested only without proxy) -
|
|
Packit |
c32a2d |
bug id 1529319
|
|
Packit |
c32a2d |
- now using http content-type header to check for correct types mpg123 can
|
|
Packit |
c32a2d |
understand
|
|
Packit |
c32a2d |
-- you can now always use -@ for a single http resource (direct stream or
|
|
Packit |
c32a2d |
playlist) since a stream will be reopened based on MIME type,
|
|
Packit |
c32a2d |
though omitting it will save you one http request to the server in the
|
|
Packit |
c32a2d |
direct stream case...
|
|
Packit |
c32a2d |
- now simple parsing of shoutcast pls playlists (how did you people use
|
|
Packit |
c32a2d |
shoutcast before?)
|
|
Packit |
c32a2d |
- playlist mode enhanced with selective playback of one entry in list
|
|
Packit |
c32a2d |
(--listentry parameter)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.60-beta2: (Thomas Orgis)
|
|
Packit |
c32a2d |
-----------
|
|
Packit |
c32a2d |
- fixed bug in terminal control mode that caused the f key to quit program
|
|
Packit |
c32a2d |
isntead of advance to next file (introduced by the first attempt to restore
|
|
Packit |
c32a2d |
"normal" Ctrl+C behaviour in terminal control mode)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.60-beta1: (Thomas Orgis & Nicholas Humfrey)
|
|
Packit |
c32a2d |
-----------
|
|
Packit |
c32a2d |
On the way to the first new offical realease since years!
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
- new license: all LGPL except the old audio_alsa.c
|
|
Packit |
c32a2d |
- merge with Nicholas' sourceforge package
|
|
Packit |
c32a2d |
-- autooled configure/make system
|
|
Packit |
c32a2d |
-- MacOSX, Jack, libao (alsa 0.9/1.x support through that)
|
|
Packit |
c32a2d |
- experimental gapless playback for layer 3
|
|
Packit |
c32a2d |
- merged in MMX and AltiVec optimizations
|
|
Packit |
c32a2d |
- security bug fix of GLSA 200607-01 and catching possible crashes found by fuzzing
|
|
Packit |
c32a2d |
- fixed many issues here and there
|
|
Packit |
c32a2d |
- polished help messages, updated man page...
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
UNDERGROUND 0.59r-thor7: (Thomas Orgis <thomas@orgis.org>) (well, I'm going to
|
|
Packit |
c32a2d |
------------------------ release a _really_ official mpg123 in future)
|
|
Packit |
c32a2d |
- applied relevant stuff from Debian's 22:
|
|
Packit |
c32a2d |
-- fix for CVE-2006-1655 (buffer overflow in III_i_stereo())
|
|
Packit |
c32a2d |
-- strict aliasing hack in WRITE_SAMPLE of decode_i386.c
|
|
Packit |
c32a2d |
-- fixed http streaming through proxy by actually using the request url...
|
|
Packit |
c32a2d |
-- buffer resync on Ctrl-C (cleaning, reducing pauses with multiple files)
|
|
Packit |
c32a2d |
-- removed unused esdserver variable from mpg123.h
|
|
Packit |
c32a2d |
-- did NOT apply the Debian Makefile/manpage changes (going to rewrite that
|
|
Packit |
c32a2d |
stuff anyway)
|
|
Packit |
c32a2d |
- made the netbsd-i386 targets visible as netbsd-x86
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
UNOFFICIAL 0.59r-thor6 (Thomas Orgis <thomas@orgis.org>)
|
|
Packit |
c32a2d |
----------------------
|
|
Packit |
c32a2d |
- split nedbsd targets for realtime priority selection code; since one
|
|
Packit |
c32a2d |
needs -lpthread with it. standard netbsd target doesn't use realtime code --
|
|
Packit |
c32a2d |
I won't recommend running mpg123 as root anyway!
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
UNOFFICIAL 0.59r-thor5 (Thomas Orgis <thomas@orgis.org>)
|
|
Packit |
c32a2d |
----------------------
|
|
Packit |
c32a2d |
- Separated the the use of char* equalfile as filename from the use as
|
|
Packit |
c32a2d |
TRUE/FALSE flag by introducing int have_eq_settings. Compilers kept nagging
|
|
Packit |
c32a2d |
about assigning and integer (TRUE) to char* ... and it feels more right
|
|
Packit |
c32a2d |
this way.
|
|
Packit |
c32a2d |
- Made control_generic aware of real being possibly different than float (seq
|
|
Packit |
c32a2d |
command used to raise an FPE on OSF1 when this assumption was not the case.
|
|
Packit |
c32a2d |
- Fixed the command line arg parsing to work properly on Alpha (32 and 64
|
|
Packit |
c32a2d |
bit mixup)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
UNOFFICIAL 0.59r-thor4 (Thomas Orgis <thomas@orgis.org>)
|
|
Packit |
c32a2d |
----------------------
|
|
Packit |
c32a2d |
- merged with 0.59r-19 from Debian project (Daniel Kobras
|
|
Packit |
c32a2d |
<kobras@debian.org>), hopefully fixing all those security vulnerabilities
|
|
Packit |
c32a2d |
-> my dirty http_open and open_stream variants now replaced by more
|
|
Packit |
c32a2d |
proper code
|
|
Packit |
c32a2d |
-> still my (rather workloaded) parsing/processing in control_generic,
|
|
Packit |
c32a2d |
but now including the idea to watch out for \n, \r\n and \r (or \n\r,
|
|
Packit |
c32a2d |
for that matter;-)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
UNOFFICIAL 0.59r-thor3: (Thomas Orgis <thomas@orgis.org>)
|
|
Packit |
c32a2d |
-----------------------
|
|
Packit |
c32a2d |
- hacked additional variants of http_open and open_stream that return
|
|
Packit |
c32a2d |
errors instead of exit()ing; makes more sense when used by a frontend
|
|
Packit |
c32a2d |
- further cleanup (and return to using continue instead of nested
|
|
Packit |
c32a2d |
if(){}else{if()else{}}) in command processing, better error messages there
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
UNOFFICIAL 0.59r-ThOr(remote-err,eq,flushing): (Thomas Orgis <thomas@orgis.org>)
|
|
Packit |
c32a2d |
----------------------------------------------
|
|
Packit |
c32a2d |
- added audio_flush() calls to various places in control_generic.c to
|
|
Packit |
c32a2d |
make sure there is nothing left in there that hurts later (not sure if
|
|
Packit |
c32a2d |
this has effects)
|
|
Packit |
c32a2d |
- (re?)enabled (?) code for stream info
|
|
Packit |
c32a2d |
- corrected answer of JUMP (now gives actual reached position, +/- 1 frame
|
|
Packit |
c32a2d |
since I'll still have to figure out what frame 0 really is...)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
UNOFFICIAL 0.59r-realeq-remoteerr: (Thomas Orgis <thomas@orgis.org>)
|
|
Packit |
c32a2d |
----------------------------------
|
|
Packit |
c32a2d |
- applied patch from Cool Feet Audio project (nutcase@dtfm.org, see
|
|
Packit |
c32a2d |
README.cfa) to use real-time equalizer in remote mode
|
|
Packit |
c32a2d |
- applied patch from AMF (amf.sourceforge.net) by Steve Grundell for remote
|
|
Packit |
c32a2d |
communication not polluting the STDOUT where the audio data is read from
|
|
Packit |
c32a2d |
(instead using STDERR) ... and faster seeking, maybe
|
|
Packit |
c32a2d |
The patches go not cleanly together, but rejects are trivial. Thus,
|
|
Packit |
c32a2d |
a combined patch with both would makes sense.
|
|
Packit |
c32a2d |
- modified (IMHO improved) the control_generic command reading: now
|
|
Packit |
c32a2d |
always making sure that the full command is read up to a mandatory \n;
|
|
Packit |
c32a2d |
also reworked the application of the commands afterwards
|
|
Packit |
c32a2d |
- added SEQ command: simple eq with only 3 bands
|
|
Packit |
c32a2d |
- added SILENCE command: I don't want the playback messages when I don't
|
|
Packit |
c32a2d |
read them (since my frontend is reading the STDOUT it knows what is going on)
|
|
Packit |
c32a2d |
- added SLJ command: SILENCE-LOAD-JUMP... a hack for my hacked
|
|
Packit |
c32a2d |
mixplayd... maybe one should remove that again.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59r: (MH)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- applied audio_alib changes from Ralf Hildebrandt <R.Hildebrandt@TU-BS.DE>
|
|
Packit |
c32a2d |
- some 'paetsches' from DK
|
|
Packit |
c32a2d |
- minor optimizations in layer3 (dequantize/huffman)
|
|
Packit |
c32a2d |
- BSDOS 4.0 with gcc added to Makefile (<sms@moe.2bsd.com>)
|
|
Packit |
c32a2d |
- Solaris-ESD patch from Ryan Prosser <prosser@wam.umd.edu>
|
|
Packit |
c32a2d |
- Added Frontend changes from Bertrand Petit <elrond@phoe.netdev.net>
|
|
Packit |
c32a2d |
- more DK 'paetsches' (final dk7-clubhaus edition), includes extended term
|
|
Packit |
c32a2d |
control
|
|
Packit |
c32a2d |
- SGI audio fix for non RAD machines from Erik Mouw <J.A.K.Mouw@its.tudelft.nl>
|
|
Packit |
c32a2d |
- fixed ugly bug in layer3 dequant for bt==2 (may cause high frequency clitchs)
|
|
Packit |
c32a2d |
- AMD-3DNow optimizations in decode and dct64
|
|
Packit |
c32a2d |
- OS/2 reworked from Samuel Audet (see audio_os2.c for more)
|
|
Packit |
c32a2d |
- added freebsd-esd make-entry from Daniel O'Connor (darius@guppy.dons.net.au)
|
|
Packit |
c32a2d |
- added enhanced head_check from D. Skarda <0rfelyus@atrey.karlin.mff.cuni.cz>
|
|
Packit |
c32a2d |
- applied 'xterm-title-patch' from "Wilson, Jeff D" <jeff.wilson@wilcom.com>
|
|
Packit |
c32a2d |
- more esd changes from Robert Bihlmeyer <robbe@orcus.priv.at>
|
|
Packit |
c32a2d |
- applied Hannu Napari's <Hannu.Napari@hut.fi> SGI audio patches
|
|
Packit |
c32a2d |
- minor changes in httpget.c and mpg123.c
|
|
Packit |
c32a2d |
- added native AIX support from Juergen.Schoew@unix-ag.uni-siegen.de
|
|
Packit |
c32a2d |
- applied playlist patch from <psst@euskalnet.net>
|
|
Packit |
c32a2d |
- more SGI audio patches from Gilles Zunino <Gilles.Zunino@hei.fupl.asso.fr>
|
|
Packit |
c32a2d |
- applied esdserver patch from Matthew Parslow <roy@alpha.alphalink.com.au>
|
|
Packit |
c32a2d |
- added some fixes for control_generic
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59q: (MH)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- ESD fixes
|
|
Packit |
c32a2d |
- minor bugfixes (DK patch ;)
|
|
Packit |
c32a2d |
- au and cdr 'support' (it's a hack)
|
|
Packit |
c32a2d |
- Fixed 'VBR' Bug in get_scale_fac1(). Thanx to <ssonique@hotmail.com> for
|
|
Packit |
c32a2d |
this. (Wasn't really a VBR Bug. The new encoders just triggered it.)
|
|
Packit |
c32a2d |
- Added equalizer patch from <dlux@dlux.sch.bme.hu>
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59p: (MH)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Added mpglib (see mpglib directory)
|
|
Packit |
c32a2d |
- 'make generic' is more generic now
|
|
Packit |
c32a2d |
- Added HPUX/ALib support from Ducroquet Erwan (ducroque@ufr-info-p7.ibp.fr)
|
|
Packit |
c32a2d |
- Added EsoundD support from <fill it in>
|
|
Packit |
c32a2d |
- Added exp. relatime support (compile with -DSET_RT)
|
|
Packit |
c32a2d |
- Added linux-sparc patch from
|
|
Packit |
c32a2d |
- Added genrepatch from Shane Wegner <shane@CM.NU>
|
|
Packit |
c32a2d |
- Added wav-File patch Samuel Audet <guardia@cam.org>
|
|
Packit |
c32a2d |
- Added SGI-RAD support from "J. Dean Brederson" <jdb@cs.utah.edu>
|
|
Packit |
c32a2d |
- Added sajberplay/FreeBSD patch from Chou Ye-chi <is84002@cis.nctu.edu.tw>
|
|
Packit |
c32a2d |
- Added 486 optimizations from Fabrice Bellard <bellard@email.enst.fr>
|
|
Packit |
c32a2d |
- Added combined output devices on SUN (ie Speaker and headphones together)
|
|
Packit |
c32a2d |
- Added audio_alsa.c (under GPL license) for the ALSA sound system from
|
|
Packit |
c32a2d |
A. Hermansen <ahermans@vf.telia.no> and J. Kysela <perex@jcu.cz>
|
|
Packit |
c32a2d |
- Added K6-3DNow patches from KIMURA Takuhiro <kim@hannah.ipc.miyakyo-u.ac.jp>
|
|
Packit |
c32a2d |
- Added MINT patches from Petr Stehlik <stehlik@cas3.zlin.vutbr.cz>
|
|
Packit |
c32a2d |
- Fixed minor bug for linux-i486 and mono
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59o: (MH)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- fixed Bug with stereo streams on mono audio hardware for OSS
|
|
Packit |
c32a2d |
- fixed a bug with mono output and 1:1 (no) rate conversion
|
|
Packit |
c32a2d |
- again changes in the probe code
|
|
Packit |
c32a2d |
- fix in the buffer code for the case, that audio parameters are changing
|
|
Packit |
c32a2d |
- more changes to the flexibel rate converter, should now work when
|
|
Packit |
c32a2d |
writing to STDOUT.
|
|
Packit |
c32a2d |
- Added Andy's (<andy@snoogie.demon.co.uk>) float2int speed up proposal
|
|
Packit |
c32a2d |
(check WRITE_SAMPLE in decode_i386.c) .. Maybe someone wanna take the
|
|
Packit |
c32a2d |
idea and put it into the decode_i586.s part?
|
|
Packit |
c32a2d |
- Added TK3Play support from Brian Foutz <foutz@anise.ee.cornell.edu>
|
|
Packit |
c32a2d |
(compiles but untested)
|
|
Packit |
c32a2d |
- RIFF Header fix (according to Thomas Niederreiter's
|
|
Packit |
c32a2d |
<tn@tarantel.rz.fh-muenchen.de> patch)
|
|
Packit |
c32a2d |
- m68k patch from Stefan Gybas <cab@studbox.uni-stuttgart.de> applied
|
|
Packit |
c32a2d |
- minor additional PPC changes applied
|
|
Packit |
c32a2d |
- resync and EOF hang fixed
|
|
Packit |
c32a2d |
- resync and bitrate correction relaxed
|
|
Packit |
c32a2d |
- Slightly change verbose output; added countdown
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59n: (MH)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- fixed shuffle bug
|
|
Packit |
c32a2d |
- added memory mapped IO for file reading
|
|
Packit |
c32a2d |
- added MPEG 2.5 12kHz and 8kHz table entry
|
|
Packit |
c32a2d |
- started flexibel rate conversion ..
|
|
Packit |
c32a2d |
- new '-Z' / '--random' option
|
|
Packit |
c32a2d |
- minor clean-up
|
|
Packit |
c32a2d |
- splitted audio file in audio system dependend smaller parts
|
|
Packit |
c32a2d |
- started system stream support (external program: system.c)
|
|
Packit |
c32a2d |
- unsigned 8 bit (instead of ulaw) is now default for 8bit operation
|
|
Packit |
c32a2d |
- Linux PPC patch from Grant Erickson <eric0139@tc.umn.edu> applied
|
|
Packit |
c32a2d |
- added BSDi patch from Peter Berger <peterb@hoopoe.psc.edu>, who reported
|
|
Packit |
c32a2d |
a failure when catching signals
|
|
Packit |
c32a2d |
- minor bug fix in the control interface for sajber jukebox
|
|
Packit |
c32a2d |
- fixed the ugly 'Ctrl-Z in buffer mode' bug .. YES ;)
|
|
Packit |
c32a2d |
- added buffer preload when underrun occurs (preload = 1/8 buffer size)
|
|
Packit |
c32a2d |
- minor SUN audio clean up
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59m: (MH)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Bug with RIFF header streams fixed.
|
|
Packit |
c32a2d |
- HTTP auth option patch from Henrik P Johnson <king@one.se>
|
|
Packit |
c32a2d |
- NetBSD patch(s) added from <mycroft@NetBSD.ORG> and <augustss@cs.chalmers.se>
|
|
Packit |
c32a2d |
- Added advanced shuffle support from Steven Tiger Lang <tiger@tyger.org>
|
|
Packit |
c32a2d |
- fixed bug with too large big_value field
|
|
Packit |
c32a2d |
- fixed (hopefully) the bug with the '-a' option
|
|
Packit |
c32a2d |
- work-around for some pedantic compilers in fr->synth init
|
|
Packit |
c32a2d |
- some changes for the 'generic' version
|
|
Packit |
c32a2d |
- applied NAS bug-fix patch
|
|
Packit |
c32a2d |
- new (good) MPEG 2.5 tables (from Niklas Beisert)
|
|
Packit |
c32a2d |
- added WIN32 support from Tony Million
|
|
Packit |
c32a2d |
- added some bug fixes from Niklas Beisert
|
|
Packit |
c32a2d |
- fixed another ugly bug in layer3 dequantize (wrote over the border
|
|
Packit |
c32a2d |
of the 'xr' field)
|
|
Packit |
c32a2d |
- a minor HPUX clean up
|
|
Packit |
c32a2d |
- added BSD patch from Kevin Brintnall <kbrint@visi.com>
|
|
Packit |
c32a2d |
- added Makefile.win32
|
|
Packit |
c32a2d |
- added NAS big endian fix
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59l: (MH)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- simple equalizer support (to be continued)
|
|
Packit |
c32a2d |
- added NAS patch from Martin Denn <mdenn@unix-ag.uni-kl.de>
|
|
Packit |
c32a2d |
- real mono support
|
|
Packit |
c32a2d |
- added pentium optimized decode_i586 from Stefan Bieschewski <stb@acm.org>
|
|
Packit |
c32a2d |
- fixed a bug in MS dequantize function
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59k: (OF)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- fixed "Accept" header in httpget.c
|
|
Packit |
c32a2d |
- fixed buffer overflow (causing core dumps) in httpget.c
|
|
Packit |
c32a2d |
- fixed display of song length
|
|
Packit |
c32a2d |
- fixed -b (buffer) problem on SGI / IRIX -- it definitely works now
|
|
Packit |
c32a2d |
- fixed problem when files with different sample rates where played,
|
|
Packit |
c32a2d |
it now works with -b (buffer), too
|
|
Packit |
c32a2d |
- fixed order of local variables in decode.c to work around a
|
|
Packit |
c32a2d |
compiler bug in ultrix
|
|
Packit |
c32a2d |
- fixed Makefile for ultrix
|
|
Packit |
c32a2d |
- reverted to old getbits.s (the new one could cause coredumps)
|
|
Packit |
c32a2d |
- more compact MPEG header display in non-verbose mode
|
|
Packit |
c32a2d |
- small fixes in buffer code and elsewhere
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59j: (MH)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- added sajber jukebox control interface (it's currently a big hack)
|
|
Packit |
c32a2d |
(see 'JUKEBOX' file for more)
|
|
Packit |
c32a2d |
- added simple rewind facility .. (only used by sajber interface at the moment)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59i: (MH)
|
|
Packit |
c32a2d |
-----------
|
|
Packit |
c32a2d |
- added front-end (remote) patch from "Brian J. Swetland" <swetland@uiuc.edu>
|
|
Packit |
c32a2d |
- added OS2 patches from Niclas Lindstrom <nil@wineasy.se>
|
|
Packit |
c32a2d |
- fixed 'rewind bug'
|
|
Packit |
c32a2d |
- added patches from Leo Broukhis <leo@zycad.com>
|
|
Packit |
c32a2d |
- added shuffle patch from Tillmann Steinbrecher <tst@gmx.de>
|
|
Packit |
c32a2d |
- added i386-getbits from M.Stekelenburg <m.stekelenburg@student.utwente.nl>
|
|
Packit |
c32a2d |
- added fallback to 8bit if no 16bit samples support (currently linux only)
|
|
Packit |
c32a2d |
- added (slightly changed) outburst patch
|
|
Packit |
c32a2d |
from Antti Andreimann <anttix@cyberix.edu.ee>
|
|
Packit |
c32a2d |
- added 'http accept' patch from Hur TaeSung <saturn@arari.snu.ac.kr>
|
|
Packit |
c32a2d |
- fixed buffer mode bug
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59h: (MH)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- added '--8bit' option to force 'ULAW 8 BIT' playing
|
|
Packit |
c32a2d |
- pcm buffer type changed to 'unsigned char *'
|
|
Packit |
c32a2d |
- plays 2:1 and 4:1 with the real frequency (ie 11025/22050 instead of 44100)
|
|
Packit |
c32a2d |
- program (re)sets (changed) frequency for every frame
|
|
Packit |
c32a2d |
- buffer mode is broken
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59g: (MH)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- added support for MPEG 2.5 (it's a HACK!) .. mpg123 understands and plays
|
|
Packit |
c32a2d |
2.5 but it does it wrong. (you will hear this!)
|
|
Packit |
c32a2d |
- Fixed wrong values in BandInfo struct for 32kHz mode
|
|
Packit |
c32a2d |
- Some performance improvements and minor changes and bug-fixes.
|
|
Packit |
c32a2d |
- Tried the new imdct from the maplay1.2+ (version 1.81) package. (but
|
|
Packit |
c32a2d |
it was slightly slower on my system, currently disabled)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59f: (OF)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- HP-UX audio fix (provided by Damien Clermonte)
|
|
Packit |
c32a2d |
- Buffering (-b option) hopefully fixed. Please test!
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59e:
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- added Audio MPEG 2.0 support (but near untested) (MH)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59d: (MH)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- minor modifications to dct64_i386.c
|
|
Packit |
c32a2d |
- removed duplicated dependency 'dct64.o' in Makefile
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59c: (OF)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Another complete rework of the buffer system (-b option) (normally uses
|
|
Packit |
c32a2d |
mmap(), but it can also use SYSV-ShMem because mmap() is broken on linux).
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.59: (MH)
|
|
Packit |
c32a2d |
-----
|
|
Packit |
c32a2d |
- extracted dct64() from decode*.c files.
|
|
Packit |
c32a2d |
- some changes to dct64() and decode*.c to allow auto-increment/decrement
|
|
Packit |
c32a2d |
- removed bit-counter in getbit-functions. Layer3 part2 now counts it itself.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.58: (OF)
|
|
Packit |
c32a2d |
-----
|
|
Packit |
c32a2d |
- Bugfix: not closing the audio device caused a few samples to be lost.
|
|
Packit |
c32a2d |
- Bugfix: audio_set_rate() was not called (!?!).
|
|
Packit |
c32a2d |
- Additional command line options "--doublespeed" and "--halfspeed" (couldn't
|
|
Packit |
c32a2d |
find better names). See the manpage.
|
|
Packit |
c32a2d |
- Complete redesign of command line options. See the manpage.
|
|
Packit |
c32a2d |
- Changed the buffer algorithm (-b). I'm not sure whether it's better or worse
|
|
Packit |
c32a2d |
now.
|
|
Packit |
c32a2d |
- Supports multiple files on the command line. Pressing Ctrl-C will skip to the
|
|
Packit |
c32a2d |
next MPEG file, pressing it twice within one second will abort mpg123
|
|
Packit |
c32a2d |
completely. See the "INTERRUPT" section in the manpage.
|
|
Packit |
c32a2d |
- Support for http URLs. See also the -p option in the manpage.
|
|
Packit |
c32a2d |
- Support for list files. See also the -@ option in the manpage.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.57: (MH)
|
|
Packit |
c32a2d |
-----
|
|
Packit |
c32a2d |
- Put the downsampling code together with the full quality decode into one
|
|
Packit |
c32a2d |
binary. (new options -2to1,-4to1)
|
|
Packit |
c32a2d |
- Optimizations in the dct12.
|
|
Packit |
c32a2d |
- Removed the 'int' version.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.56: (OF)
|
|
Packit |
c32a2d |
-----
|
|
Packit |
c32a2d |
- Additional command line option "-rs" to try to resync on "broken" MPEG streams
|
|
Packit |
c32a2d |
(now called "--resync" or "-y").
|
|
Packit |
c32a2d |
- Additional command line option "-b" to use audio output buffering. See the
|
|
Packit |
c32a2d |
manpage for additional information.
|
|
Packit |
c32a2d |
- Changed a few variable names and some other minor fixes, so the
|
|
Packit |
c32a2d |
source compiles more cleanly (without warnings) on most platforms (for
|
|
Packit |
c32a2d |
example, the FreeBSD port compiles without warnings using "-Wall -ansi
|
|
Packit |
c32a2d |
-pedantic").
|
|
Packit |
c32a2d |
- Makefile changes: moved "solaris" to "solaris-gcc", new target
|
|
Packit |
c32a2d |
"solaris" (using Sun's SparcWorks cc, faster tha gcc!), new targets
|
|
Packit |
c32a2d |
"aix" and "generic".
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.55:
|
|
Packit |
c32a2d |
-----
|
|
Packit |
c32a2d |
- removed some obsolete code from layer3.c (MH)
|
|
Packit |
c32a2d |
- changed scalefac stoing in layer3 (MH)
|
|
Packit |
c32a2d |
- decode_4to1.c added again. Renamed decode_lp.c to decode_2to1.c (MH)
|
|
Packit |
c32a2d |
(both not optimized .. still expterimental)
|
|
Packit |
c32a2d |
- Minor cleanups and optimizations in layer3. (MH)
|
|
Packit |
c32a2d |
- Removed some (probable) minor bugs. (MH)
|
|
Packit |
c32a2d |
- Changed 2**(...) scaling (and omitted a few muls) (MH)
|
|
Packit |
c32a2d |
- Changed Makefile (OF)
|
|
Packit |
c32a2d |
- Changed dequantize to reorder with a mapping table
|
|
Packit |
c32a2d |
(you can disable this by undefining MAP in layer3.c) (MH)
|
|
Packit |
c32a2d |
- removed the 'dummy' scale step for mixed mode (MH)
|
|
Packit |
c32a2d |
- Changed copy policy (MH)
|
|
Packit |
c32a2d |
- Modified dequant-reorder-mapping (MH)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.54: (MH)
|
|
Packit |
c32a2d |
-----
|
|
Packit |
c32a2d |
- Minor changes in the documents ..
|
|
Packit |
c32a2d |
- huffman.c: x->len,y->len removed .. always '15' for the important cases
|
|
Packit |
c32a2d |
- audio.c: some additions to the SOLARIS audio code
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
0.53b: (OF)
|
|
Packit |
c32a2d |
------
|
|
Packit |
c32a2d |
- Makefile:
|
|
Packit |
c32a2d |
-- Renamed SPARC10 to SUNOS (which is more appropriate).
|
|
Packit |
c32a2d |
Tested with SunOS 4.1.4 on a SPARCstation SLC, 20 MHz (322% CPU,
|
|
Packit |
c32a2d |
so no realtime decoding).
|
|
Packit |
c32a2d |
-- Added SOLARIS. Tested with Solaris 2.5.1 on an Ultra 1, 167 MHz (14%
|
|
Packit |
c32a2d |
CPU), a SPARCstation 5, 110 MHz (47% CPU), and a SPARCstation 10, 33 MHz
|
|
Packit |
c32a2d |
(68% CPU).
|
|
Packit |
c32a2d |
-- Added FreeBSD. Tested with 2.1.7 on a Pentium-90 (38% CPU) and 2.2 on a
|
|
Packit |
c32a2d |
Pentium-166 (20% CPU).
|
|
Packit |
c32a2d |
-- Added Digital Unix. Tested with DU 3.2 on a DEC 3000/500 (Alpha AXP
|
|
Packit |
c32a2d |
150 MHz, 33% CPU). Does not support DEC's audio interface ("AudioFile"),
|
|
Packit |
c32a2d |
decodes to stdout only.
|
|
Packit |
c32a2d |
-- Improved "clean" target to remove core files and editor backup files.
|
|
Packit |
c32a2d |
-- Added "install" target.
|
|
Packit |
c32a2d |
-- Added "dist" target to create a .tar.gz file of the source directory.
|
|
Packit |
c32a2d |
-- In the distributed Makefile, all system sections are commented out. When
|
|
Packit |
c32a2d |
you type "make" without uncommenting one of the sections, an appropriate
|
|
Packit |
c32a2d |
error message will be displayed.
|
|
Packit |
c32a2d |
- audio.c
|
|
Packit |
c32a2d |
Fixed problem when opening /dev/audio on Solaris: I had to remove O_NDELAY,
|
|
Packit |
c32a2d |
because writing to /dev/audio didn't block until the requested number of
|
|
Packit |
c32a2d |
samples could be written, but instead it wrote only as much samples as
|
|
Packit |
c32a2d |
it was able too. Sounded funny. Removing O_NDELAY fixed the problem.
|
|
Packit |
c32a2d |
I don't think that it hurts SunOS either, so I didn't make another #ifdef.
|
|
Packit |
c32a2d |
- common.c
|
|
Packit |
c32a2d |
Fixed bug by adding function finish_output(): The decoder writes the audio
|
|
Packit |
c32a2d |
samples into a buffer, and each time the buffer is full, it is written
|
|
Packit |
c32a2d |
to the audio device (or to stdout). But when the decoding is done,
|
|
Packit |
c32a2d |
there are some samples left in the buffer which aren't written yet --
|
|
Packit |
c32a2d |
they were just discarded. This additional function fixes the problem by
|
|
Packit |
c32a2d |
writing the remaining samples from the buffer. It is called immediately
|
|
Packit |
c32a2d |
after the main frame loop in mpg123.c.
|
|
Packit |
c32a2d |
- decode*.c
|
|
Packit |
c32a2d |
Fixed compiler warning on symbol "div": Some compilers issue warnings
|
|
Packit |
c32a2d |
because the symbol div is already used for something else (see "man div"),
|
|
Packit |
c32a2d |
so I changed it to "divv".
|
|
Packit |
c32a2d |
- layer*.c Functions do_layer*:
|
|
Packit |
c32a2d |
-- Moved the declaration for audio_play_samples into mpg123.h. Makes the
|
|
Packit |
c32a2d |
code cleaner.
|
|
Packit |
c32a2d |
-- I moved the variables pcm_samples and pcm_point to common.c, so they are
|
|
Packit |
c32a2d |
shared between all modules. This was necessary because the finish_output()
|
|
Packit |
c32a2d |
function (see common.c above) needs to access them.
|
|
Packit |
c32a2d |
-- Renamed loop variables "i" and "j" to "k" in order to fix compiler warnings
|
|
Packit |
c32a2d |
for duplicate/hidden symbols (similar to "div" in decode*.c, see above).
|
|
Packit |
c32a2d |
Changed the preprocessor symbol AUDIOBUFSIZE into a global variable
|
|
Packit |
c32a2d |
"audiobufsize". This makes it possible to change it by a command
|
|
Packit |
c32a2d |
line option.
|
|
Packit |
c32a2d |
- layer1.c
|
|
Packit |
c32a2d |
Fixed error in function I_step_one, second parameter: unsigned int
|
|
Packit |
c32a2d |
scale_index[2][] --> ...[2][SBLIMIT] This caused an error with the DU
|
|
Packit |
c32a2d |
compiler (which is ok, because [2][] is incorrect according to ANSI).
|
|
Packit |
c32a2d |
I don't know whether [2][SBLIMIT] actually works correctly (I have no
|
|
Packit |
c32a2d |
layer-1 streams to test it), but at least it compiles without error, and
|
|
Packit |
c32a2d |
it appears to be correct (looking at the rest of the source). Heaven knows
|
|
Packit |
c32a2d |
why gcc doesn't issue an error, and what it actually makes from it.
|
|
Packit |
c32a2d |
- mpg123.1
|
|
Packit |
c32a2d |
A simple manual page. Type "nroff -man mpg123.1 | more" to view it, or
|
|
Packit |
c32a2d |
install it in /usr/local/man/man1 (this is done automatically by "make
|
|
Packit |
c32a2d |
install").
|
|
Packit |
c32a2d |
- mpg123.c
|
|
Packit |
c32a2d |
New boolean variable "quiet": If this variable is set to TRUE (command line
|
|
Packit |
c32a2d |
option -q), no messages are printed.
|