~ubuntu-branches/ubuntu/lucid/mpg123/lucid

« back to all changes in this revision

Viewing changes to NEWS

Tags: upstream-0.60
ImportĀ upstreamĀ versionĀ 0.60

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
0.60 final (The Team!)
 
2
-----
 
3
 
 
4
- no functional changes
 
5
 
 
6
0.60-beta6 (Thomas Orgis)
 
7
-----
 
8
 
 
9
- more use of ID3v2 tags, mpg123 now displays both (merged) info from ID3v2 and ID3v1; trying to support both ID3v2.3 and ID3v2.4, but ignoring encoding (UTF8 should still work if your terminal supports it, straight unicode should work except for parsing genre numbers and multiline strings)
 
10
 
 
11
0.60-beta5 (Thomas Orgis)
 
12
-----
 
13
 
 
14
- more robust playlist support:
 
15
  -> path/url length not limited to 1023 characters anymore
 
16
  -> reading in of whole playlist at program start (old operation was not really safe with playlist from http)
 
17
  -> fixed bug where reading of playlist form stdin caused segfault (introduced with the pls format support)
 
18
- smaller cleanups, screen output cosmetics
 
19
 
 
20
0.60-beta4 (Nicholas Humfrey & Thomas Orgis)
 
21
-----
 
22
 
 
23
- proper seeking, also for VBR streams
 
24
- real two-way seeking in remote control mode at all
 
25
- better estimates of remaining frames (on vbr files), exact if Xing header is found
 
26
- Removed libao support (as it is GPL and we aren't - and we don't need it with native Alsa)
 
27
- Added ALSA 0.9/1.0 support by Clemens Ladisch (old alsa is in audio_alsa05.c but will most likely vanish soon)
 
28
- Added PortAudio audio-output support
 
29
- Added SDL audio-output support
 
30
- Fixed NAS audio-output support
 
31
- re-enabled MPEG 2.5, code just seems to work
 
32
- improved stream checking; being more willing in general (favor resync instead of bail out) but directly give up if free format stream is obvious
 
33
- Whee! Initial Relative Volume Adjustment (buzz) support with reading of ReplayGain values in lame/info tag, the RVA2 frames in ID3v2.4, ID3v2 TXXX tags from foobar2000 (please test, someone!) and custom ID3v2.3 comments entitled RVA / RVA_ALBUM / RVA_AUDIOPHILE / RVA_RADIO / RVA_MIX
 
34
- more persistence in trying to get http streams
 
35
 
 
36
0.60-beta3 (Thomas Orgis)
 
37
-----
 
38
 
 
39
- fixed bug with segfault in http code on stream from live365.com - bug id 1529266
 
40
- made http request HTTP/1.0 compilant again (tested only without proxy) - bug id 1529319
 
41
- now using http content-type header to check for correct types mpg123 can understand
 
42
  -> you can now always use -@ for a single http resource (direct stream or playlist) since a stream will be reopened based on MIME type,
 
43
  though omitting it will save you one http request to the server in the direct stream case...
 
44
- now simple parsing of shoutcast pls playlists (how did you people use shoutcast before?)
 
45
- playlist mode enhanced with selective playback of one entry in list (--listentry parameter)
 
46
 
 
47
 
 
48
0.60-beta2 (Thomas Orgis)
 
49
-----
 
50
 
 
51
- fixed bug in terminal control mode that caused the f key to quit program isntead of advance to next file (introduced by the first attempt to restore "normal" Ctrl+C behaviour in terminal control mode)
 
52
 
 
53
0.60-beta1 (Thomas Orgis & Nicholas Humfrey)
 
54
-----
 
55
 
 
56
On the way to the first new offical realease since years!
 
57
 
 
58
- new license: all LGPL except the old audio_alsa.c
 
59
- merge with Nicholas' sourceforge package
 
60
        - autooled configure/make system
 
61
        - MacOSX, Jack, libao (alsa 0.9/1.x support through that)
 
62
- experimental gapless playback for layer 3
 
63
- merged in MMX and AltiVec optimizations
 
