Audio-Play-MPG123
view release on metacpan or search on metacpan
mpg123/CHANGES view on Meta::CPAN
0.57: (MH)
-----
Put the downsampling code together with the full
quality decode into one binary. (new options -2to1,-4to1)
Optimizations in the dct12.
Removed the 'int' version.
0.56: (OF)
-----
Additional command line option "-rs" to try to resync on
"broken" MPEG streams (now called "--resync" or "-y").
Additional command line option "-b" to use audio output buffering.
See the manpage for additional information.
Changed a few variable names and some other minor fixes, so the
source compiles more cleanly (without warnings) on most
platforms (for example, the FreeBSD port compiles without
warnings using "-Wall -ansi -pedantic").
Makefile changes: moved "solaris" to "solaris-gcc", new target
"solaris" (using Sun's SparcWorks cc, faster tha gcc!), new
targets "aix" and "generic".
0.55:
-----
removed some obsolete code from layer3.c (MH)
changed scalefac stoing in layer3 (MH)
decode_4to1.c added again. Renamed decode_lp.c to decode_2to1.c (MH)
(both not optimized .. still expterimental)
Minor cleanups and optimizations in layer3. (MH)
Removed some (probable) minor bugs. (MH)
Changed 2**(...) scaling (and omitted a few muls) (MH)
Changed Makefile (OF)
Changed dequantize to reorder with a mapping table
(you can disable this by undefining MAP in layer3.c) (MH)
removed the 'dummy' scale step for mixed mode (MH)
Changed copy policy (MH)
Modified dequant-reorder-mapping (MH)
0.54: (MH)
-----
Minor changes in the documents ..
huffman.c: x->len,y->len removed .. always '15' for the important cases
audio.c: some additions to the SOLARIS audio code
0.53b: (OF)
------
Makefile:
Renamed SPARC10 to SUNOS (which is more appropriate).
Tested with SunOS 4.1.4 on a SPARCstation SLC, 20 MHz
(322% CPU, so no realtime decoding).
Added SOLARIS. Tested with Solaris 2.5.1 on an Ultra 1,
167 MHz (14% CPU), a SPARCstation 5, 110 MHz (47% CPU),
and a SPARCstation 10, 33 MHz (68% CPU).
Added FreeBSD. Tested with 2.1.7 on a Pentium-90 (38% CPU)
and 2.2 on a Pentium-166 (20% CPU).
Added Digital Unix. Tested with DU 3.2 on a DEC 3000/500
(Alpha AXP 150 MHz, 33% CPU). Does not support DEC's
audio interface ("AudioFile"), decodes to stdout only.
Improved "clean" target to remove core files and editor
backup files.
Added "install" target.
Added "dist" target to create a .tar.gz file of the source
directory.
In the distributed Makefile, all system sections are
commented out. When you type "make" without uncommenting
one of the sections, an appropriate error message will
be displayed.
audio.c
Fixed problem when opening /dev/audio on Solaris:
I had to remove O_NDELAY, because writing to /dev/audio
didn't block until the requested number of samples
could be written, but instead it wrote only as much
samples as it was able too. Sounded funny. Removing
O_NDELAY fixed the problem. I don't think that it
hurts SunOS either, so I didn't make another #ifdef.
common.c
Fixed bug by adding function finish_output():
The decoder writes the audio samples into a buffer, and
each time the buffer is full, it is written to the
audio device (or to stdout). But when the decoding is
done, there are some samples left in the buffer which
aren't written yet -- they were just discarded.
This additional function fixes the problem by writing
the remaining samples from the buffer. It is called
immediately after the main frame loop in mpg123.c.
decode*.c
Fixed compiler warning on symbol "div":
Some compilers issue warnings because the symbol div is
already used for something else (see "man div"), so I
changed it to "divv".
layer*.c
Functions do_layer*:
Moved the declaration for audio_play_samples into
mpg123.h. Makes the code cleaner.
I moved the variables pcm_samples and pcm_point to
common.c, so they are shared between all modules. This
was necessary because the finish_output() function
(see common.c above) needs to access them.
Renamed loop variables "i" and "j" to "k" in order to
fix compiler warnings for duplicate/hidden symbols
(similar to "div" in decode*.c, see above).
Changed the preprocessor symbol AUDIOBUFSIZE into a
global variable "audiobufsize". This makes it possible
to change it by a command line option.
layer1.c
Fixed error in function I_step_one, second parameter:
( run in 2.592 seconds using v1.01-cache-2.11-cpan-364913b4093 )