64
- security bug fix of GLSA 200607-01 and catching possible crashes found by fuzzing 
 
65
- fixed many issues here and there
 
66
- polished help messages, updated man page...
 
67
 
 
68
UNDERGROUND 0.59r-thor7 (well, I'm going to release a _really_ official mpg123 in future) (Thomas Orgis <thomas@orgis.org>)
 
69
-----
 
70
 
 
71
- applied relevant stuff from Debian's 22:
 
72
        - fix for CVE-2006-1655 (buffer overflow in III_i_stereo())
 
73
        - strict aliasing hack in WRITE_SAMPLE of decode_i386.c
 
74
        - fixed http streaming through proxy by actually using the request url...
 
75
        - buffer resync on Ctrl-C (cleaning, reducing pauses with multiple files)
 
76
        - removed unused esdserver variable from mpg123.h
 
77
        - did NOT apply the Debian Makefile/manpage changes (going to rewrite that stuff anyway)
 
78
- made the netbsd-i386 targets visible as netbsd-x86
 
79
 
 
80
UNOFFICIAL 0.59r-thor6 (Thomas Orgis <thomas@orgis.org>)
 
81
-----
 
82
 
 
83
- split nedbsd targets for realtime priority selection code; since one needs -lpthread with it. standard netbsd target doesn't use realtime code -- I won't recommend running mpg123 as root anyway!
 
84
 
 
85
UNOFFICIAL 0.59r-thor5 (Thomas Orgis <thomas@orgis.org>)
 
86
-----
 
87
 
 
88
- Separated the the use of char* equalfile as filename from the use as TRUE/FALSE flag by introducing int have_eq_settings. Compilers kept nagging about assigning and integer (TRUE) to char* ... and it feels more right this way.
 
89
 
 
90
- Made control_generic aware of real being possibly different than float (seq command used to raise an FPE on OSF1 when this assumption was not the case.
 
91
 
 
92
- Fixed the command line arg parsing to work properly on Alpha (32 and 64 bit mixup)
 
93
 
 
94
UNOFFICIAL 0.59r-thor4 (Thomas Orgis <thomas@orgis.org>)
 
95
-----
 
96
 
 
97
- merged with 0.59r-19 from Debian project (Daniel Kobras <kobras@debian.org>), hopefully fixing all those security vulnerabilities
 
98
        -> my dirty http_open and open_stream variants now replaced by more proper code
 
99
        -> still my (rather workloaded) parsing/processing in control_generic, but now including the idea to watch out for \n, \r\n and \r (or \n\r, for that matter;-)
 
100
 
 
101
UNOFFICIAL 0.59r-thor3 (Thomas Orgis <thomas@orgis.org>)
 
102
-----
 
103
 
 
104
- hacked additional variants of http_open and open_stream that return errors instead of exit()ing; makes more sense when used by a frontend
 
105
- further cleanup (and return to using continue instead of nested if(){}else{if()else{}}) in command processing, better error messages there
 
106
 
 
107
UNOFFICIAL 0.59r-ThOr(remote-err,eq,flushing) (Thomas Orgis <thomas@orgis.org>)
 
108
-----
 
109
-added audio_flush() calls to various places in control_generic.c to make sure there is nothing left in there that hurts later (not sure if this has effects)
 
110
-(re?)enabled (?) code for stream info
 
111
-corrected answer of JUMP (now gives actual reached position, +/- 1 frame since I'll still have to figure out what frame 0 really is...)
 
112
 
 
113
UNOFFICIAL 0.59r-realeq-remoteerr: (Thomas Orgis <thomas@orgis.org>)
 
114
-----
 
115
- applied patch from Cool Feet Audio project (nutcase@dtfm.org, see README.cfa) to use real-time equalizer in remote mode
 
116
- applied patch from AMF (amf.sourceforge.net) by Steve Grundell for remote communication not polluting the STDOUT where the audio data is read from (instead using STDERR) ... and faster seeking, maybe
 
117
  The patches go not cleanly together, but rejects are trivial. Thus, a combined patch with both would makes sense.
 
118
- modified (IMHO improved) the control_generic command reading: now always making sure that the full command is read up to a mandatory \n; also reworked the application of the commands afterwards
 
119
- added SEQ command: simple eq with only 3 bands
 
120
- added SILENCE command: I don't want the playback messages when I don't read them (since my frontend is reading the STDOUT it knows what is going on)
 
121
- added SLJ command: SILENCE-LOAD-JUMP... a hack for my hacked mixplayd... maybe one should remove that again.
 
122
 
 
123
0.59r: (MH)
 
124
-----
 
125
- applied audio_alib changes from Ralf Hildebrandt <R.Hildebrandt@TU-BS.DE>
 
126
- some 'paetsches' from DK
 
127
- minor optimizations in layer3 (dequantize/huffman) 
 
128
- BSDOS 4.0 with gcc added to Makefile (<sms@moe.2bsd.com>)
 
129
- Solaris-ESD patch from Ryan Prosser <prosser@wam.umd.edu>
 
130
- Added Frontend changes from Bertrand Petit <elrond@phoe.netdev.net>
 
131
- more DK 'paetsches' (final dk7-clubhaus edition), includes extended term 
 
132
  control
 
133
- SGI audio fix for non RAD machines from Erik Mouw <J.A.K.Mouw@its.tudelft.nl>
 
134
- fixed ugly bug in layer3 dequant for bt==2 (may cause high frequency clitchs)
 
135
- AMD-3DNow optimizations in decode and dct64
 
136
- OS/2 reworked from Samuel Audet (see audio_os2.c for more)
 
137
- added freebsd-esd make-entry from Daniel O'Connor (darius@guppy.dons.net.au)
 
138
- added enhanced head_check from D. Skarda <0rfelyus@atrey.karlin.mff.cuni.cz>
 
139
- applied 'xterm-title-patch' from "Wilson, Jeff D" <jeff.wilson@wilcom.com>
 
140
- more esd changes from Robert Bihlmeyer <robbe@orcus.priv.at>
 
141
- applied Hannu Napari's <Hannu.Napari@hut.fi> SGI audio patches
 
142
- minor changes in httpget.c and mpg123.c 
 
143
- added native AIX support from Juergen.Schoew@unix-ag.uni-siegen.de
 
144
- applied playlist patch from <psst@euskalnet.net>
 
145
- more SGI audio patches from Gilles Zunino <Gilles.Zunino@hei.fupl.asso.fr>
 
146
- applied esdserver patch from Matthew Parslow <roy@alpha.alphalink.com.au>
 
147
- added some fixes for control_generic
 
148
 
 
149
0.59q: (MH)
 
150
------
 
151
- ESD fixes
 
152
- minor bugfixes (DK patch ;)
 
153
- au and cdr 'support' (it's a hack)
 
154
- Fixed 'VBR' Bug in get_scale_fac1(). Thanx to <ssonique@hotmail.com> for
 
155
  this. (Wasn't really a VBR Bug. The new encoders just triggered it.)
 
156
- Added equalizer patch from <dlux@dlux.sch.bme.hu>
 
157
 
 
158
0.59p: (MH)
 
159
------
 
160
- Added mpglib (see mpglib directory)
 
161
- 'make generic' is more generic now
 
162
- Added HPUX/ALib support from Ducroquet Erwan (ducroque@ufr-info-p7.ibp.fr) 
 
163
- Added EsoundD support from <fill it in>
 
164
- Added exp. relatime support (compile with -DSET_RT) 
 
165
- Added linux-sparc patch from <hmm lost email)
 
166
- Added genrepatch from Shane Wegner <shane@CM.NU>
 
167
- Added wav-File patch Samuel Audet <guardia@cam.org>
 
168
- Added SGI-RAD support from "J. Dean Brederson" <jdb@cs.utah.edu>
 
169
- Added sajberplay/FreeBSD patch from Chou Ye-chi <is84002@cis.nctu.edu.tw>
 
170
- Added 486 optimizations from Fabrice Bellard <bellard@email.enst.fr>
 
171
- Added combined output devices on SUN (ie Speaker and headphones together)
 
172
- Added audio_alsa.c (under GPL license) for the ALSA sound system from
 
173
   A. Hermansen <ahermans@vf.telia.no> and J. Kysela <perex@jcu.cz>
 
174
- Added K6-3DNow patches from  KIMURA Takuhiro <kim@hannah.ipc.miyakyo-u.ac.jp>
 
175
- Added MINT patches from Petr Stehlik <stehlik@cas3.zlin.vutbr.cz>
 
176
- Fixed minor bug for linux-i486 and mono 
 
177
 
 
178
0.59o: (MH)
 
179
------
 
180
- fixed Bug with stereo streams on mono audio hardware for OSS
 
181
- fixed a bug with mono output and 1:1 (no) rate conversion
 
182
- again changes in the probe code
 
183
- fix in the buffer code for the case, that audio parameters are changing
 
184
- more changes to the flexibel rate converter, should now work when
 
185
  writing to STDOUT.
 
186
- Added Andy's (<andy@snoogie.demon.co.uk>) float2int speed up proposal 
 
187
  (check WRITE_SAMPLE in decode_i386.c) .. Maybe someone wanna take the 
 
188
  idea and put it into the decode_i586.s part?
 
189
- Added TK3Play support from Brian Foutz <foutz@anise.ee.cornell.edu>
 
190
  (compiles but untested)
 
191
- RIFF Header fix (according to Thomas Niederreiter's
 
192
  <tn@tarantel.rz.fh-muenchen.de> patch)
 
193
- m68k patch from Stefan Gybas <cab@studbox.uni-stuttgart.de> applied
 
194
- minor additional PPC changes applied
 
195
- resync and EOF hang fixed
 
196
- resync and bitrate correction relaxed 
 
197
- Slightly change verbose output; added countdown
 
198
 
 
199
 
 
200
0.59n: (MH)
 
201
------
 
202
- fixed shuffle bug
 
203
- added memory mapped IO for file reading
 
204
- added MPEG 2.5 12kHz and 8kHz table entry
 
205
- started flexibel rate conversion .. 
 
206
- new '-Z' / '--random' option 
 
207
- minor clean-up
 
208
- splitted audio file in audio system dependend smaller parts
 
209
- started system stream support (external program: system.c)
 
210
- unsigned 8 bit (instead of ulaw) is now default for 8bit operation
 
211
- Linux PPC patch from Grant Erickson <eric0139@tc.umn.edu> applied
 
212
- added BSDi patch from Peter Berger <peterb@hoopoe.psc.edu>, who reported
 
213
  a failure when catching signals
 
214
- minor bug fix in the control interface for sajber jukebox
 
215
- fixed the ugly 'Ctrl-Z in buffer mode' bug .. YES ;)
 
216
- added buffer preload when underrun occurs (preload = 1/8 buffer size)
 
217
- minor SUN audio clean up
 
218
 
 
219
0.59m: (MH)
 
220
------
 
221
- Bug with RIFF header streams fixed.
 
222
- HTTP auth option patch from Henrik P Johnson <king@one.se>
 
223
- NetBSD patch(s) added from <mycroft@NetBSD.ORG> and <augustss@cs.chalmers.se>
 
224
- Added advanced shuffle support from Steven Tiger Lang <tiger@tyger.org>
 
225
- fixed bug with too large big_value field 
 
226
- fixed (hopefully) the bug with the '-a' option 
 
227
- work-around for some pedantic compilers in fr->synth init
 
228
- some changes for the 'generic' version
 
229
- applied NAS bug-fix patch
 
230
- new (good) MPEG 2.5 tables (from Niklas Beisert)
 
231
- added WIN32 support from Tony Million
 
232
- added some bug fixes from Niklas Beisert
 
233
- fixed another ugly bug in layer3 dequantize (wrote over the border
 
234
  of the 'xr' field)
 
235
- a minor HPUX clean up
 
236
- added BSD patch from Kevin Brintnall <kbrint@visi.com>
 
237
- added Makefile.win32
 
238
- added NAS big endian fix
 
239
 
 
240
 
 
241
0.59l: (MH)
 
242
------
 
243
- simple equalizer support (to be continued)
 
244
- added NAS patch from Martin Denn <mdenn@unix-ag.uni-kl.de>
 
245
- real mono support
 
246
- added pentium optimized decode_i586 from Stefan Bieschewski <stb@acm.org>
 
247
- fixed a bug in MS dequantize function 
 
248
 
 
249
 
 
250
0.59k: (OF)
 
251
------
 
252
- fixed "Accept" header in httpget.c
 
253
- fixed buffer overflow (causing core dumps) in httpget.c
 
254
- fixed display of song length
 
255
- fixed -b (buffer) problem on SGI / IRIX -- it definitely works now
 
256
- fixed problem when files with different sample rates where played,
 
257
  it now works with -b (buffer), too
 
258
- fixed order of local variables in decode.c to work around a
 
259
  compiler bug in ultrix
 
260
- fixed Makefile for ultrix
 
261
- reverted to old getbits.s (the new one could cause coredumps)
 
262
- more compact MPEG header display in non-verbose mode
 
263
- small fixes in buffer code and elsewhere
 
264
 
 
265
 
 
266
0.59j: (MH)
 
267
------
 
268
- added sajber jukebox control interface (it's currently a big hack)
 
269
  (see 'JUKEBOX' file for more)
 
270
- added simple rewind facility .. (only used by sajber interface at the moment)
 
271
 
 
272
 
 
273
0.59i: (MH)
 
274
-----------
 
275
- added front-end (remote) patch from "Brian J. Swetland" <swetland@uiuc.edu>
 
276
- added OS2 patches from Niclas Lindstrom <nil@wineasy.se>
 
277
- fixed 'rewind bug'
 
278
- added patches from Leo Broukhis <leo@zycad.com>
 
279
- added shuffle patch from Tillmann Steinbrecher <tst@gmx.de>
 
280
- added i386-getbits from M.Stekelenburg <m.stekelenburg@student.utwente.nl>
 
281
- added fallback to 8bit if no 16bit samples support (currently linux only)
 
282
- added (slightly changed) outburst patch
 
283
  from Antti Andreimann <anttix@cyberix.edu.ee>
 
284
- added 'http accept' patch from Hur TaeSung <saturn@arari.snu.ac.kr>
 
285
- fixed buffer mode bug 
 
286
 
 
287
 
 
288
0.59h: (MH)
 
289
------
 
290
- added '--8bit' option to force 'ULAW 8 BIT' playing
 
291
- pcm buffer type changed to 'unsigned char *' 
 
292
- plays 2:1 and 4:1 with the real frequency (ie 11025/22050 instead
 
293
  of 44100)
 
294
- program (re)sets (changed) frequency for every frame
 
295
- buffer mode is broken
 
296
 
 
297
 
 
298
0.59g: (MH)
 
299
------
 
300
- added support for MPEG 2.5 (it's a HACK!) .. mpg123 understands and plays
 
301
  2.5 but it does it wrong. (you will hear this!) 
 
302
- Fixed wrong values in BandInfo struct for 32kHz mode
 
303
- Some performance improvements and minor changes and bug-fixes.
 
304
- Tried the new imdct from the maplay1.2+ (version 1.81) package. (but 
 
305
  it was slightly slower on my system, currently disabled)
 
306
 
 
307
 
 
308
0.59f: (OF)
 
309
------
 
310
- HP-UX audio fix (provided by Damien Clermonte)
 
311
- Buffering (-b option) hopefully fixed.  Please test!
 
312
 
 
313
 
 
314
0.59e:
 
315
------
 
316
- added Audio MPEG 2.0 support (but near untested) (MH)
 
317
 
 
318
 
 
319
0.59d: (MH)
 
320
------
 
321
- minor modifications to dct64_i386.c
 
322
- removed duplicated dependency 'dct64.o' in Makefile
 
323
 
 
324
 
 
325
0.59c: (OF)
 
326
------
 
327
Another complete rework of the buffer system (-b option)
 
328
   (normally uses mmap(), but it can also use SYSV-ShMem because
 
329
   mmap() is broken on linux).
 
330
 
 
331
0.59: (MH)
 
332
-----
 
333
extracted dct64() from decode*.c files.
 
334
some changes to dct64() and decode*.c to allow auto-increment/decrement
 
335
removed bit-counter in getbit-functions. Layer3 part2 now counts it itself.
 
336
 
 
337
0.58: (OF)
 
338
-----
 
339
Bugfix: not closing the audio device caused a few samples to be lost.
 
340
Bugfix: audio_set_rate() was not called (!?!).
 
341
Additional command line options "--doublespeed" and "--halfspeed"
 
342
   (couldn't find better names).  See the manpage.
 
343
Complete redesign of command line options.  See the manpage.
 
344
Changed the buffer algorithm (-b).  I'm not sure whether it's better
 
345
   or worse now.
 
346
Supports multiple files on the command line.  Pressing Ctrl-C will
 
347
   skip to the next MPEG file, pressing it twice within one second
 
348
   will abort mpg123 completely.  See the "INTERRUPT" section in the
 
349
   manpage.
 
350
Support for http URLs.  See also the -p option in the manpage.
 
351
Support for list files.  See also the -@ option in the manpage.
 
352
 
 
353
0.57: (MH)
 
354
-----
 
355
Put the downsampling code together with the full
 
356
  quality decode into one binary. (new options -2to1,-4to1)
 
357
Optimizations in the dct12.
 
358
Removed the 'int' version.
 
359
 
 
360
0.56: (OF)
 
361
-----
 
362
Additional command line option "-rs" to try to resync on
 
363
   "broken" MPEG streams (now called "--resync" or "-y").
 
364
Additional command line option "-b" to use audio output buffering.
 
365
   See the manpage for additional information.
 
366
Changed a few variable names and some other minor fixes, so the
 
367
   source compiles more cleanly (without warnings) on most
 
368
   platforms (for example, the FreeBSD port compiles without
 
369
   warnings using "-Wall -ansi -pedantic").
 
370
Makefile changes: moved "solaris" to "solaris-gcc", new target
 
371
   "solaris" (using Sun's SparcWorks cc, faster tha gcc!), new
 
372
   targets "aix" and "generic".
 
373
 
 
374
0.55: 
 
375
-----
 
376
removed some obsolete code from layer3.c (MH)
 
377
changed scalefac stoing in layer3 (MH)
 
378
decode_4to1.c added again. Renamed decode_lp.c to decode_2to1.c (MH)
 
379
(both not optimized .. still expterimental)
 
380
Minor cleanups and optimizations in layer3. (MH)
 
381
Removed some (probable) minor bugs. (MH)
 
382
Changed 2**(...) scaling (and omitted a few muls) (MH)
 
383
Changed Makefile (OF)
 
384
Changed dequantize to reorder with a mapping table 
 
385
   (you can disable this by undefining MAP in layer3.c) (MH)
 
386
removed the 'dummy' scale step for mixed mode (MH)
 
387
Changed copy policy (MH)
 
388
Modified dequant-reorder-mapping (MH)
 
389
 
 
390
0.54: (MH)
 
391
-----
 
392
Minor changes in the documents .. 
 
393
huffman.c: x->len,y->len removed .. always '15' for the important cases
 
394
audio.c: some additions to the SOLARIS audio code
 
395
 
 
396
0.53b: (OF)
 
397
------
 
398
Makefile:
 
399
 
 
400
    Renamed SPARC10 to SUNOS (which is more appropriate).
 
401
        Tested with SunOS 4.1.4 on a SPARCstation SLC, 20 MHz
 
402
        (322% CPU, so no realtime decoding).
 
403
    Added SOLARIS.  Tested with Solaris 2.5.1 on an Ultra 1,
 
404
        167 MHz (14% CPU), a SPARCstation 5, 110 MHz (47% CPU),
 
405
        and a SPARCstation 10, 33 MHz (68% CPU).
 
406
    Added FreeBSD.  Tested with 2.1.7 on a Pentium-90 (38% CPU)
 
407
        and 2.2 on a Pentium-166 (20% CPU).
 
408
    Added Digital Unix.  Tested with DU 3.2 on a DEC 3000/500
 
409
        (Alpha AXP 150 MHz, 33% CPU).  Does not support DEC's
 
410
        audio interface ("AudioFile"), decodes to stdout only.
 
411
    Improved "clean" target to remove core files and editor
 
412
        backup files.
 
413
    Added "install" target.
 
414
    Added "dist" target to create a .tar.gz file of the source
 
415
        directory.
 
416
    
 
417
    In the distributed Makefile, all system sections are
 
418
    commented out.  When you type "make" without uncommenting
 
419
    one of the sections, an appropriate error message will
 
420
    be displayed.
 
421
 
 
422
audio.c
 
423
 
 
424
    Fixed problem when opening /dev/audio on Solaris:
 
425
        I had to remove O_NDELAY, because writing to /dev/audio
 
426
        didn't block until the requested number of samples
 
427
        could be written, but instead it wrote only as much
 
428
        samples as it was able too.  Sounded funny.  Removing
 
429
        O_NDELAY fixed the problem.  I don't think that it
 
430
        hurts SunOS either, so I didn't make another #ifdef.
 
431
 
 
432
common.c
 
433
 
 
434
    Fixed bug by adding function finish_output():
 
435
        The decoder writes the audio samples into a buffer, and
 
436
        each time the buffer is full, it is written to the
 
437
        audio device (or to stdout).  But when the decoding is
 
438
        done, there are some samples left in the buffer which
 
439
        aren't written yet -- they were just discarded.
 
440
        This additional function fixes the problem by writing
 
441
        the remaining samples from the buffer.  It is called
 
442
        immediately after the main frame loop in mpg123.c.
 
443
 
 
444
decode*.c
 
445
 
 
446
    Fixed compiler warning on symbol "div":
 
447
        Some compilers issue warnings because the symbol div is
 
448
        already used for something else (see "man div"), so I
 
449
        changed it to "divv".
 
450
 
 
451
layer*.c
 
452
 
 
453
    Functions do_layer*:
 
454
        Moved the declaration for audio_play_samples into
 
455
        mpg123.h.  Makes the code cleaner.
 
456
 
 
457
        I moved the variables pcm_samples and pcm_point to
 
458
        common.c, so they are shared between all modules.  This
 
459
        was necessary because the finish_output() function
 
460
        (see common.c above) needs to access them.
 
461
 
 
462
        Renamed loop variables "i" and "j" to "k" in order to
 
463
        fix compiler warnings for duplicate/hidden symbols
 
464
        (similar to "div" in decode*.c, see above).
 
465
 
 
466
        Changed the preprocessor symbol AUDIOBUFSIZE into a
 
467
        global variable "audiobufsize".  This makes it possible
 
468
        to change it by a command line option.
 
469
 
 
470
layer1.c
 
471
 
 
472
    Fixed error in function I_step_one, second parameter:
 
473
        unsigned int scale_index[2][]  -->  ...[2][SBLIMIT]
 
474
        This caused an error with the DU compiler (which is ok,
 
475
        because [2][] is incorrect according to ANSI).  I don't
 
476
        know whether [2][SBLIMIT] actually works correctly (I
 
477
        have no layer-1 streams to test it), but at least it
 
478
        compiles without error, and it appears to be correct
 
479
        (looking at the rest of the source).  Heaven knows why
 
480
        gcc doesn't issue an error, and what it actually makes
 
481
        from it.
 
482
 
 
483
mpg123.1
 
484
 
 
485
    A simple manual page.  Type "nroff -man mpg123.1 | more"
 
486
    to view it, or install it in /usr/local/man/man1 (this is
 
487
    done automatically by "make install").
 
488
 
 
489
mpg123.c
 
490
 
 
491
    New boolean variable "quiet":
 
492
        If this variable is set to TRUE (command line option
 
493
        -q), no messages are printed.
 
494
 
 
495
***
 
496