2025-12-01 18:38  thor

	* src/term.c: indent typo

2025-12-01 18:06  thor

	* NEWS, src/term.c, src/term_posix.c, src/term_win32.c,
	  src/terms.h: mpg123: first attempt at ignoring escape sequences

2025-10-05 20:58  thor

	* NEWS, src/version.h: preparing 1.33.3

2025-09-13 19:26  thor

	* src/libmpg123/mangle.h: libmpg123: use __ANDROID__ as more
	  reliable macro that also works with cmake and .S (bug 280)

2025-09-13 19:25  thor

	* src/libmpg123/dct36_avx.S, src/libmpg123/dct36_neon64.S,
	  src/libmpg123/dct36_sse.S, src/libmpg123/dct36_x86_64.S,
	  src/libmpg123/dct64_3dnowext.S, src/libmpg123/dct64_avx.S,
	  src/libmpg123/dct64_avx_float.S, src/libmpg123/dct64_neon64.S,
	  src/libmpg123/dct64_neon64_float.S, src/libmpg123/dct64_sse.S,
	  src/libmpg123/dct64_sse_float.S, src/libmpg123/dct64_x86_64.S,
	  src/libmpg123/dct64_x86_64_float.S, src/libmpg123/mangle.h,
	  src/libmpg123/synth_3dnow.S, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586_dither.S, src/libmpg123/synth_neon64.S,
	  src/libmpg123/synth_neon64_accurate.S,
	  src/libmpg123/synth_neon64_float.S,
	  src/libmpg123/synth_neon64_s32.S,
	  src/libmpg123/synth_sse_accurate.S,
	  src/libmpg123/synth_sse_float.S, src/libmpg123/synth_sse_s32.S,
	  src/libmpg123/synth_stereo_avx_accurate.S,
	  src/libmpg123/synth_stereo_avx_float.S,
	  src/libmpg123/synth_stereo_avx_s32.S,
	  src/libmpg123/synth_stereo_neon64.S,
	  src/libmpg123/synth_stereo_neon64_accurate.S,
	  src/libmpg123/synth_stereo_neon64_float.S,
	  src/libmpg123/synth_stereo_neon64_s32.S,
	  src/libmpg123/synth_stereo_sse_accurate.S,
	  src/libmpg123/synth_stereo_sse_float.S,
	  src/libmpg123/synth_stereo_sse_s32.S,
	  src/libmpg123/synth_stereo_x86_64.S,
	  src/libmpg123/synth_stereo_x86_64_accurate.S,
	  src/libmpg123/synth_stereo_x86_64_float.S,
	  src/libmpg123/synth_stereo_x86_64_s32.S,
	  src/libmpg123/synth_x86_64.S,
	  src/libmpg123/synth_x86_64_accurate.S,
	  src/libmpg123/synth_x86_64_float.S,
	  src/libmpg123/synth_x86_64_s32.S, src/libmpg123/tabinit_mmx.S:
	  libmpg123: consolidate .rodata stuff into one macro

2025-08-05 06:44  thor

	* src/include/mpg123.h: libmpg123: add hint about
	  MPG123_STORE_RAW_ID3 + MPG123_SKIP_ID3

2025-07-31 19:56  thor

	* src/libmpg123/id3.c: libmpg123: fix store_id3_text() to prepend
	  encoding for MPG123_PLAIN_ID3TEXT
	  
	  … fixing the regression introduced by the fix for bug 279.

2025-07-31 19:37  thor

	* NEWS, src/include/mpg123.h, src/version.h: libmpg123: new version
	  and patchlevel

2025-07-31 19:37  thor

	* src/libmpg123/id3.c: libmpg123: not modifying raw ID3v2 tag data
	  anymore for store_id3_text() (bug 379)
	  
	  I started with a routine expecting the encoding byte directly
	  followed by the text
	  data. Then we got data where the encoding is stored at some
	  distance. I faked the
	  former mode by modifying the input instead of doing the right
	  thing which I finally
	  did now: Hand in the encoding as separate function argument even
	  if it is just the
	  leading byte.
	  
	  Now parsing ID3v2 tags doesn't modify the data you get from
	  MPG123_STORE_RAW_ID3.
	  For all earlier releases, You need to combine
	  MPG123_STORE_RAW_ID3 with
	  MPG123_SKIP_ID3V2 to avoid messing with the data. This was the
	  initial use case —
	  client code wants the raw data to decode itself, not let
	  libmpg123 do it. We just
	  forgot that you can do both …

2025-07-26 20:25  thor

	* NEWS, src/term_posix.c: mpg123: fix regression of signals for
	  terminal control since 1.31 (get rid of signal())

2025-07-26 18:57  thor

	* NEWS, configure.ac: build: try to give hint about missing
	  pkg-config at configure generation (bug 378)

2025-06-29 08:34  thor

	* AUTHORS, INSTALL, NEWS, README: docs

2025-06-29 08:33  thor

	* ports/cmake/CMakeLists.txt, ports/cmake/src/CMakeLists.txt:
	  ports/cmake: manpages with programs

2025-06-10 05:51  thor

	* configure.ac: build: fix logic for HAVE_WINCON_H, which we never
	  use, though (thanks to Ozkan)

2025-06-10 05:51  thor

	* src/version.h: patches will come

2025-06-06 16:54  thor

	* NEWS, src/out123.c: out123: positive outcome also for sound
	  generation

2025-05-29 17:51  thor

	* NEWS, ports/cmake/src/compat/CMakeLists.txt: ports/cmake: merge
	  in github PR17, after all

2025-05-29 17:47  thor

	* NEWS, src/compat/compat.c: compat: merge in github PR 18, avoid
	  signal code on PSP

2025-05-19 15:02  thor

	* src/include/mpg123.h: libmpg123: do not confuse simple
	  configure.ac grep

2025-05-19 15:00  thor

	* NEWS, NEWS.libmpg123, src/include/mpg123.h,
	  src/libmpg123/libmpg123.c: libmpg123: refinement of portable API
	  
	  This switches mpg123_open64() to be a variant of mpg123_open(),
	  instroduces mpg123_open_handle64() instead for a stable name
	  for handle opening. Adding mpg123_open_fixed64() on top.
	  
	  These new functions are all available also with
	  MPG123_PORTABLE_API,
	  as the respective code is there, anyway, and there are no
	  portability issues with a full-featured libmpg123 build also from
	  tricky environments like MSVC for the clients. No reason to hide
	  the internal I/O code, just to avoid off_t at places.
	  
	  This is a breaking change for programs that started using
	  MPG123_PORTABLE_API with handle I/O in mpg123 1.32.x. Those
	  need to switch to mpg123_open_handle64() now.

2025-05-19 07:37  thor

	* INSTALL: doc: document choices for cirular deps

2025-05-19 07:34  thor

	* windows-builds.sh: windows-builds: module choice

2025-05-18 19:37  thor

	* NEWS, src/mpg123-id3dump.c, src/win32_support.c: win32_support:
	  handle error of __wgetmainargs (bug 375)

2025-05-18 19:30  thor

	* src/compat/compat_dl.c: build: avoid needless wpathconv.h use

2025-05-18 17:08  thor

	* NEWS, configure.ac: build: use CCASFLAGS, not just CFLAGS

2025-05-18 16:59  thor

	* NEWS, configure.ac: build: use CFLAGS for CCAS tests

2025-05-18 16:26  thor

	* configure.ac, src/include/mpg123.h: build, documentation: not
	  missing mpg123 binaries with portable API, explain more
	  
	  This adds a line to configure output reminding the user that the
	  main mpg123 programs
	  (mpg123, mpg123-strip, …) are not built with --enable-portable.
	  
	  There are some added paragraphs to the doxygen docs now
	  explaining more about
	  renamed symbols and portable API.

2025-05-17 22:43  thor

	* NEWS, NEWS.libmpg123, src/include/mpg123.h, src/include/syn123.h,
	  src/libmpg123/libmpg123.c: libmpg123: add mpg123_open64(), also
	  documentation cleanup

2025-04-21 20:39  thor

	* NEWS, src/version.h: NEWS: gonna be 1.33

2025-04-21 20:39  thor

	* src/libmpg123/layer2.c: libmpg123: more silence (thanks to Vitaly
	  for noticing)

2025-04-03 16:29  thor

	* NEWS, man1/mpg123.1, src/playlist.c: mpg123: fix --random and
	  --continue
	  
	  Now the specified --listentry is honoured as the first track,
	  then it continues randomly.

2025-04-02 17:48  thor

	* NEWS, man1/mpg123.1, src/playlist.c: mpg123: undo half-baked
	  playlist changes

2025-04-02 17:46  thor

	* .github/workflows/CMake-MSVC.yml, NEWS, man1/mpg123.1,
	  src/playlist.c: .github: fixes from Ozkan / madebr

2025-03-31 07:23  thor

	* src/playlist.c: mpg123: formally, also content-type it is utf-8
	  for printout in playlist code

2025-03-31 07:22  thor

	* NEWS, src/local.h, src/mpg123.c, src/streamdump.c: mpg123: ensure
	  HTTP header with funky encoding do not land in terminal printout

2025-03-11 07:39  thor

	* man1/mpg123.1: man: fix typo, more generic wording

2025-01-05 10:15  thor

	* .github/workflows/CMake-MSVC-noyasm.yml: github: remove redundant
	  noyasm workflow (CMake-MSVC.yml tests that, too)

2025-01-04 09:14  thor

	* .github/actions, .github/actions/setup-ninja,
	  .github/actions/setup-ninja/action.yml,
	  .github/workflows/CMake-MSVC.yml, .github/workflows/MSYS2.yml,
	  .github/workflows/Ubuntu.yml,
	  .github/workflows/cron-git.yml.example,
	  .github/workflows/cron-pr.yml.example: .github: sync (examples)
	  with mirror

2025-01-04 09:07  thor

	* NEWS, configure.ac, ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/config.cmake.h.in, src/compat/compat.h,
	  src/control_generic.c, src/libout123/libout123.c: compat,
	  libout123, mpg123: detect strtok_r or strtok_s (MSVC) to fix bug
	  376
	  
	  We prefer strtok_r if available, but fall back to strtok_s on MS
	  platforms or
	  plain strtok if no other is there. There is INT123_compat_strtok
	  now to use
	  as mediator name — which is a macro, currently, so doesn't even
	  change the
	  libout123 binary.

2024-12-30 15:52  thor

	* NEWS, src/mpg123.c: mpg123: handle filename encoding on printout
	  for after playback

2024-12-30 15:52  thor

	* src/version.h: version: will be 1.32.11

2024-12-29 15:16  jon_y

	* src/win32_support.c: Revert r5469 and r5470, older version of
	  windows may not return a valid value.

2024-12-29 11:16  jon_y

	* src/win32_support.c: correct __wgetmainargs prototype

2024-12-29 11:10  jon_y

	* src/win32_support.c: Newer runtime __wgetmainargs may return
	  errors as per https://sourceforge.net/p/mpg123/bugs/375/

2024-12-29 10:47  thor

	* NEWS, src/include/out123.h, src/libout123/modules/win32.c:
	  libout123: use A API instead of macro-dependent A or W with
	  mismatch

2024-12-14 14:59  thor

	* NEWS: reference debian bug report

2024-12-10 19:33  thor

	* NEWS, ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/libmpg123/CMakeLists.txt,
	  ports/cmake/src/libout123/CMakeLists.txt,
	  ports/cmake/src/libsyn123/CMakeLists.txt: ports/cmake: fix up of
	  pkg-config file template processing with Libs.private
	  
	  This is based on the change that went into
	  
	  https://github.com/microsoft/vcpkg/pull/42601
	  
	  I added some, removed some.

2024-12-09 08:20  thor

	* NEWS, src/libmpg123/mpg123lib_intern.h: libmpg123: un-beak DLL
	  builds of non-portable API (bug 374)

2024-12-08 21:06  thor

	* NEWS, src/libout123/libout123.c: libout123: use strtok_r()

2024-12-08 20:55  thor

	* src/libout123/modules/sndio.c: libout123: more AOQUIET for sndio

2024-12-03 21:04  thor

	* NEWS, scripts/tag_lyrics.py: scripts/tag_lyrics.py: fix for
	  python3 (github PR 16)

2024-12-03 21:04  thor

	* src/version.h: next version 1.32.10

2024-11-22 20:55  thor

	* src/libmpg123/format.c, src/libmpg123/id3.c,
	  src/libmpg123/optimize.c: libmpg123: mark some local functions
	  static, not to be exported by accident

2024-11-01 08:07  thor

	* NEWS, src/version.h: preparing version 1.32.9, included CVE for
	  bug 322

2024-10-28 14:00  thor

	* src/compat/compat.h: compat: even (theoretically) support Watcom
	  C (patch by manx)

2024-10-28 12:59  thor

	* src/compat/compat.c: compat: switch to MPG123_COMPAT_MSVCRT_IO
	  also for close

2024-10-28 12:01  thor

	* NEWS, src/libmpg123/lfs_wrap.c: libmpg123: slightly rework the
	  MSVCRT paths, using fallback functions
	  
	  This has the MSVC-specific code paths only in one place for seek
	  and read.
	  
	  Also, I took the liberty to remove the && 0, enabling the 64 bit
	  lseek again.

2024-10-28 11:43  thor

	* src/compat/compat.c, src/compat/compat.h,
	  src/libmpg123/lfs_wrap.c: libmpg123: use _read/_lseek/_open on
	  MSVCRT (bug 373), patch by manx

2024-10-26 16:26  thor

	* src/include/mpg123.h: libmpg123: forgot the patchlevel, oh well.
	  users should compare release versions

2024-10-26 16:00  thor

	* TODO: note about mpg123_noise()

2024-10-26 15:59  thor

	* src/version.h: next version

2024-10-26 14:33  thor

	* NEWS, src/out123.c: out123: add --quiet to --longhelp (bug 372)

2024-10-24 12:05  thor

	* NEWS, src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/layer1.c, src/libmpg123/layer2.c,
	  src/libmpg123/layer3.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/parse.c: libmpg123: separate header data into a
	  struct, ensure late updating in frame (bug 322)
	  
	  This shall fix any further decoding inconsistencies. The
	  prospective headers are now
	  parsed into a temporary structure and only applied to the decoder
	  frame struct if
	  we really have read the matching frame body. The former approach
	  was rather dangerous,
	  clearly with the idea in mind that we parse valid streams,
	  mostly, that don't try
	  to trip us up. Good old timees.
	  
	  You might want to prohibit frankenstein streams that allow wildly
	  differing headers
	  in a stream to begin with: mpg123 --no-frankenstein or
	  MPG123_NO_FRANKENSTEIN in
	  libmpg123 handle setup. Then, mpg123 will only decode streams
	  that are uniform
	  enough not to trigger invalid writes like what happened with bug
	  322.
	  
	  Note that I am not sure how to classify the security impact of
	  the re-opened bug 322.
	  It is a buffer overflow, an out-of-bounds write. It is writes to
	  a heap region. Also,
	  the data is only attacker-controlled in the limited sense that
	  the attacker needs to
	  design data what will properly decode as MPEG and result in
	  certain desired PCM
	  sample values as output. I don't say it's impossible to inject
	  code, but it doesn't
	  seem trivial. Sandbox your decoders of untrusted data. Tighten
	  controls like the
	  above.
	  
	  Denial of service is the minimum impact when you manage to crash
	  the decoder. Worse
	  is always thinkable.

2024-10-20 14:59  thor

	* src/libmpg123/parse.c: libmpg123: first hot fix for bug 322

2024-09-19 23:51  thor

	* src/version.h: mpg123: next version 1.32.8

2024-09-19 23:45  thor

	* AUTHORS, NEWS, src/libmpg123/Makemodule.am,
	  src/libmpg123/aarch64_defs.h, src/libmpg123/check_neon.S,
	  src/libmpg123/dct36_neon64.S, src/libmpg123/dct64_neon64_float.S,
	  src/libmpg123/synth_neon64_accurate.S,
	  src/libmpg123/synth_neon64_float.S,
	  src/libmpg123/synth_neon64_s32.S,
	  src/libmpg123/synth_stereo_neon64_accurate.S,
	  src/libmpg123/synth_stereo_neon64_float.S,
	  src/libmpg123/synth_stereo_neon64_s32.S: libmpg123: add PAC/BTI
	  sections to assembly for aarch64 (github PR 15)

2024-08-07 16:14  thor

	* NEWS: clang on aarch64 likes the code now

2024-08-07 16:12  thor

	* src/common.c, src/common.h, src/httpget.c, src/mpg123.c,
	  src/mpg123app.h, src/playlist.c, src/playlist.h: mpg123: clang
	  insists on utf8 in comments, avoiding the issue

2024-08-07 15:06  thor

	* src/libmpg123/readers.c: libmpg123: correct debugging printf
	  format (bug 371)

2024-05-14 21:22  thor

	* src/version.h: going to be 1.32.7

2024-05-02 09:36  thor

	* .github/workflows/CMake-macOS.yml, NEWS,
	  ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/libmpg123/CMakeLists.txt: ports/cmake: work
	  around CMake bug for FPU on Apple ARM CPUs (github PR 14)

2024-04-06 12:05  thor

	* src/libmpg123/lfs_wrap.c: libmpg123: fix comment typo
	  (https://github.com/madebr/mpg123/pull/13)

2024-04-02 19:54  thor

	* NEWS, configure.ac, src/libmpg123/lfs_wrap.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123lib_intern.h,
	  src/libsyn123/resample.c, src/version.h: build: handle enforced
	  64 bit offsets for controlled ABI break

2024-04-02 19:26  thor

	* src/tests/plain_id3.c, src/tests/resample_total.c,
	  src/tests/seek_accuracy.c, src/tests/seek_whence.c,
	  src/tests/sweeper.c, src/tests/text.c, src/tests/volume.c: tests:
	  more depending on config.h to ease build config switchery

2024-04-02 06:51  thor

	* src/genre.c: mpg123: ensure genre.o is re-built on reconfigure
	  (avoid errors on arch switching)

2024-03-23 13:41  thor

	* src/libmpg123/lfs_wrap.c: typo

2024-02-14 08:24  thor

	* NEWS, src/libmpg123/getcpuflags_arm.c: libmpg123: fix
	  --enable-nagging for getcpuflags_arm.c by adding feature test
	  macros

2024-02-08 21:16  thor

	* NEWS, src/libmpg123/layer3.c: libmpg123: more wrapping

2024-02-08 20:44  thor

	* NEWS, ports/cmake/src/libsyn123/CMakeLists.txt: ports/cmake: link
	  libsyn123 with libm (bug 370)

2024-02-06 06:49  thor

	* NEWS, src/libmpg123/optimize.h: revert r5396: no OPT_MULTI means
	  no indirect branches! Bug 367 needs a different fix

2024-02-05 13:53  thor

	* src/libmpg123/libmpg123.c: libmpg123: invert the logic of last
	  commit, un-breaking all

2024-02-05 13:20  thor

	* NEWS, src/libmpg123/libmpg123.c: libmpg123: fix --enable-portable
	  build (bug 368)

2024-01-25 10:54  thor

	* NEWS, src/libmpg123/optimize.h: libmpg123: use dct36 wrappers for
	  single-cpu-opt case

2024-01-10 16:32  thor

	* src/include/mpg123.h: libmpg123: fix documentation of
	  mpg123_volume_change_db() (bug 364)

2024-01-10 16:09  thor

	* NEWS, ports/cmake/src/libout123/modules/CMakeLists.txt,
	  src/version.h: ports/cmake: use target_compile_options() for
	  pulse/jack/tinyalsa (bug 366)

2024-01-08 07:19  thor

	* NEWS: better NEWS for control flow integrity

2023-12-30 09:53  thor

	* src/streamdump.c, src/streamdump.h: mpg123: fix dump_close()
	  usage (see https://github.com/madebr/mpg123/pull/12)

2023-12-29 21:07  thor

	* NEWS, src/libmpg123/decode.h, src/libmpg123/frame.h,
	  src/libmpg123/layer3.c, src/libmpg123/optimize.c,
	  src/libmpg123/optimize.h: libmpg123: call dct36 assembly routines
	  via C wrappers for indirect branching
	  
	  That way, indirect jumps only land in C code that may have the
	  special instructions
	  for the respective protection against manipulated endpoints.
	  Testing performance
	  impact:
	  
	  sse trunk-clean
	  
	  real 0m12.303s
	  user 0m11.906s
	  sys 0m0.402s
	  
	  sse trunk
	  
	  real 0m12.642s
	  user 0m12.338s
	  sys 0m0.306s
	  
	  sse_vintage trunk-clean
	  
	  real 0m13.281s
	  user 0m12.946s
	  sys 0m0.336s
	  
	  sse_vintage trunk
	  
	  real 0m13.333s
	  user 0m13.039s
	  sys 0m0.296s
	  
	  Compare fixed sse build (--with-cpu=sse)
	  
	  sse trunk-clean
	  
	  real 0m12.466s
	  user 0m12.180s
	  sys 0m0.288s
	  
	  sse trunk
	  
	  real 0m12.399s
	  user 0m12.068s
	  sys 0m0.333s
	  
	  dynamic build on amd64
	  
	  x86-64 trunk-clean
	  
	  real 0m10.628s
	  user 0m10.298s
	  sys 0m0.336s
	  
	  x86-64 trunk
	  
	  real 0m10.595s
	  user 0m10.323s
	  sys 0m0.274s
	  
	  avx trunk-clean
	  
	  real 0m10.213s
	  user 0m9.949s
	  sys 0m0.265s
	  
	  avx trunk
	  
	  real 0m10.313s
	  user 0m9.967s
	  sys 0m0.348s
	  
	  
	  There is some impact. It also somewhat matters more for x86,
	  where there are no CPUs that actually
	  benefit from this. You can avoid this by compiling only one fixed
	  optimization for your CPU.

2023-12-29 17:28  thor

	* doc/doxygen.conf: doc: fix header locations

2023-12-28 21:09  thor

	* Makefile.am, NEWS, configure.ac: build: drop support for external
	  lib*123
	  
	  Take a step away from a feature that is not needed by the initial
	  prompter
	  anymore. It simplifies confgure.ac a little bit, which is good.

2023-12-06 22:32  thor

	* Makefile.am, NEWS, ports/cmake/src/CMakeLists.txt,
	  scripts/fixinc.pl, src/audio.c, src/audio.h, src/common.c,
	  src/compat/compat.c, src/compat/compat.h, src/compat/compat_dl.c,
	  src/compat/compat_str.c, src/control_generic.c, src/equalizer.c,
	  src/filters.c, src/filters.h, src/getlopt.c, src/httpget.c,
	  src/libmpg123/calctables.c, src/libmpg123/dither_impl.h,
	  src/libmpg123/format.c, src/libmpg123/frame.c,
	  src/libmpg123/gapless.h, src/libmpg123/getbits.h,
	  src/libmpg123/icy.h, src/libmpg123/icy2utf8.c,
	  src/libmpg123/id3.c, src/libmpg123/index.c,
	  src/libmpg123/index.h, src/libmpg123/layer1.c,
	  src/libmpg123/layer3.c, src/libmpg123/lfs_wrap.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/ntom.c, src/libmpg123/optimize.c,
	  src/libmpg123/parse.c, src/libmpg123/readers.c,
	  src/libmpg123/stringbuf.c, src/libmpg123/synth.c,
	  src/libmpg123/synth_8bit.c, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/libmpg123/system.c,
	  src/libmpg123/tabinit.c, src/libout123/buffer.c,
	  src/libout123/buffer.h, src/libout123/hextxt.c,
	  src/libout123/legacy_module.c, src/libout123/libout123.c,
	  src/libout123/module.c, src/libout123/modules/aix.c,
	  src/libout123/modules/alib.c, src/libout123/modules/alsa.c,
	  src/libout123/modules/arts.c, src/libout123/modules/coreaudio.c,
	  src/libout123/modules/dummy.c, src/libout123/modules/esd.c,
	  src/libout123/modules/hp.c, src/libout123/modules/jack.c,
	  src/libout123/modules/mint.c, src/libout123/modules/nas.c,
	  src/libout123/modules/openal.c, src/libout123/modules/os2.c,
	  src/libout123/modules/oss.c, src/libout123/modules/portaudio.c,
	  src/libout123/modules/pulse.c, src/libout123/modules/qsa.c,
	  src/libout123/modules/sdl.c, src/libout123/modules/sgi.c,
	  src/libout123/modules/sndio.c, src/libout123/modules/sun.c,
	  src/libout123/modules/tinyalsa.c, src/libout123/modules/win32.c,
	  src/libout123/modules/win32_wasapi.c, src/libout123/out123_int.h,
	  src/libout123/sfifo.c, src/libout123/stringlists.c,
	  src/libout123/wav.c, src/libout123/xfermem.c,
	  src/libout123/xfermem.h, src/libsyn123/libsyn123.c,
	  src/libsyn123/resample.c, src/libsyn123/sampleconv.c,
	  src/libsyn123/syn123_int.h, src/libsyn123/volume.c, src/local.c,
	  src/metaprint.c, src/mpg123-id3dump.c, src/mpg123-strip.c,
	  src/mpg123.c, src/mpg123app.h, src/net123_exec.c,
	  src/net123_winhttp.c, src/net123_wininet.c, src/out123.c,
	  src/playlist.c, src/resolver.c, src/streamdump.c, src/sysutil.c,
	  src/term.c, src/term_posix.c, src/term_win32.c,
	  src/tests/decode_fixed.c, src/tests/plain_id3.c,
	  src/tests/seek_accuracy.c, src/tests/seek_whence.c,
	  src/tests/sweeper.c, src/tests/text.c, src/tests/textprint.c,
	  src/win32_net.c, src/win32_support.c: build: relative header
	  includes, dropping -Isrc/compat and -Isrc/common
	  
	  Only the generated config.h and the API headers in src/include
	  should be
	  located via search path now.

2023-12-06 19:19  thor

	* src/libout123/Makemodule.am, src/libsyn123/Makemodule.am: build:
	  remove outdated mention of src/lib*123/*123.h that broke dist

2023-12-06 11:28  thor

	* Makefile.am, NEWS, configure.ac, ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/libmpg123/CMakeLists.txt,
	  ports/cmake/src/libout123/CMakeLists.txt,
	  ports/cmake/src/libsyn123/CMakeLists.txt, src/Makemodule.am,
	  src/fmt123.h, src/include, src/include/fmt123.h,
	  src/include/mpg123.h, src/include/out123.h, src/include/syn123.h,
	  src/libmpg123/Makemodule.am, src/libmpg123/mpg123.h,
	  src/libout123/Makemodule.am, src/libout123/out123.h,
	  src/libsyn123/Makemodule.am, src/libsyn123/syn123.h,
	  src/tests/noise.c: build: more juggling with headers, added
	  src/include
	  
	  This does some further reorganizing so that we don't need the
	  component librarie's
	  source directories as global header search paths anymore. This
	  means moving all
	  public headers into src/include/, after all.
	  
	  I also reverted the decision to install fmt123.h only with
	  libmpg123. It will be
	  duplicated should you decide to install multiple library
	  components in separate
	  runs. Handle that if you really want to split things up. Note
	  that for breaking
	  dependency cycles involving output modules, you should rather
	  split off the
	  libout123-modules component and build the others together.
	  
	  It is still possible to build the programs against installed
	  libraries. I am not
	  totally decided on whether that features stays for the upcoming
	  release. It does
	  make the build system logic a bit more complex for questionable
	  gain.
	  
	  Will have to ponder on that. It's there, it works. But is it a
	  burden for the
	  future?
	  
	  Also: Noticed that I really should get going converting lots of
	  includes to
	  relative paths to avoid having to add src/compat src/common all
	  the time.
	  maybe even think about doing that for config.h? Should headers
	  from src just
	  be picked up for sub-directories?

2023-12-03 23:04  thor

	* Makefile.am, configure.ac, src/Makemodule.am,
	  src/tests/Makemodule.am: build: un-break self-contained build
	  
	  After learning a bit more about autoconf/automake interaction, I
	  have
	  to do things even more similarly to the initial PR. Sometimes
	  things
	  have reasons.

2023-12-03 22:39  thor

	* NEWS, src/out123.c: out123: --libversion

2023-12-03 22:36  thor

	* NEWS, configure.ac, ports/cmake/src/libmpg123/CMakeLists.txt,
	  src/Makemodule.am, src/fmt123.h, src/libmpg123/Makemodule.am,
	  src/libmpg123/fmt123.h, src/libout123/modules/Makemodule.am,
	  src/libout123/modules/aix.c, src/libout123/modules/alib.c,
	  src/libout123/modules/alsa.c, src/libout123/modules/arts.c,
	  src/libout123/modules/coreaudio.c, src/libout123/modules/dummy.c,
	  src/libout123/modules/esd.c, src/libout123/modules/hp.c,
	  src/libout123/modules/jack.c, src/libout123/modules/mint.c,
	  src/libout123/modules/nas.c, src/libout123/modules/openal.c,
	  src/libout123/modules/os2.c, src/libout123/modules/oss.c,
	  src/libout123/modules/portaudio.c, src/libout123/modules/pulse.c,
	  src/libout123/modules/qsa.c, src/libout123/modules/sdl.c,
	  src/libout123/modules/sgi.c, src/libout123/modules/sndio.c,
	  src/libout123/modules/sun.c, src/libout123/modules/tinyalsa.c,
	  src/libout123/modules/win32.c,
	  src/libout123/modules/win32_wasapi.c, src/tests/Makemodule.am:
	  build: more separation, add --enable-programs
	  
	  This hopefully completes the adaptation of what PR 11
	  (https://github.com/madebr/mpg123/pull/11) wanted.
	  
	  Only different in detail. Some more care regarding always
	  finding internal headers. The usage of fmt123.h is a nuisance.
	  I refuse to duplicate its contents. It's overkill to make it
	  its own component, a header-only library. But maybe that's the
	  only clean solution.

2023-11-09 12:12  thor

	* Makefile.am, NEWS, ports/cmake/src/CMakeLists.txt,
	  src/Makemodule.am, src/common, src/common/Makemodule.am,
	  src/common/abi_align.h, src/common/debug.h, src/common/sample.h,
	  src/common/swap_bytes_impl.h, src/common/true.h,
	  src/libmpg123/Makemodule.am, src/libmpg123/abi_align.h,
	  src/libmpg123/debug.h, src/libmpg123/sample.h,
	  src/libmpg123/swap_bytes_impl.h, src/libmpg123/true.h: build,
	  libmpg123: move shared common headers into src/common
	  
	  This keeps only the code specific to libmpg123 in its directory
	  (apart from
	  fmt123.h, perhaps, but that is part of the library API).
	  
	  This is a step to maybe support what
	  
	  https://github.com/madebr/mpg123/pull/11
	  
	  wants: Option to select external lib*123 during build.

2023-10-09 14:48  thor

	* NEWS: NEWS: move 1.32.4 news to 1.32.4

2023-10-09 13:48  thor

	* NEWS, configure.ac, src/libout123/Makemodule.am,
	  src/libout123/modules/Makemodule.am: build: enable module-only
	  builds without dummy

2023-10-05 20:40  thor

	* Makefile.am, NEWS, configure.ac, ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/config.cmake.h.in, src/common.c,
	  src/compat/compat.h, src/control_generic.c,
	  src/libmpg123/frame.c, src/libmpg123/gapless.h,
	  src/libmpg123/id3.c, src/libmpg123/index.c,
	  src/libmpg123/lfs_wrap.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/readers.c, src/libout123/buffer.c,
	  src/libout123/libout123.c, src/libout123/modules/jack.c,
	  src/libout123/out123.h, src/libsyn123/libsyn123.c,
	  src/libsyn123/resample.c, src/libsyn123/syn123.h,
	  src/mpg123-id3dump.c, src/mpg123-strip.c, src/mpg123.c,
	  src/playlist.c, src/term.c, src/tests/plain_id3.c,
	  src/tests/seek_accuracy.c, src/tests/seek_whence.c,
	  src/tests/sweeper.c, src/tests/text.c, src/win32_net.c,
	  test_c99.c: build, general: Reduce type and header checking,
	  assume more C99
	  
	  This introduces a single compile check that ensures that a number
	  of
	  assumed C99 features are there. A number of HAVE_FOO_H and
	  SIZEOF_FOO
	  macros are gone now. We just use standard C99 headers.
	  
	  A similar grouped test should follow for POSIX stuff. A bit less
	  cruft in configure logic and preprocessing. Lots of SIZE_P and
	  similar are gone, also fixing a number of occasions where
	  the debug printf format didn't match the suppplied type (cast
	  missing).

2023-10-05 19:58  thor

	* src/version.h: going to become 1.32.4

2023-10-02 07:21  thor

	* src/libmpg123/mpg123.h, src/libsyn123/syn123.h: libmpg123,
	  libsyn123: increase patchlevel for build fixery

2023-10-02 07:18  thor

	* src/libmpg123/lfs_wrap.c: libmpg123: include manx' paranoid
	  assert

2023-10-01 11:52  thor

	* src/libsyn123/resample.c: libsyn123: better error message

2023-10-01 11:51  thor

	* src/libsyn123/resample.c: libsyn123: _64 aliases were missing on
	  64 bit systems

2023-10-01 11:23  thor

	* NEWS, src/libsyn123/resample.c: libsyn123: re-introduce explicit
	  _32 wrappers

2023-10-01 11:16  thor

	* NEWS, src/libsyn123/resample.c: libsyn123: one more ifdef
	  LFS_LARGEFILE_64

2023-10-01 11:06  thor

	* NEWS, src/libmpg123/lfs_wrap.c: libmpg123: always ifdef
	  LFS_LARGEFILE_64

2023-09-28 09:34  thor

	* src/version.h: working towards 1.32.3

2023-09-28 09:31  thor

	* NEWS, src/compat/compat.h: compat: ensure EOVERFLOW

2023-09-27 20:32  thor

	* NEWS, ports/cmake/src/CMakeLists.txt: ports/cmake:
	  GetThreadErrorMode() also checked here

2023-09-27 20:08  thor

	* NEWS, src/libmpg123/lfs_wrap.c: libmpg123: fix _64 symbol
	  availability on native 64 bit systems

2023-09-26 07:13  thor

	* NEWS, src/version.h: prepare for 1.32.2, awaiting still more
	  cleanup for sure

2023-09-26 07:12  thor

	* ., Makefile.am, NEWS, configure.ac: merge 1.32.1 last-minute
	  changes

2023-09-26 07:06  thor

	* ports/cmake/src/libmpg123/CMakeLists.txt: ports/cmake: more
	  elaborate description of WITH_SSH

2023-09-26 07:05  thor

	* ports/cmake/CMakeLists.txt: ports/cmake: request C99 standard
	  (bug 360)

2023-09-26 07:03  thor

	* configure.ac, ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/config.cmake.h.in, src/libmpg123/lfs_wrap.c:
	  libmpg123, build: better handling of O_LARGEFILE (bug 360)

2023-09-25 17:22  thor

	* NEWS, ports/cmake/src/compat/CMakeLists.txt,
	  ports/cmake/src/libmpg123/CMakeLists.txt: ports/cmake: some fixup
	  by Silvain Carette (bug 359)

2023-09-25 17:12  thor

	* ports/README: ports: de-cruft README

2023-09-24 06:55  thor

	* NEWS: merge NEWS fix

2023-09-24 06:14  thor

	* Makefile.am, NEWS: Include man pages again in tarball, twisted
	  logic, that. (bug 358)

2023-09-24 06:08  thor

	* NEWS: mention signal handler business

2023-09-24 06:00  thor

	* NEWS, ports/cmake/src/CMakeLists.txt: ports/cmake: avoid
	  O_LARGEFILE redefinition

2023-09-24 05:41  thor

	* NEWS, ports/cmake/src/CMakeLists.txt: ports/cmake: include
	  CheckTypeSize (bug 357)

2023-09-24 05:38  thor

	* src/version.h: next version coming

2023-09-23 21:26  thor

	* src/libmpg123/lfs_wrap.c: remove junk

2023-09-23 05:42  thor

	* src/libmpg123/lfs_wrap.c, src/out123.c: out123: fix signal
	  handler protoype

2023-09-22 22:02  thor

	* src/compat/compat.c, src/compat/compat.h, src/libout123/buffer.c,
	  src/mpg123.c: compat: INT123_catchsignal() with int argument to
	  handler callback

2023-09-22 21:49  thor

	* src/libmpg123/mpg123.h: libmpg123: remove outdated TODO

2023-09-19 22:46  thor

	* src/version.pl: version script with selective setting

2023-09-19 14:19  thor

	* src/libmpg123/lfs_wrap.c, src/libmpg123/lfs_wrap.h,
	  src/libmpg123/libmpg123.c: libmpg123: fix mpg123_open_handle()
	  for acutal portable handles
	  
	  I missed the communication from INT123_wrap_open() to the outside
	  for the
	  case that it did nothing and you should just pass on the user
	  handle.
	  
	  So it never worked. So far goes the testing you get before
	  releases.
	  We got an example program using that API now at least. Yes,
	  should
	  add a variant of that as test …

2023-09-19 14:16  thor

	* doc/Makemodule.am, doc/examples/Makefile,
	  doc/examples/extract_frames.c,
	  doc/examples/mpg123_to_wav_reader64.c,
	  doc/examples/mpg123_to_wav_replaced_io.c: doc/examples: fix some
	  warnings, add mpg123_to_wav_reader64.c

2023-09-18 23:53  thor

	* src/libmpg123/abi_align.h, src/libmpg123/lfs_wrap.c,
	  src/libmpg123/mpg123lib_intern.h, src/libout123/out123_int.h,
	  src/libsyn123/syn123_int.h, src/version.h, windows-builds.sh:
	  build: windows fixery with the changed version definition and
	  MPG123_EXPORT

2023-09-14 20:17  thor

	* Makefile.am, configure.ac, src/Makemodule.am,
	  src/tests/Makemodule.am: build: leave empty bin/ for library-only
	  builds to un-break checks
	  
	  I am not figuring out why programs are not built if there is the
	  true conditional NEED_BIN and then missing for tests, or just
	  generally. Keep it, not worth the trouble.

2023-09-14 17:01  thor

	* Makefile.am, NEWS, configure.ac, src/Makemodule.am,
	  src/libout123/Makemodule.am: build: add
	  --enable-libout123-modules separate from --enable-libout123

2023-09-08 12:41  thor

	* .github/PULL_REQUEST_TEMPLATE.md,
	  .github/scripts/mail-for-all-new-open-prs.py.example,
	  .github/workflows/CMake-MSVC-noyasm.yml,
	  .github/workflows/CMake-MSVC.yml,
	  .github/workflows/cron-git.yml.example,
	  .github/workflows/cron-pr.yml.example: .github: sync with the
	  mirror

2023-09-08 12:27  thor

	* src/libmpg123/mangle.h, src/libmpg123/synth_3dnow.S,
	  src/libmpg123/synth_3dnowext.S, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586_dither.S, src/libmpg123/synth_mmx.S,
	  src/libmpg123/synth_sse.S: libmpg123: consistently use
	  MANGLE_MACROCAT and FUNC to (issue like bug 356)
	  
	  The recent assembly failure indicated in bug 356 was caused by
	  
	  a) inconsinstent use of FUNC()
	  
	  The local label for __APPLE__ was written verbatim, while the
	  call used FUNC(label).
	  That did not cause trouble with intsym renaming because
	  
	  b) single-layer macro contatenation without expansion in FUNC.
	  
	  Now the concatenations in mangle.h use MANGLE_MACROCAT
	  throughout. Should be define
	  macros in future that affect symbols again, this should be
	  propagated.

2023-09-08 09:56  thor

	* src/libmpg123/dct36_3dnow.S, src/libmpg123/dct36_3dnowext.S,
	  src/libmpg123/dct64_3dnow.S, src/libmpg123/dct64_3dnowext.S,
	  src/libmpg123/dct64_mmx.S, src/libmpg123/dct64_sse.S,
	  src/libmpg123/dct64_sse_float.S, src/libmpg123/synth_3dnow.S,
	  src/libmpg123/synth_3dnowext.S, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586_dither.S, src/libmpg123/synth_mmx.S,
	  src/libmpg123/synth_sse.S: libmpg123: renaming those local
	  labels, but not sure why it matters now

2023-09-08 07:35  thor

	* src/libmpg123/Makemodule.am: remove one more trace of intsym.h

2023-09-07 13:25  thor

	* NEWS, configure.ac, ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/config.cmake.h.in, src/Makemodule.am,
	  src/compat/compat.h, src/compat/compat_str.c,
	  src/control_generic.c, src/filters.c, src/intsym.h,
	  src/libmpg123/dither.c, src/libmpg123/icy.c,
	  src/libmpg123/icy2utf8.c, src/libmpg123/index.c,
	  src/libmpg123/lfs_wrap.c, src/libmpg123/mangle.h,
	  src/libmpg123/mpg123lib_intern.h, src/libout123/hextxt.c,
	  src/libout123/libout123.c, src/libout123/module.c,
	  src/libout123/out123_int.h, src/libout123/wav.c,
	  src/libout123/xfermem.c, src/libsyn123/syn123_int.h,
	  src/mpg123-id3dump.c, src/mpg123-strip.c, src/net123_exec.c,
	  src/out123.c, src/resolver.c, src/streamdump.c, src/term.c,
	  src/term_posix.c, src/win32_net.c: always use INT123_strerror()
	  wrapper that tries to do the threadsafe thing

2023-09-07 08:49  thor

	* src/libmpg123/dct36_3dnow.S, src/libmpg123/dct36_3dnowext.S,
	  src/libmpg123/dct64_3dnow.S, src/libmpg123/dct64_3dnowext.S,
	  src/libmpg123/dct64_mmx.S, src/libmpg123/dct64_sse.S,
	  src/libmpg123/dct64_sse_float.S, src/libmpg123/synth.c,
	  src/libmpg123/synth_3dnow.S, src/libmpg123/synth_3dnowext.S,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_sse.S: libmpg123:
	  fix up some assembler symbols for INT123_ prefix

2023-09-06 19:29  thor

	* NEWS, scripts/intsym.pl, src/compat/compat.c,
	  src/compat/compat.h, src/compat/compat_dl.c,
	  src/compat/compat_str.c, src/compat/wpathconv.h, src/getlopt.c,
	  src/httpget.c, src/intsym.h, src/libmpg123/calctables.c,
	  src/libmpg123/check_neon.S, src/libmpg123/dct36_3dnow.S,
	  src/libmpg123/dct36_3dnowext.S, src/libmpg123/dct36_avx.S,
	  src/libmpg123/dct36_neon.S, src/libmpg123/dct36_neon64.S,
	  src/libmpg123/dct36_sse.S, src/libmpg123/dct36_x86_64.S,
	  src/libmpg123/dct64.c, src/libmpg123/dct64_2.c,
	  src/libmpg123/dct64_3dnow.S, src/libmpg123/dct64_3dnowext.S,
	  src/libmpg123/dct64_altivec.c, src/libmpg123/dct64_avx.S,
	  src/libmpg123/dct64_avx_float.S, src/libmpg123/dct64_i386.c,
	  src/libmpg123/dct64_i486.c, src/libmpg123/dct64_mmx.S,
	  src/libmpg123/dct64_neon.S, src/libmpg123/dct64_neon64.S,
	  src/libmpg123/dct64_neon64_float.S,
	  src/libmpg123/dct64_neon_float.S, src/libmpg123/dct64_sse.S,
	  src/libmpg123/dct64_sse_float.S, src/libmpg123/dct64_vector.c,
	  src/libmpg123/dct64_x86_64.S, src/libmpg123/dct64_x86_64_float.S,
	  src/libmpg123/decode.h, src/libmpg123/dither.h,
	  src/libmpg123/dither_impl.h, src/libmpg123/equalizer.c,
	  src/libmpg123/equalizer_3dnow.S, src/libmpg123/format.c,
	  src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/gapless.h, src/libmpg123/getcpuflags.S,
	  src/libmpg123/getcpuflags.h, src/libmpg123/getcpuflags_arm.c,
	  src/libmpg123/getcpuflags_x86_64.S, src/libmpg123/icy.c,
	  src/libmpg123/icy.h, src/libmpg123/icy2utf8.c,
	  src/libmpg123/icy2utf8.h, src/libmpg123/id3.c,
	  src/libmpg123/id3.h, src/libmpg123/index.c,
	  src/libmpg123/index.h, src/libmpg123/init_costabs.h,
	  src/libmpg123/init_layer12.h, src/libmpg123/init_layer3.h,
	  src/libmpg123/l3tabs.h, src/libmpg123/layer1.c,
	  src/libmpg123/layer2.c, src/libmpg123/layer3.c,
	  src/libmpg123/lfs_wrap.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/ntom.c, src/libmpg123/optimize.c,
	  src/libmpg123/optimize.h, src/libmpg123/parse.c,
	  src/libmpg123/parse.h, src/libmpg123/reader.h,
	  src/libmpg123/readers.c, src/libmpg123/stringbuf.c,
	  src/libmpg123/synth.c, src/libmpg123/synth.h,
	  src/libmpg123/synth_3dnow.S, src/libmpg123/synth_3dnowext.S,
	  src/libmpg123/synth_8bit.c, src/libmpg123/synth_8bit.h,
	  src/libmpg123/synth_altivec.c, src/libmpg123/synth_arm.S,
	  src/libmpg123/synth_arm_accurate.S, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_mono.h,
	  src/libmpg123/synth_neon.S, src/libmpg123/synth_neon64.S,
	  src/libmpg123/synth_neon64_accurate.S,
	  src/libmpg123/synth_neon64_float.S,
	  src/libmpg123/synth_neon64_s32.S,
	  src/libmpg123/synth_neon_accurate.S,
	  src/libmpg123/synth_neon_float.S, src/libmpg123/synth_neon_s32.S,
	  src/libmpg123/synth_ntom.h, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/libmpg123/synth_sse.S,
	  src/libmpg123/synth_sse3d.h, src/libmpg123/synth_sse_accurate.S,
	  src/libmpg123/synth_sse_float.S, src/libmpg123/synth_sse_s32.S,
	  src/libmpg123/synth_stereo_avx.S,
	  src/libmpg123/synth_stereo_avx_accurate.S,
	  src/libmpg123/synth_stereo_avx_float.S,
	  src/libmpg123/synth_stereo_avx_s32.S,
	  src/libmpg123/synth_stereo_neon.S,
	  src/libmpg123/synth_stereo_neon64.S,
	  src/libmpg123/synth_stereo_neon64_accurate.S,
	  src/libmpg123/synth_stereo_neon64_float.S,
	  src/libmpg123/synth_stereo_neon64_s32.S,
	  src/libmpg123/synth_stereo_neon_accurate.S,
	  src/libmpg123/synth_stereo_neon_float.S,
	  src/libmpg123/synth_stereo_neon_s32.S,
	  src/libmpg123/synth_stereo_sse_accurate.S,
	  src/libmpg123/synth_stereo_sse_float.S,
	  src/libmpg123/synth_stereo_sse_s32.S,
	  src/libmpg123/synth_stereo_x86_64.S,
	  src/libmpg123/synth_stereo_x86_64_accurate.S,
	  src/libmpg123/synth_stereo_x86_64_float.S,
	  src/libmpg123/synth_stereo_x86_64_s32.S,
	  src/libmpg123/synth_x86_64.S,
	  src/libmpg123/synth_x86_64_accurate.S,
	  src/libmpg123/synth_x86_64_float.S,
	  src/libmpg123/synth_x86_64_s32.S, src/libmpg123/tabinit.c,
	  src/libmpg123/tabinit_mmx.S, src/libmpg123/testcpu.c,
	  src/libout123/buffer.c, src/libout123/buffer.h,
	  src/libout123/hextxt.c, src/libout123/legacy_module.c,
	  src/libout123/libout123.c, src/libout123/module.c,
	  src/libout123/module.h, src/libout123/modules/alib.c,
	  src/libout123/modules/jack.c,
	  src/libout123/modules/win32_wasapi.c, src/libout123/out123_int.h,
	  src/libout123/stringlists.c, src/libout123/stringlists.h,
	  src/libout123/wav.c, src/libout123/wav.h,
	  src/libout123/xfermem.c, src/libout123/xfermem.h,
	  src/libsyn123/resample.c, src/local.c, src/mpg123-id3dump.c,
	  src/mpg123-strip.c, src/mpg123.c, src/net123_exec.c,
	  src/net123_winhttp.c, src/net123_wininet.c, src/out123.c,
	  src/playlist.c, src/streamdump.c, src/sysutil.c,
	  src/term_posix.c, src/tests/decode_fixed.c, src/win32_support.c,
	  src/wrapper_test.c: all: Remove internal symbol renaming, only
	  leaving INT123_strerror().

2023-09-03 16:33  thor

	* src/libsyn123/resample.c: a warning less

2023-09-03 14:31  thor

	* NEWS, configure.ac: build: use AS_HELP_STRING() consistently

2023-09-02 13:38  thor

	* src/libmpg123/mpg123.h: mpg123: more clarification on SEEK_END

2023-09-02 13:32  thor

	* src/libmpg123/mpg123.h: libmpg123: update documentation of
	  SEEK_END in header

2023-09-02 13:29  thor

	* NEWS, NEWS.libmpg123, src/libmpg123/libmpg123.c: libmpg123:
	  ignore sign on SEEK_END

2023-09-02 13:16  thor

	* Makefile.am, NEWS, configure.ac, ports/cmake/CMakeLists.txt,
	  ports/cmake/src/CMakeLists.txt, src/Makemodule.am,
	  src/libmpg123/Makemodule.am, src/libout123/Makemodule.am,
	  src/libsyn123/Makemodule.am, src/tests/Makemodule.am: build:
	  component selection (bug 351)

2023-08-29 21:30  thor

	* src/libmpg123/lfs_wrap.c: libmpg123: clean up leftovers in
	  lfs_wrap.c (bug 355)

2023-08-29 08:53  thor

	* src/common.c, src/control_generic.c, src/mpg123.c,
	  src/playlist.c, src/term.c: mpg123: gracefully note LFS position
	  troubles (32 bit off_t binary and >2G file)

2023-08-29 08:52  thor

	* src/intsym.h: intsym: remove some cruft

2023-08-29 08:51  thor

	* src/libmpg123/parse.c, src/libmpg123/parse.h: libmpg123: remove
	  some cruft

2023-08-24 07:00  thor

	* src/libmpg123/mpg123.h, src/libmpg123/mpg123lib_intern.h,
	  src/mpg123app.h: build: fix case where user predefines flags with
	  _FILE_OFFSET_BITS

2023-08-24 06:38  thor

	* configure.ac: build: fix some largefile detection
	  
	  This avoids multiple definitons of SIZEOF_OFF_T during testing
	  and
	  now properly does _not_ define O_LARGEFILE to 0 if it is present.

2023-08-23 12:31  thor

	* configure.ac, ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/config.cmake.h.in, src/libmpg123/lfs_wrap.c,
	  src/libout123/libout123.c: build: portability fixes
	  
	  This ensures we also get the definitions for mpg123_open()
	  variants that lsf_wrap.c
	  needs. Also, clock_gettime() is explicitly checked for, helping
	  mingw build of the
	  sleep output module.
	  
	  Not sure if the CMake part is right, was only able to half-test
	  it. Cross builds
	  with CMake are not as simple as saying --host to configure.

2023-08-21 22:10  thor

	* src/libmpg123/lfs_wrap.c, src/libmpg123/mpg123.h: libmpg123:
	  include stdint.h for int64_t, MSVC rather needs that, hide
	  ssize_t with MPG123_PORTABLE_API

2023-08-21 09:07  thor

	* Makefile.am, NEWS, NEWS.libmpg123, NEWS.libsyn123, configure.ac,
	  doc/Makemodule.am, doc/READERS, ports/README, ports/Sony_PSP,
	  ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/config.cmake.h.in,
	  ports/cmake/src/libmpg123/CMakeLists.txt, scripts/intsym.pl,
	  src/Makemodule.am, src/common.c, src/compat/compat.c,
	  src/compat/compat.h, src/intsym.h, src/libmpg123/Makemodule.am,
	  src/libmpg123/decode.h, src/libmpg123/format.c,
	  src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/gapless.h, src/libmpg123/icy.h,
	  src/libmpg123/id3.c, src/libmpg123/index.c,
	  src/libmpg123/index.h, src/libmpg123/lfs_alias.c,
	  src/libmpg123/lfs_wrap.c, src/libmpg123/lfs_wrap.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h,
	  src/libmpg123/mpg123.h.in, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/ntom.c, src/libmpg123/parse.c,
	  src/libmpg123/reader.h, src/libmpg123/readers.c,
	  src/libsyn123/resample.c, src/libsyn123/syn123_int.h,
	  src/mpg123app.h: libmpg123: purge off_t out of the core, offer 64
	  bit portable API (bug 344)
	  
	  This now is the result of way to much time of thinking hard about
	  disentangling
	  the various I/O paths in libmpg123. It needed days of hacking,
	  way too many
	  hours continuously, to figure out how this would work. So this is
	  my draft
	  that I tested in various settings and am hopeful that it fulfills
	  the ideas
	  drafted in bug 344, the relentless discussion with manx about how
	  portable
	  API should look.
	  
	  Instead of just adding some 64 bit functions, this is a
	  refactoring of the
	  reader code, moving the parts actually dealing with OS calls and
	  largefile
	  support into lfs_wrap.c, which now offers wrappers and aliases.
	  All file I/O
	  is now routed through the interface of mpg123_reader64() and
	  could neatly be
	  split into a separate library, weren't it for only a handful of
	  internal hooks.
	  
	  I fixed up the autoconf and the CMake build. Ideally, both break
	  only on
	  a limited set of platforms. I am pushing this directly to trunk
	  as a)
	  I did testing on x86-64 and i686 with some largefile switchery
	  and think
	  it should work and b) I want people to quickly tell me what does
	  not work.
	  
	  Let's see how many iterations we'll need until 1.32.0 can finally
	  be released.

2023-08-19 17:51  thor

	* src/libmpg123/reader.h, src/libmpg123/readers.c: libmpg123: get
	  rid of rdat.fullread

2023-08-14 11:10  thor

	* doc/LARGEFILE: doc: getting the picture about new LFS support

2023-08-07 13:46  thor

	* NEWS, src/libmpg123/getcpuflags.h: build: only define
	  wrap_getcpuflags() if needed (bug 353)

2023-08-07 13:40  thor

	* src/libmpg123/optimize.c: optimize: use the simple OPT_CPU_FLAGS
	  define

2023-08-06 10:29  thor

	* src/libout123/Makemodule.am, src/libsyn123/Makemodule.am: build:
	  install out123.h and syn123.h again

2023-08-06 10:14  thor

	* doc/doxyhead.xhtml: fix path to NEWS, https

2023-08-06 10:13  thor

	* doc/doxyhead.xhtml: fix paths to NEWS.lib*

2023-08-06 10:09  thor

	* NEWS.libmpg123, NEWS.libout123, NEWS.libsyn123: NEWS.lib*: Add
	  mpg123 releases matching API versions.

2023-06-21 20:52  thor

	* src/compat/compat.h: fix ssize_p / SSIZE_P definitions (bug 352)

2023-05-28 19:26  thor

	* NEWS, doc/README.remote, src/control_generic.c, src/mpg123.c,
	  src/mpg123app.h: mpg123: patch up remote control interface esp.
	  with buffer and fix some casing
	  
	  Buffering and generic remote control did not interact nicely
	  before. Now I added
	  some explicit draining and dropping to make sense.
	  
	  This means that, on track input end, there is a phase of draining
	  the output buffer
	  that you cannot interrupt with a command. Decide between quick
	  control or stable
	  playback. Seamless buffered track transitions are not really in
	  the picture. That
	  would need more invasive changes in the control logic.
	  
	  A re-implementation of the mpg123 player with differing
	  interfaces would improve
	  on that behaviour. We're carrying the tradition of some decades
	  of hacks here.

2023-05-25 08:37  thor

	* NEWS: NEWS: one TODO less

2023-05-25 08:29  thor

	* NEWS, src/term.c: mpg123: no endless loop in term_handle_input(),
	  gives progress for stopped-seeking

2023-05-21 20:51  thor

	* NEWS, src/mpg123.c: TODO about improving/fixing buffering
	  behaviour

2023-05-21 17:23  thor

	* src/libsyn123/geiger.c, src/libsyn123/libsyn123.c,
	  src/libsyn123/resample.c, src/libsyn123/sampleconv.c: libsyn123:
	  silence some warnings

2023-05-21 15:00  thor

	* src/libmpg123/lfs_alias.c: libmpg123: remove duplicated
	  delarations after including mpg123.h now

2023-05-21 13:48  thor

	* src/libmpg123/calctables.c, src/libmpg123/l12tabs.h,
	  src/libmpg123/l3tabs.h: libmpg123: make floating point constants
	  in tables single precision explicitly to silence compilers

2023-05-20 12:45  thor

	* src/libmpg123/reader.h: libmpg123: we are not behind the off_t
	  wall yet

2023-05-20 11:40  thor

	* doc/examples/mpg123_to_wav_replaced_io.c, src/compat/compat.h,
	  src/libmpg123/lfs_alias.c, src/libmpg123/lfs_wrap.c,
	  src/libmpg123/libmpg123.c, src/mpg123.c, src/playlist.c,
	  src/playlist.h, src/streamdump.c, src/streamdump.h,
	  src/win32_net.c, src/win32_support.c, src/win32_support.h: more
	  getting rid of ssize_t, also in implementation, in favour of
	  mpg123_ssize_t

2023-05-20 11:30  thor

	* src/libmpg123/mpg123.h.in: libmpg123: always define
	  mpg123_ssize_t

2023-05-20 11:08  thor

	* src/libsyn123/resample.c, src/libsyn123/syn123.h,
	  src/libsyn123/syn123_int.h: libsyn123: also no direct ssize_t
	  usage in implementation, please

2023-05-20 10:55  thor

	* src/compat/compat.c: compat: use ptrdiff_t as ssize_t replacement

2023-05-20 10:46  thor

	* src/compat/compat.c: compat: get rid of two more ssize_t
	  instances

2023-05-18 08:28  thor

	* NEWS: more TODO/breakage

2023-05-17 21:19  thor

	* NEWS, src/common.c, src/common.h, src/control_generic.c,
	  src/libmpg123/mpg123.h.in, src/mpg123.c: mpg123: really get rid
	  of mpg123_position() usage

2023-04-08 21:27  thor

	* src/libmpg123/reader.h, src/libmpg123/readers.c: libmpg123: drop
	  READER_SYSTEM
	  
	  It never was a thing here, anyway.

2023-04-08 18:36  thor

	* src/compat/compat.h, src/libmpg123/format.c, src/libmpg123/id3.c,
	  src/libmpg123/reader.h, src/libmpg123/readers.c: libmpg123:
	  reduce ssize_t and prepare some parts for portable API
	  
	  The idea is to get rid of ssize_t and off_t for most parts. MSVC
	  hacking
	  around ssize_t is to go, in favour of enforcing
	  MPG123_PORTABLE_API.

2023-04-08 18:31  thor

	* src/libmpg123/stringbuf.c, src/tests/text.c: stringbuf: no
	  ssize_t here

2023-03-17 17:06  thor

	* configure.ac: build: revert r5225 and instead aim to fix libtool

2023-03-17 16:13  thor

	* src/libsyn123/filter.c, src/libsyn123/libsyn123.c,
	  src/libsyn123/resample.c, src/libsyn123/sampleconv.c: libsyn123:
	  make MSVC more happy, mostly with explicit single precision work

2023-03-17 11:31  thor

	* src/libsyn123/geiger.c, src/libsyn123/resample.c: libsyn123: some
	  explicit floatness for pedantic compilers

2023-03-17 11:30  thor

	* src/libout123/wav.c: libout123: some casting to make compilers
	  happy

2023-03-17 11:30  thor

	* src/libout123/libout123.c: libout123: avoid integer type
	  warnings, ensure clock_gettime() and usleep() availability

2023-03-16 08:18  thor

	* src/libout123/libout123.c: libout123: usleep with useconds_t, not
	  suseconds_t

2023-03-16 07:49  thor

	* configure.ac: build: ADD_CFLAGS, not ADD_CLAGS for nagging mode

2023-03-15 08:26  thor

	* NEWS: NEWS: that was just a fix for newly added sleep output

2023-03-15 08:25  thor

	* NEWS: NEWS: that was just a fix for newly added sleep output

2023-03-15 08:18  thor

	* NEWS: document pedantic error fixes

2023-03-15 08:09  thor

	* NEWS: mention more things for 1.31.3

2023-03-15 07:57  thor

	* NEWS: preparing for 1.31.3 bugfix release

2023-03-09 19:06  thor

	* NEWS, src/libsyn123/resample.c, src/libsyn123/syn123.h:
	  libsyn123: fix bug 350, proper handling of switching to zero
	  decimator steps on the fly

2023-02-13 23:52  thor

	* configure.ac, ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/libout123/CMakeLists.txt,
	  src/libout123/Makemodule.am, src/libout123/out123.h,
	  src/libout123/out123.h.in: libout123: out123.h without conifgure
	  processing

2023-02-13 23:40  thor

	* NEWS: NEWS: remove TODO, we got --doublespeed for MP3s at least

2023-02-13 16:54  thor

	* src/libsyn123/syn123.h: libsyn123: also add the hack for
	  non-portable ssize_t to avoid preventing a library build in MSVC

2023-02-13 16:53  thor

	* NEWS, NEWS.libsyn123, src/libsyn123/resample.c,
	  src/libsyn123/syn123.h, src/tests/resample_total.c,
	  src/tests/sweeper.c: libsyn123: fix up the ssize_t mess
	  
	  This is the first example of a cleaned-up SYN123_PORTABLE_API,
	  then, that
	  should be usable just with C99 features, not POSIX extensions.

2023-02-13 15:45  thor

	* configure.ac: build: link in -lrt where necessary for
	  clock_gettime (CentOS 6.10)

2023-02-13 11:22  thor

	* Makefile.am: build: fix out-of-tree build with non-processed
	  syn123.h

2023-02-12 23:29  thor

	* NEWS: I would like to stretch time.

2023-02-12 19:45  thor

	* configure.ac, ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/config.cmake.h.in, src/libsyn123/resample.c:
	  build, libsyn123: no off64_t, adds more mess than it saves

2023-02-12 18:42  thor

	* src/libsyn123/Makemodule.am: build: fix dist for syn123.h

2023-02-12 15:37  thor

	* NEWS, NEWS.libsyn123, configure.ac,
	  ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/config.cmake.h.in,
	  ports/cmake/src/libsyn123/CMakeLists.txt,
	  src/libsyn123/resample.c, src/libsyn123/syn123.h,
	  src/libsyn123/syn123.h.in: libsyn123: prototype for portable API
	  avoiding off_t and processed headers
	  
	  This makes in64_t API explicit (syn123_resample_total64()) and
	  introduces the
	  SYN123_PORTABLE_API switch to blend out the off_t cruft. Said
	  cruft has been
	  redefined internally, preparing what might happen to libmpg123,
	  too.
	  
	  Let's see if this stands. The idea is to finally handle the
	  complaints of
	  bug 344.

2023-02-12 12:59  thor

	* NEWS: NEWS: dropping the TODO to drop 4to1 2to1
	  
	  This was a misunderstanding. The interal decoding to reduced rate
	  is fine.
	  It is just that complex rock music sounds awful at 8000 Hz. I
	  compared
	  spectra of 44100->8000 and 4to1 11050->8000, rather identical, no
	  additional
	  artifacts, as it should be when the reduced-rate decoder does its
	  proper
	  thing.

2023-02-12 12:39  thor

	* NEWS, src/common.c: mpg123: fix verbose position info with new
	  resampling

2023-02-09 10:20  thor

	* src/term.c: mpg123: reset playback state on new track

2023-02-09 10:14  thor

	* NEWS, man1/mpg123.1, src/common.c, src/common.h, src/mpg123.c,
	  src/term.c, src/term.h: mpg123: first go at A-B looping

2023-02-08 21:26  thor

	* NEWS: do not forget: fix up resampling stuff

2023-02-07 21:01  thor

	* src/libout123/libout123.c: libout123: trying to un-break sleep
	  output on Windows, again

2023-02-07 19:22  thor

	* src/libout123/libout123.c: libout123: guard sys/time.h by
	  configure check

2023-02-07 03:45  thor

	* NEWS, src/libout123/libout123.c: libout123: sleep builtin output
	  module
	  
	  This uses sleep() or usleep() with clock_gettime() for some
	  proper duration
	  of silent playback for testing (or just some weird way of keeping
	  time).

2023-02-07 03:42  thor

	* NEWS: back to fixed headers ... some time

2023-02-07 03:40  thor

	* src/libmpg123/mpg123.h.in, src/libsyn123/syn123.h.in: build: just
	  include stdlib.h and sys/types.h in API headers

2023-02-05 21:26  thor

	* NEWS, src/libmpg123/mpg123.h.in, src/libout123/out123.h.in,
	  src/libsyn123/syn123.h.in: build: include "fmt123.h"

2023-02-03 10:51  thor

	* src/compat/compat.c: compat: fix non-windows build again

2023-02-03 10:00  jon_y

	* configure.ac: -Wall -Wextra -pedantic in CFLAGS is breaking
	  libtool link wrappers, use it for preprocessor compile phase only

2023-02-03 08:41  thor

	* src/libmpg123/layer3.c: libmpg123: rephrase xrpnt limit checks to
	  make compilers happier

2023-02-03 06:13  jon_y

	* src/common.c, src/compat/compat.c, src/compat/compat_dl.c,
	  src/compat/wpathconv.h, src/control_generic.c,
	  src/libout123/modules/win32.c,
	  src/libout123/modules/win32_wasapi.c, src/mpg123app.h,
	  src/net123_winhttp.c, src/net123_wininet.c, src/out123.c: Fix
	  pedantic errors in mingw-w64 builds

2023-02-03 06:07  jon_y

	* src/term_win32.c: Suppress unused variables

2023-02-03 06:07  jon_y

	* src/win32_net.c: Suppress unused function

2023-01-28 11:05  thor

	* NEWS, configure.ac: build: fix --disable-8bit

2023-01-24 08:13  thor

	* ChangeLog: update dummy ChangeLog with better URL and hint for
	  svn2cl

2023-01-24 07:41  thor

	* src/version.pl: script to get/set version number, replacing
	  earlier hackery in configure.ac

2023-01-23 14:14  thor

	* NEWS, NEWS.libmpg123, NEWS.libout123, NEWS.libsyn123,
	  configure.ac, man1/mpg123.1, ports/cmake/CMakeLists.txt,
	  ports/cmake/cmake/read_api_version.cmake, src/Makemodule.am,
	  src/httpget.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libout123/libout123.c,
	  src/libout123/out123.h.in, src/libsyn123/libsyn123.c,
	  src/libsyn123/syn123.h.in, src/mpg123-id3dump.c,
	  src/mpg123-strip.c, src/mpg123.c, src/net123_exec.c,
	  src/net123_winhttp.c, src/net123_wininet.c, src/out123.c,
	  src/version.h: Move version specification out of configure.ac
	  into plain headers,
	  
	  version.h for the project distribution version, the individual
	  library API headers for their respective API and patch levels.
	  
	  The libraries now report their build-time version information via
	  foo123_distversion() and foo123_libversion().
	  
	  This removes one item of preprocessing from the public headers.
	  Remaining
	  are some conditional headers that we might just use, and the
	  dreaded
	  largefile business in the form of MPG123_NO_LARGENAME.

2023-01-15 21:39  thor

	* .github/workflows/CMake-MSVC-noyasm.yml: CI for MSVC without yasm

2023-01-15 21:35  thor

	* NEWS, ports/cmake/src/libmpg123/CMakeLists.txt: ports/cmake:
	  attempt to make MSVC folks without yasm happy (bug 346)

2023-01-14 22:40  thor

	* configure.ac: version 1.32.2

2023-01-14 22:40  thor

	* AUTHORS, NEWS, src/resolver.c: network: another build fix for
	  OS/2, to actuallly find getaddrinfo()

2022-12-19 09:24  thor

	* NEWS, configure.ac: build: fix --with-network=internal

2022-11-24 12:10  thor

	* .github/scripts/mail-for-all-new-open-prs.py,
	  .github/scripts/mail-for-all-new-open-prs.py.example,
	  .github/workflows/cron-git.yml,
	  .github/workflows/cron-git.yml.example,
	  .github/workflows/cron-pr.yml,
	  .github/workflows/cron-pr.yml.example: github: rename scripts
	  that conflict with mirror itself to .example

2022-11-05 12:30  thor

	* .github/workflows/cron-git.yml, .github/workflows/cron.yml:
	  github: new cron sync script

2022-11-05 12:28  thor

	* .github/workflows/cron-pr.yml, .github/workflows/pr.yml: github:
	  new cron-pr.yml

2022-11-05 12:24  thor

	* .github/scripts/mail-for-all-new-open-prs.py: add script, not the
	  web page around it

2022-11-05 12:23  thor

	* .github/PULL_REQUEST_TEMPLATE.md, .github/scripts,
	  .github/scripts/mail-for-all-new-open-prs.py,
	  scripts/mail-for-all-new-open-prs.py: github PR template, move
	  script

2022-11-03 06:58  thor

	* .github/workflows/cron.yml, .github/workflows/pr.yml, AUTHORS,
	  README.md, scripts/mail-for-all-new-open-prs.py: add madebr
	  github mirror actions

2022-11-03 06:43  thor

	* .github, .github/workflows, .github/workflows/CMake-MSVC.yml,
	  .github/workflows/MSYS2.yml, .github/workflows/Ubuntu.yml: Add
	  github CI builds by manx.

2022-10-31 22:47  thor

	* NEWS, configure.ac, src/libmpg123/lfs_alias.c: build: fix lfs
	  aliases for non-sensitive build of mpg123 itself that has
	  _FILE_OFFSET_BITS set

2022-10-23 19:29  thor

	* NEWS: NEWS: redordering

2022-10-23 16:18  thor

	* NEWS, configure.ac, src/libout123/modules/win32.c: out123: win32
	  defaults to 0.25 seconds device buffer

2022-10-23 11:22  thor

	* NEWS, src/getlopt.c, src/getlopt.h, src/mpg123.c, src/out123.c:
	  getlopt: check for wholly valid arguments (strtoX intead of atoX)
	  
	  This catches cases where you just forgot the second hyphen, like
	  -devbuffer, which would be parsed like -d evbuffer, which just
	  stored a zero before. Now it's a fatal usage error.

2022-10-22 11:16  jon_y

	* src/libout123/modules/win32.c: Fix stray *

2022-10-22 09:05  thor

	* NEWS, src/libout123/modules/win32.c: libout123/win32: tunable
	  buffer size

2022-10-18 10:38  jon_y

	* src/streamdump.c: Switch winhttp and wininet order properly,
	  prefer wininet

2022-10-17 11:05  jon_y

	* src/streamdump.c: Prefer wininet over winhttp, some streams with
	  winhttp work in wine-staging-7.17 but fails on win7

2022-10-17 11:00  jon_y

	* configure.ac: Fix wincon.h detection for Windows

2022-10-16 18:59  thor

	* NEWS, src/mpg123.c, src/term.c, src/term.h: mpg123: fail on -C /
	  --control if terminal init fails

2022-10-16 18:42  thor

	* NEWS, configure.ac: mpg123: actually enable term_type=win32!

2022-10-15 13:06  thor

	* configure.ac: build: look for sndio via pkg-config

2022-10-15 12:57  thor

	* ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/config.cmake.h.in: ports/cmake: fix up network
	  stuff for UNIX build

2022-10-15 12:57  thor

	* ports/README: ports: lower expectations

2022-10-15 10:41  thor

	* src/term.c: more condensed terminal help, multiple columns

2022-10-14 21:38  thor

	* NEWS, src/term.c: mpg123: more terminal help compacting

2022-10-14 15:59  thor

	* src/term.c: mpg123: shorten terminal help

2022-10-13 22:22  thor

	* configure.ac: build: fix --with-audio=dummy conditionals (empty
	  default_output_module)

2022-10-13 22:11  thor

	* Makefile.am: also distribute the toolchain file, for, whatever

2022-10-13 21:51  thor

	* NEWS, src/libmpg123/dct36_3dnow.S,
	  src/libmpg123/dct36_3dnowext.S, src/libmpg123/dct64_3dnow.S,
	  src/libmpg123/dct64_mmx.S, src/libmpg123/dct64_sse.S,
	  src/libmpg123/dct64_sse_float.S, src/libmpg123/mangle.h: build:
	  maybe having handled Android with global ptrs now (bug 345)

2022-10-13 21:15  thor

	* src/tests/seek_accuracy.c: tests: fprintf cast

2022-10-13 20:54  thor

	* ports/cmake/linux_i686.toolchain.cmake,
	  ports/cmake/src/libmpg123/CMakeLists.txt: build: beginning to
	  addresss bug 345, Android PICy assembly with cmake
	  
	  This adds the missing -DPIC for libmpg123 when building shared
	  libs with
	  cmake, and also a toolchain file to ease testing of a 32 bit
	  build
	  (can't be as easy as with autotools, eh?).

2022-10-12 23:21  thor

	* NEWS, man1/mpg123.1, src/common.c, src/mpg123.c, src/mpg123app.h,
	  src/term.c, src/term.h: mpg123: add --pauseloop, terse term help
	  begin, fix buffer interaction

2022-10-12 22:05  thor

	* src/intsym.h: bring intsym.h up to date

2022-10-12 22:04  thor

	* NEWS, configure.ac, src/libout123/buffer.c,
	  src/libout123/buffer.h, src/libout123/libout123.c,
	  src/libout123/out123_int.h: libout123: fix race condition in
	  buffer_sync_param() due to reading multiple commands
	  
	  The change to efficiently read multiple commands did include
	  taking into
	  account the buffered bytes for command parameters for other
	  operations,
	  but not BUF_CMD_PARAM. This is now fixed. Also, the code for
	  read/write
	  of parameters fits better into buffer.c, needing less non-static
	  functions.
	  
	  The whole thing still looks rather messy, but it has a
	  multi-decadal tradition
	  now, and just maybe is not full of bugs yet to be found.

2022-10-08 10:04  thor

	* NEWS: It will be 1.31.0

2022-10-05 21:33  thor

	* NEWS, src/term.c, src/term_none.c, src/term_posix.c,
	  src/term_win32.c, src/terms.h: merge in
	  https://github.com/madebr/mpg123/pull/10 for reducing CPU load
	  when just waiting for terminal input

2022-09-26 11:14  thor

	* NEWS, configure.ac: build: avoid largefile renaming on
	  non-sensitive platforms (bug 330)

2022-09-26 11:10  thor

	* ., NEWS, configure.ac, ports/cmake/src/CMakeLists.txt,
	  src/Makemodule.am, src/common.c, src/control_generic.c,
	  src/httpget.c, src/httpget.h, src/local.c, src/mpg123.c,
	  src/net123.h, src/net123_exec.c, src/net123_winhttp.c,
	  src/net123_wininet.c, src/playlist.c, src/streamdump.c,
	  src/streamdump.h, src/term.c, src/term_posix.c, src/win32_net.c,
	  src/win32_support.h: merge in multinet to trunk

2022-09-25 07:16  thor

	* ., NEWS, configure.ac, src/libout123/libout123.c: merge in the
	  out123_write() fix to trunk

2022-09-13 08:56  thor

	* NEWS, src/control_generic.c: mpg123: unconfuse about unknown
	  commands just because of added unwanted argument

2022-09-13 08:37  thor

	* src/control_generic.c: typo

2022-09-13 08:24  thor

	* src/control_generic.c: mpg123: fix condition for too long command

2022-09-04 06:09  thor

	* NEWS, src/control_generic.c: control: read again for unfinished
	  commands until they are really too long

2022-08-14 09:20  thor

	* NEWS: Do not forget to uncripple curl with redirections again.

2022-08-14 07:49  thor

	* NEWS, src/net123_exec.c, src/streamdump.c: Add redirection
	  handling to streamdump.
	  
	  This is in preparation for lifting the same from httpget.c and
	  win32_net.c, shrinking
	  those a bit before turning them into something to use alongside
	  net123.

2022-08-01 21:51  thor

	* configure.ac: version 1.30.2

2022-07-27 08:22  thor

	* src/compat/compat.c: complete the EWOULDBLOCK fix, missed the
	  second instance

2022-07-25 06:10  thor

	* NEWS, src/compat/compat.c: Simplify EWOULDBLOCK use, hopefullly
	  fixing FreeBSD build (bug 339)

2022-07-11 08:36  thor

	* NEWS, man1/mpg123.1: mpg123: man page updates

2022-07-09 20:21  thor

	* src/net123_exec.c: net123: of course accept modern curl
	  automatically!

2022-07-09 16:11  thor

	* src/net123_exec.c: net123: use curl --help all to get the
	  --http0.9 mentioned on new versions, too

2022-07-09 14:34  thor

	* src/streamdump.c: mpg123: make sure to strip scheme prefix only
	  once

2022-07-09 08:47  thor

	* NEWS, src/net123_exec.c, src/streamdump.c: net123, mpg123: more
	  helpful error handling for network helpers

2022-07-08 22:15  thor

	* NEWS, src/net123_exec.c: net123: helper unavailability message

2022-07-08 09:09  thor

	* NEWS, src/streamdump.c: support file:// as was intended

2022-06-28 01:40  jon_y

	* configure.ac: Switch network backend if enabled for windows back
	  to wininet by default

2022-06-27 20:42  thor

	* NEWS, configure.ac, src/net123_exec.c: net123_exec: detect/use
	  curl --http0.9

2022-06-27 19:31  thor

	* NEWS, src/net123_exec.c: net123_exec: allow error messages to
	  show up

2022-06-26 14:58  thor

	* INSTALL: more definite INSTALL instructions

2022-06-26 13:44  thor

	* ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/config.cmake.h.in: ports/cmake: add new terminal
	  and network stuff for UNIX

2022-06-26 10:53  jon_y

	* configure.ac: Set default windows https backend to winhttp

2022-06-24 07:41  thor

	* configure.ac: build: remove outdated comment

2022-06-24 07:38  thor

	* NEWS: NEWS: not about libmpg123

2022-06-24 07:31  thor

	* src/libout123/modules/os2.c: libout123/os2: Making things more
	  static, some crude safeguard against multiple opens, drain
	  attempt
	  
	  I copied some lines from close_os2() that seem to do what
	  drain_os2() needs to do. All of those
	  local variables shall be static. And while they are, we should
	  avoid openening the stuff
	  multiple times, overwriting things in parallel in fun ways from
	  the callback.
	  
	  Maybe this is a workable state now for OS/2 mpg123 playback.

2022-06-24 07:16  thor

	* src/libout123/modules/os2.c: debug → mdebug

2022-06-23 23:13  thor

	* NEWS, src/libout123/modules/os2.c: libout123/os2: finally
	  non-stuttering playback? mostly fine, still with quirks

2022-06-23 23:12  thor

	* configure.ac, src/libout123/libout123.c: libout123: prevent
	  underflow due to too-high return value of module write function
	  
	  If ao->write() returns more than the given byte count, an
	  underflow and endless
	  write loop could result. This is not such a big issue as we do
	  not advertise a
	  public plugin API and have both sides under control (and a bad
	  plugin could do
	  anything nasty, anyway), but a programming error during
	  development of some
	  fixing of the OS/2 output triggered this condition.

2022-05-28 16:34  jon_y

	* configure.ac: Correct typos

2022-05-27 13:25  thor

	* NEWS: NEWS: mention terminal for OS/2 and Windows

2022-05-27 13:16  thor

	* man1/mpg123.1: doc: add -@ MIME handling to manpage

2022-05-27 13:07  thor

	* configure.ac: new network by default

2022-05-27 12:39  thor

	* src/term_win32.c: mpg123: explain the -1 for Windows terminal
	  width.

2022-05-23 11:26  jon_y

	* src/term_win32.c: Workaround weird issue where line widths wider
	  than 80 doesn't erase the previous line

2022-05-22 09:24  thor

	* NEWS, src/common.c, src/metaprint.c, src/term.c: mpg123: always
	  blank line after tags

2022-05-21 21:48  thor

	* NEWS, src/metaprint.c: mpg123: print also USLT to correct output

2022-05-19 15:13  thor

	* src/term_posix.c: mpg123: hack for OS/2 scrolling term

2022-05-19 13:36  jon_y

	* src/term_win32.c: Avoid premature optimizations

2022-05-18 12:54  jon_y

	* src/term_win32.c: semi working win32 console controls

2022-05-18 12:15  jon_y

	* src/term.c: Remove uneeded termios.h

2022-05-18 11:40  jon_y

	* src/term_win32.c: Simplify wait logic

2022-05-18 09:57  jon_y

	* src/term_win32.c: Totally untested term_get_key for win32

2022-05-18 05:31  thor

	* NEWS, src/common.c, src/mpg123.c, src/mpg123app.h: mpg123: more
	  terminal detection and handling resizing in print_stat()

2022-05-17 16:15  thor

	* src/common.c: mpg123: OS/2 without select on stderr

2022-05-16 19:15  thor

	* src/term_posix.c: mpg123: sleep for 10 ms on OS/2, too

2022-05-16 17:42  thor

	* src/term_posix.c: mpg123: trying some more direct keyboard access
	  for OS/2

2022-05-14 16:52  thor

	* configure.ac, src/common.c, src/local.c, src/mpg123.c,
	  src/mpg123app.h, src/term.h: build: a lot less HAVE_TERMIOS,
	  migth re-enable some switches for TERM_NONE

2022-05-14 13:26  thor

	* configure.ac, src/Makemodule.am, src/common.c, src/local.c,
	  src/mpg123.c, src/out123.c, src/term.c, src/term_none.c,
	  src/term_posix.c: term: the new switchery to later enable
	  term_type=win32

2022-05-14 12:39  thor

	* src/terms.h: terms: allow error messages

2022-05-14 12:21  jon_y

	* src/term_win32.c: Untested and incomplete win32 console support

2022-05-14 11:45  thor

	* src/terms.h: terms: grammar

2022-05-14 11:44  thor

	* src/terms.h: terms: typo

2022-05-14 11:42  thor

	* src/term_win32.c: terms: starting point for windows terminal

2022-05-14 11:40  thor

	* src/terms.h: terms: starting some puny terminal abstraction

2022-05-14 07:25  thor

	* configure.ac, src/compat/compat.h, src/local.c, src/mpg123.c,
	  src/out123.c: build: get rid of -DOS2

2022-05-14 07:15  thor

	* configure.ac: build: stupid typo

2022-05-14 07:11  thor

	* configure.ac: build: handle OS/2 CFLAGS for os2mme

2022-05-14 05:00  thor

	* configure.ac: build: be nice, do return

2022-05-14 04:45  thor

	* src/term.c: term: trying something for OS/2

2022-05-14 01:34  jon_y

	* configure.ac: Add stdio.h to fix STDIN_FILENO usage in setmode
	  tests

2022-05-13 15:39  thor

	* configure.ac: build: more elaborate test for _setmode() and
	  associated underscored flags

2022-05-13 10:49  jon_y

	* src/compat/compat.c: Fix missing semicolon

2022-05-13 07:15  thor

	* NEWS, configure.ac, src/compat/compat.c, src/compat/compat.h,
	  src/libout123/wav.c, src/mpg123-strip.c, src/net123_exec.c,
	  src/out123.c, src/streamdump.c: build, compat, net123: more
	  binary mode for all

2022-05-11 21:23  thor

	* doc/Makemodule.am, src/Makemodule.am: build: revert
	  work-in-progress changes about net123 structure, add windows
	  notes in doc

2022-05-10 11:08  thor

	* NEWS, src/control_generic.c, src/term.c, src/term.h: mpg123: use
	  better EQ API and introduce EQ control in terminal

2022-05-10 11:07  thor

	* NEWS.libmpg123, configure.ac, src/libmpg123/frame.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in,
	  src/libmpg123/mpg123lib_intern.h: libmpg123: add more equalizer
	  control for multiple bands and dB changes
	  
	  Linear increments are stupid.

2022-05-10 05:03  thor

	* src/compat/compat.c: common: OS/2 got some development, part 2b

2022-05-10 05:00  thor

	* src/compat/compat.c: common: OS/2 got some development, part 2

2022-05-10 04:58  thor

	* NEWS, src/compat/compat.h: common: OS/2 got some development,
	  part 1

2022-05-09 13:26  jon_y

	* src/Makemodule.am: Add doc/windows-notes.html to EXTRA_DIST

2022-05-08 14:20  thor

	* configure.ac: build: notice about --with-network being the ruler

2022-05-08 14:14  thor

	* configure.ac, src/Makemodule.am, src/mpg123.c, src/net123.h,
	  src/net123_exec.c, src/net123_posix.c, src/net123_winhttp.c,
	  src/net123_wininet.c: mpg123: rework network stack selection,
	  rename net123_posix to net123_exec

2022-05-08 14:06  thor

	* NEWS: mention h_addr_list

2022-05-08 14:06  thor

	* src/playlist.c: mpg123: close playlist stream after adding all
	  files

2022-05-08 07:06  jon_y

	* configure.ac, src/Makemodule.am: Reorganize network backend
	  options into mutually exclusive --with-network= options

2022-05-08 06:20  jon_y

	* src/resolver.c: Fix build on modern glibc

2022-05-08 05:29  jon_y

	* src/win32_net.c, src/win32_support.h: make win32_net_http_open
	  string const

2022-05-06 09:16  thor

	* NEWS, configure.ac, src/mpg123.c, src/term.c: mpg123: fix up
	  terminal control independently of stdin (bug 338)

2022-05-06 08:46  thor

	* src/mpg123.c: mpg123: network backend parameter only if NET123

2022-05-02 11:50  thor

	* src/streamdump.c: streamdump: fix stdin playpack

2022-05-01 20:48  thor

	* src/mpg123.c, src/mpg123app.h, src/net123_posix.c: net123_posix:
	  some fixup and adding curl as alternative packend, with --network
	  option

2022-05-01 16:57  jon_y

	* src/net123_wininet.c: Fix wininet headers return

2022-05-01 15:18  jon_y

	* src/net123_wininet.c: Initial wininet code

2022-04-26 11:19  jon_y

	* src/net123_winhttp.c: Fix winhttp code

2022-04-25 15:40  thor

	* src/playlist.c: playlist: remove win32 socket remnant

2022-04-25 15:30  jon_y

	* src/compat/compat_str.c: Fix typo

2022-04-25 13:52  thor

	* NEWS, configure.ac, src/Makemodule.am, src/control_generic.c,
	  src/httpget.c, src/httpget.h, src/mpg123.c, src/mpg123app.h,
	  src/net123_posix.c, src/playlist.c, src/streamdump.c,
	  src/streamdump.h: net123: add --enable-net123 for new network
	  code
	  
	  The default is the reworked old networking code that shall at
	  some point be ripped out.
	  Right now, the situation improved already by concentrating the
	  differing I/O calls
	  in streamdump.c, not having win32 socket stuff littered in
	  mpg123.c and playlist.c.
	  
	  We got one common place for a generic getline(), central dispatch
	  for libmpg123
	  reader replacement. Header parsing is also in streamdump.c. If we
	  got some of our
	  desired headers, the HTTP/Shoutcast request is considered
	  successful.
	  
	  I tested both modes on Linux so far, and was able to listen to
	  some HTTPs web radio.
	  
	  AddressSanitizer complains a bit only about some single-shot
	  strdups leaking, but no
	  serious issues so far.

2022-04-25 13:30  thor

	* src/intsym.h: intsym: the UTF7 call

2022-04-25 08:02  thor

	* src/compat/compat.c: compat: unintr_read() was broken on hitting
	  EOF
	  
	  This wasn't an issue before for the single use in the output
	  buffer, it seems, but now on reading
	  real files, it is immediately obvioys that the check needs a > 0,
	  not >= 0.

2022-04-23 11:28  jon_y

	* src/compat/compat.h, src/compat/compat_str.c,
	  src/net123_winhttp.c: Initial winhttp based network client

2022-04-23 08:36  thor

	* src/net123.h, src/net123_posix.c: net123: more simplification,
	  posix code compiles, untested

2022-04-23 08:35  thor

	* src/compat/compat.c: compat: more unintr, for completeness

2022-04-23 07:42  thor

	* src/net123.h: net123: no header parsing in net123_open()

2022-04-21 15:18  thor

	* src/libmpg123/mpg123.h.in: libmpg123: doc typo

2022-04-21 14:36  thor

	* src/net123.h, src/net123_posix.c: net123: prototype ... needs
	  glue

2022-04-17 12:55  thor

	* scripts/mpg123-radio: scripts/mpg123-radio: with buffer

2022-04-17 12:43  thor

	* scripts/mpg123-radio: scripts/mpg123-radio: prototype for HTTPS
	  streaming

2022-04-15 16:49  thor

	* NEWS, src/libout123/modules/pulse.c: libout123/pulse: error code
	  needs to be zero before call, only set on actual error

2022-04-15 16:45  thor

	* src/mpg123.c: mpg123: be nice, free strdup() memory

2022-04-15 16:42  thor

	* NEWS, man1/mpg123.1, src/httpget.c, src/httpget.h, src/mpg123.c,
	  src/mpg123app.h: mpg123: obscure --auth argument and add
	  --auth-file

2022-04-14 11:23  thor

	* src/net123.h: net123: forgot the del

2022-04-13 19:51  thor

	* src/net123.h: net123: forgot the del

2022-04-13 19:49  thor

	* src/net123.h: net123: less functions?

2022-04-12 10:16  thor

	* src/net123.h: net123: discussing the design, header list on open

2022-04-04 14:59  thor

	* src/net123.h: net123: first attempt at defining an interface for
	  new network stuff

2022-03-16 08:22  thor

	* configure.ac: build: un-break configure and introduce better fix
	  for the dummy situation

2022-03-16 08:15  thor

	* NEWS, configure.ac, ports/cmake/cmake/read_api_version.cmake:
	  ports/cmake: use CMAKE_CURRENT_SOURCE_DIR for API version
	  extractor (bug 335)

2022-03-11 07:40  thor

	* configure.ac: build: fix configure, continue thinking

2022-03-11 07:37  thor

	* configure.ac: build: drop that note from configure

2022-03-10 07:48  thor

	* NEWS, configure.ac: build: default to dummy (bug 333)

2022-03-01 12:56  jon_y

	* NEWS: Add news entry on wasapi fix for Cygwin

2022-03-01 12:43  thor

	* INSTALL: INSTALL: some update for C99, more clear hint for dev
	  build, formatting

2022-03-01 12:43  thor

	* NEWS, src/mpg123.c, src/playlist.c: mpg123: verbosity in playlist
	  messaging, help tweak

2022-01-16 22:58  thor

	* NEWS, configure.ac, doc/README.remote, src/control_generic.c:
	  mpg123: add P 3 end state and PROGRESS command to remote control
	  mode
	  
	  It has been requested … and the other makes sense.

2022-01-10 15:15  jon_y

	* src/compat/compat.h, src/compat/compat_str.c: Unconditionally
	  provide win32_wide_utf8 and win32_utf8_wide for Win32 and Cygwin
	  since win32_wasapi plugin configuration needs it

2021-12-30 01:03  thor

	* NEWS, src/libout123/modules/win32_wasapi.c: libout123: accept
	  predefined _WIN32_WINNT (bug 329)

2021-12-18 12:33  thor

	* NEWS, configure.ac, src/libmpg123/readers.c: libmpg123: fix
	  another oss-fuzz report, this time really harmless unitialized
	  use of filepos

2021-12-17 17:15  thor

	* NEWS, configure.ac, src/compat/compat.h, src/libmpg123/readers.c:
	  libmpg123: saturate off_t additions to satisfy oss-fuzz

2021-12-10 06:58  thor

	* configure.ac: call it 1.29.3

2021-12-09 22:09  thor

	* NEWS, configure.ac, src/libmpg123/lfs_wrap.c: libmpg123: more
	  NULL argument checking in LFS wrappers (bug 328)

2021-12-09 00:05  thor

	* NEWS, man1/mpg123.1, src/mpg123.c: mpg123: fix -s implying
	  --remote-err

2021-12-02 21:41  thor

	* man1/mpg123.1: mpg123: more on equalizer bands in man page

2021-12-02 21:39  thor

	* NEWS, src/control_generic.c: mpg123: equalizer clarification,
	  drop bad SEQ limits

2021-11-27 07:58  thor

	* NEWS, ports/cmake/src/CMakeLists.txt: ports/cmake: add
	  BUILD_PROGRAMS, bug 326 by Evgeni Poberezhnikov

2021-11-10 06:51  thor

	* NEWS, man1/mpg123.1: man page fixes (github pull 9)

2021-10-18 16:07  thor

	* NEWS, configure.ac, src/libmpg123/libmpg123.c: libmpg123: fix
	  decoder-is-live check in mpg123_framebyframe_decode() (bug 324)

2021-10-08 09:07  thor

	* NEWS, src/mpg123-id3dump.c: mpg123-id3dump: also no resync limit

2021-10-08 09:02  thor

	* NEWS, src/mpg123-strip.c: mpg123-strip: limitless resync,
	  everything else does not make sense

2021-10-02 02:04  thor

	* NEWS, configure.ac, src/libmpg123/format.c,
	  src/libmpg123/frame.h, src/libmpg123/libmpg123.c, src/mpg123.c:
	  libmpg123, mpg123: handle decoder setup failure, even in indexing
	  (bug 322)

2021-09-30 23:45  thor

	* NEWS, configure.ac, src/audio.c, src/libout123/buffer.c,
	  src/libout123/libout123.c: libout123: fix device property flag
	  reporting for buffer operation
	  
	  The propflags have to be treated like driver and real device
	  name. The
	  buffer determines them and pushes them to the writer. This fixes
	  the
	  16 bit output issue for buffered output to filees or into a pipe.
	  
	  Speaking of that … it is a strange use case. If you feed a pipe,
	  you
	  got pipe buffering already.

2021-09-30 22:23  thor

	* src/audio.c: no debug

2021-09-18 11:31  thor

	* NEWS, configure.ac, src/audio.c: mpg123: fixing the default
	  encoding for new resampler to match old for file output

2021-08-30 08:49  thor

	* src/tests/Makemodule.am: build: fix dist of plain_id3 test

2021-08-29 08:27  thor

	* NEWS, src/libmpg123/id3.c: libmpg123: make check_bom()
	  non-recursive
	  
	  Recursively parsing a byte stream is just stupid. People should
	  not be taught
	  recursion until they got a problem that really needs it. A simple
	  loop
	  does the same thing, just needs different thought.

2021-08-29 08:24  thor

	* src/tests/Makemodule.am, src/tests/plain_id3.sh,
	  src/tests/plain_id3.txt: tests: compare output of plain_id3 to
	  reference
	  
	  This is a bit redundant with src/tests/text regarding encoding
	  conversion code,
	  but adds the twist of correctly parsing the ID3 in the test file.

2021-08-20 09:58  thor

	* src/libmpg123/calctables.c, src/libmpg123/init_layer12.h:
	  libmpg123: fix some sign pointer confusion

2021-08-19 19:25  thor

	* configure.ac: going to be a new version …

2021-08-19 18:48  thor

	* NEWS, configure.ac, src/compat/compat.h, src/intsym.h,
	  src/libmpg123/Makemodule.am, src/libmpg123/calctables.c,
	  src/libmpg123/costabs.h, src/libmpg123/decode.h,
	  src/libmpg123/feature.c, src/libmpg123/init_costabs.h,
	  src/libmpg123/init_layer12.h, src/libmpg123/init_layer3.h,
	  src/libmpg123/l12tabs.h, src/libmpg123/l2tables.h,
	  src/libmpg123/l3bandgain.h, src/libmpg123/l3tabs.h,
	  src/libmpg123/layer2.c, src/libmpg123/layer3.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in,
	  src/libmpg123/mpg123lib_intern.h, src/libmpg123/tabinit.c:
	  libmpg123: adding runtime tables (feature request 64)
	  
	  I reworked what Ethan Halsall patch started and now you can
	  again build mpg123 like version 1.26 with runtime-computed
	  tables. This is explictly hackily done in mpg123_parnew(),
	  assuming that concurrency on writing the same values is no
	  problem. The function mpg23_init() stays a no-op also in that
	  setup. Only people who really know what they're doing are
	  supposed
	  to use
	  
	  ./configure --enable-runtime-tables
	  .
	  In the specific case Ethan is interested in, it's a custom build
	  of libmpg23 resulting in a web asm decoder that doesn't know
	  multithreading anyway.
	  
	  The output is slightly different, as I made the runtime
	  computation
	  fully use single precision math now, while calctables works in
	  double and then prints rounded results. This changes the numbers
	  in the compliance test a bit (to the worse), but not in a
	  significant
	  manner. I figured that that is fine compared to wasting even more
	  CPU cycles in the table computation.

2021-07-11 07:16  thor

	* configure.ac: will be 1.28.2

2021-07-10 12:35  thor

	* NEWS, configure.ac, src/libout123/modules/sndio.c: libout123:
	  re-open sndio device after format setup failure

2021-07-09 08:03  thor

	* configure.ac: patchlevels

2021-07-09 08:01  thor

	* NEWS: NEWS reorder

2021-07-06 07:34  thor

	* NEWS, ports/cmake/src/CMakeLists.txt: ports/cmake: another
	  fix/hack from Evgeni for HAVE_FPU with MinGW (bug 318)

2021-06-18 22:21  thor

	* NEWS, src/libsyn123/resample.c: libsyn123: silence a warning
	  about -unsigned (bug 317).

2021-06-18 21:54  thor

	* src/libmpg123/sample.h, src/libout123/modules/sndio.c: libout123:
	  remove unused variable for sndio

2021-06-18 21:39  thor

	* NEWS, ports/cmake/CMakeLists.txt, ports/cmake/src/CMakeLists.txt:
	  ports/cmake: Drop libout123 for UWP builds (bug 317).
	  
	  A proper fix would be to code some working output for the
	  ARM Windows platform … but then, there's probably not much
	  need for that and a console audio player.

2021-06-17 07:38  thor

	* src/libout123/modules/sndio.c: libout123: another go at sndio
	  default channels (bug 314)

2021-06-15 19:21  thor

	* NEWS, src/compat/compat.h: compat: include intsym.h after system
	  headers (for (historic) strerror case

2021-06-15 16:04  thor

	* NEWS, ports/cmake/src/CMakeLists.txt: ports/cmake: a different
	  strerror check

2021-06-14 08:09  thor

	* NEWS, src/libsyn123/sampleconv.c, src/libsyn123/volume.c:
	  libsyn123: undef warning to avoid MSVC complaints (bug 308)
	  
	  We might have to consider changing the macros to MPG123_DEBUG
	  and MPG123_WARNING in the future. Or the lowercase variant, which
	  looks too much lile API, then, though. But this hopefully works
	  for now.

2021-06-13 08:08  thor

	* NEWS, ports/cmake/cmake/CheckCPUArch.cmake: ports/cmake: un-break
	  for cmake/CheckCPUArch.c.in (bug 315)

2021-06-12 23:59  thor

	* NEWS, configure.ac: build: insist on C99 for autoconf before 2.71

2021-06-10 16:18  thor

	* src/libout123/modules/sndio.c: libout123: another kind of unset
	  for sndio

2021-06-10 15:12  thor

	* NEWS, src/libout123/modules/sndio.c: libout123: try to fix sndio
	  config defaults (bug 314)
	  
	  The man page suggests that sio_initpar() and further setting of
	  selected
	  compontens of the parameter structure is proper to communicate
	  set and
	  unset values. That does not seem to work. Trying explicit
	  initializion
	  to zero now before even calling sio_initpar().

2021-06-08 07:20  thor

	* src/libout123/modules/sndio.c: more debug

2021-06-08 02:32  thor

	* NEWS, src/libout123/modules/sndio.c: libout123: Fix sndio format
	  check (bug 314).
	  
	  This was in an abysmal state, did not get the logic about
	  ao->format == -1
	  at all. Now it should actually query the supported device formats
	  and work
	  with and without a converting sndiod.

2021-06-07 19:21  thor

	* NEWS, configure.ac: build: fix arm_fpu setup again

2021-06-07 15:13  thor

	* NEWS, src/libmpg123/mpg123.h.in: libmpg123: use typedef
	  mpg123_ssize_t to handle the MSVC ssize_t situation

2021-06-07 07:34  thor

	* NEWS, src/libout123/out123.h.in, src/libsyn123/syn123.h.in:
	  build: help external ports by re-introducing/completing
	  MPG123_NO_CONFIGURE (bug 313)

2021-06-07 07:24  thor

	* NEWS, src/libmpg123/mpg123.h.in: libmpg123: re-introduce
	  MPG123_NO_CONFIGURE by public demand

2021-06-07 07:01  thor

	* src/libout123/libout123.c, src/libout123/modules/sndio.c:
	  libout123: more error messages to debug sndio

2021-06-07 06:45  thor

	* NEWS, configure.ac: build: explain --with-default-audio

2021-06-06 01:19  thor

	* NEWS, src/libout123/modules/pulse.c: libout123: pulse to
	  advertise what it can

2021-06-05 07:40  thor

	* NEWS: NEWS: add missing stuff for 1.28.0

2021-06-04 23:53  thor

	* NEWS, configure.ac, src/libmpg123/layer3.c: libmpg123: no
	  premature part2_3_length panik to fix bug 312
	  
	  The first-generation part2_3_length logic panicked when the
	  value is zero. This is OK most of the time, but there are cases
	  where this is a valid state and where scale factors are still
	  needed. I don't have the standard to back me up, but the example
	  files from the bug report that are actually mono data encoded
	  as ms+i-stereo. Naturally, the stereo encoding is rather boring
	  and features conistent part2_3_length=0 on channel 1. You get
	  funny stereo distortions from aborting before reading the
	  scalefactor bits.
	  
	  I am not sure if these old tracks (presumably from the Xing
	  encoder?) are really valid, but there is a way to decode them
	  properly and mpg123 did that before 1.25.7, which introduced
	  the eager checks in the wake of the attack of the fuzzers.

2021-06-04 07:44  thor

	* configure.ac: build: patchlevel up for libsyn123

2021-06-03 22:06  thor

	* NEWS, src/libsyn123/sampleconv.c: libsyn123: Fix syn123_mix() for
	  s16 to s16, among others
	  
	  Stupid check leftover from earlier times prevented the automatic
	  conversion from happening if input and output encodings match and
	  are non-float.

2021-06-03 21:24  thor

	* src/out123.c: out123: tell which syn123 call failed

2021-06-03 18:46  thor

	* ports/cmake/CheckCPUArch.c.in, ports/cmake/CheckCPUArch.cmake,
	  ports/cmake/cmake/CheckCPUArch.c.in,
	  ports/cmake/cmake/CheckCPUArch.cmake: ports/cmake: really move
	  the two

2021-06-03 18:46  thor

	* Makefile.am, ports/cmake/src/libmpg123/CMakeLists.txt:
	  ports/cmake: rearrange, ship the two new files

2021-06-03 18:45  thor

	* src/libsyn123/Makemodule.am: libsyn123: do not ship generated
	  syn123.h

2021-05-30 14:28  thor

	* configure.ac, ports/cmake/src/CMakeLists.txt,
	  src/libmpg123/mpg123.h.in, src/libsyn123/syn123.h.in: build:
	  introduce BUILD_NO_LARGENAME switch to avoid LFS renaming (bug
	  310)
	  
	  This is to support MSVC builds of mpg123 and users that are
	  confused and
	  set _FILE_OFFSET_BITS although this toolchain does not support
	  the
	  respective machinery.
	  
	  A better way to deal with the sitation would be also to
	  explicitly build
	  and export _64 API. Would need to bump the headers to C99 for
	  that to
	  get int64_t and int32_t. The respective functions are inside
	  libsyn123
	  already, and could be wormed into libmpg123 with some
	  rearrangements.
	  
	  I am not sure how much I like the latter … the off_t scheme
	  inside the lib
	  has the beauty that it also would work for 56 or 72 bit offsets.
	  Windows
	  folks just decided to give us new API for 64 bits. Well, if some
	  solar-system-spanning cloud filesystem reaches the bounds of 64
	  bit indices,
	  libmpg123 code as it is now could be ready! Whatever …

2021-05-30 07:54  thor

	* src/libout123/buffer.c, src/mpg123-id3dump.c, src/win32_net.c:
	  housekeeping: ensure debug.h is last

2021-05-30 07:32  thor

	* ports/cmake/src/CMakeLists.txt: ports/cmake: disable largefile
	  stuff on MSVC

2021-05-30 07:12  thor

	* ports/cmake/src/libmpg123/CMakeLists.txt,
	  ports/cmake/src/libout123/CMakeLists.txt,
	  ports/cmake/src/libsyn123/CMakeLists.txt,
	  src/libout123/out123_int.h, src/libsyn123/syn123_int.h,
	  src/mpg123-id3dump.c, src/mpg123-strip.c, src/out123.c: build:
	  ensure BUILD_MPG123_DLL or LINK_MPG123_DLL is defined outside
	  cmake files

2021-05-30 06:51  thor

	* ports/cmake/src/libmpg123/CMakeLists.txt: ports/cmake: add
	  untested branch for arm_nofpu

2021-05-30 06:35  thor

	* src/compat/compat.h: compat: include io.h for _setmode(), bug 311

2021-05-29 19:02  thor

	* ports/cmake/CheckCPUArch.c.in, ports/cmake/CheckCPUArch.cmake,
	  ports/cmake/src/libmpg123/CMakeLists.txt: ports/cmake: implement
	  and extend the suggestion by Evgeni Poberezhnikov in bug 298
	  
	  We detect x86, x86-64, ARM, ARM64 now via compiler flags.
	  Something like uname or
	  proper cross tools with config.gues would be too easy.
	  
	  Thanks to Evgeni for the suggestion. I hope that makes those
	  CMake MSVC builds happy now.
	  
	  That MPG123_NO_LARGENAME business has to be settled, though.

2021-05-29 18:59  thor

	* ports/cmake/src/libout123/modules/CMakeLists.txt: ports/cmake: no
	  elif here

2021-05-29 17:44  jon_y

	* src/libout123/modules/win32_wasapi.c: Fix invisible unicode
	  character added by copy/pasting

2021-05-29 15:35  jon_y

	* src/libout123/modules/win32_wasapi.c: Fix missing pid in
	  PROPERTYKEY initialization

2021-05-29 14:27  thor

	* src/libmpg123/mpg123.h.in: libmpg123: note about path encoding

2021-05-29 13:35  thor

	* ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/libout123/modules/CMakeLists.txt: build: add jack
	  to CMake, compat_str for jack and win32_wasapi

2021-05-29 12:27  thor

	* scripts/intsym.pl, src/intsym.h: intsym: update script for C99
	  comments, adding safer_realloc

2021-05-29 12:16  jon_y

	* src/libout123/modules/win32_wasapi.c: Fix win32_wasapi
	  FriendlyName propkey macro for MSVC

2021-05-28 10:08  thor

	* src/libsyn123/geiger.c: libsyn123: full license for geiger

2021-05-27 08:43  thor

	* NEWS, configure.ac: build: better behaviour with module selection

2021-05-27 08:41  thor

	* src/libout123/libout123.c: libout123: module loading errors
	  really only for final one

2021-05-24 06:48  thor

	* NEWS, configure.ac: build: update with autoconf-2.71

2021-05-24 05:25  thor

	* src/libmpg123/Makemodule.am: build: really remove the double
	  reference of dct64_sse_float.S

2021-05-24 05:21  thor

	* src/libmpg123/Makemodule.am: build: remove double reference of
	  dct64_sse_float.S (hurts OS/2 only)

2021-05-23 19:12  thor

	* NEWS, configure.ac, mpg123.spec.in, src/libmpg123/Makemodule.am,
	  src/libout123/Makemodule.am, src/libout123/modules/Makemodule.am,
	  src/libsyn123/Makemodule.am, src/tests/Makemodule.am: build:
	  rework to properly handle libs with libtool
	  
	  The optional objects in libmpg123 meant that parts were built
	  with libtool as part of the library with its flags and others
	  without. Now, one list of sources is built from AM_CONDITIONALs
	  like with the other libs.
	  
	  A -shared is added to the library CFLAGS to ensure we are not
	  fooled by a replaced libtool that ignores our M4 macros for
	  disabling static libs by default.
	  
	  Specifically, the output modules now get a fixed -shared in
	  there to avoid any pointless static archives possibly being
	  crated.

2021-05-23 19:07  thor

	* src/libmpg123/frame.c: libmpg123: remove a warning for
	  no-equalizer build

2021-05-07 12:44  thor

	* NEWS, configure.ac, src/libmpg123/frame.c, src/libmpg123/id3.c:
	  libmpg123: apply printf fixes from manx (bug 309)

2021-05-07 10:40  thor

	* Makefile.am: build: remove Xcode files from dist

2021-05-07 10:31  thor

	* NEWS, src/compat/compat_str.c, src/libmpg123/libmpg123.c: compat,
	  mainly: move debug,h inclusion down to avoid windows header
	  conflict

2021-05-07 01:14  thor

	* NEWS, configure.ac, ports/Xcode: remove ports/Xcode

2021-05-06 11:10  thor

	* ports/cmake/CMakeLists.txt,
	  ports/cmake/cmake/read_api_version.cmake: ports/cmake: also read
	  project version (only the 1.2.3 part)
	  
	  CMake's regexes suck. And I suck and writing them. So only the
	  version without any hypothetical suffix.

2021-05-06 10:32  thor

	* NEWS: NEWS: output device choice on Windows

2021-04-29 13:10  thor

	* src/libout123/modules/coreaudio.c: libout123/coreaudio: fix
	  license notice, been LGPL for a long time

2021-04-27 14:08  thor

	* NEWS, src/libmpg123/true.h, src/metaprint.c, src/mpg123.c,
	  src/playlist.c, src/playlist.h, src/term.c: mpg123: fixup
	  terminal behaviour
	  
	  Now, mpg123 does not try to treat standard input as terminal if
	  you want
	  to read MPEG data from there. Also, it tries both stdin and
	  stderr for
	  terminal properties to enable control, enabling cases where one
	  of them
	  is redirected to a pipe, for example.
	  
	  All in all, I hope mpg123 is less annoying now in edge cases
	  where it liked
	  to leave your terminal in a broken setup on things like
	  
	  mpg123 -Cv -
	  
	  (or worse: automatically enabled terminal control in this case
	  and screwed
	  up).
	  
	  It's 2021. Let's play nice with our terminal emulators!

2021-04-27 10:32  jon_y

	* src/local.c: Handle term_width stdin for win32

2021-04-27 10:17  jon_y

	* src/local.c: Implement term_width for win32

2021-04-26 18:05  thor

	* src/metaprint.c: mpg123: fix handling of non-present ID3 printout

2021-04-25 15:52  thor

	* src/libmpg123/debug.h: debug: introduce a proper noop safe for if
	  branches

2021-04-25 15:30  thor

	* ports/cmake/src/CMakeLists.txt: ports/cmake: local.c in out123

2021-04-25 15:24  thor

	* NEWS, doc/README.remote, src/control_generic.c: mpg123: generic
	  control v9 with more delimiting

2021-04-25 13:59  thor

	* NEWS, src/audio.c, src/control_generic.c, src/local.c,
	  src/local.h, src/metaprint.c, src/metaprint.h, src/mpg123.c,
	  src/out123.c, src/playlist.c, src/tests/Makemodule.am,
	  src/tests/textprint.c: mpg123, out123: safe printing without
	  libmpg123

2021-04-25 13:57  thor

	* src/compat/compat.h, src/compat/compat_str.c: compat: introduce
	  safer_realloc() to free zero-sized blocks

2021-04-25 13:56  thor

	* src/libout123/modules/pulse.c: libout123: silence warning in
	  pulse state callback

2021-04-25 13:42  thor

	* src/libout123/stringlists.c: libout123: actually use
	  always_strdup() to ensure at least empty strings in stringlists

2021-04-18 18:18  thor

	* src/out123.c: out123: always terminal-safe printing of output
	  device info

2021-04-18 18:17  thor

	* src/mpg123.c: mpg123: always terminal-safe printing of output
	  device info

2021-04-18 18:06  thor

	* NEWS, configure.ac, src/libout123/libout123.c,
	  src/libout123/modules/pulse.c, src/libout123/out123.h.in:
	  libout123: proper reporting of enumeration error, no pulse
	  autospawn
	  
	  We try to avoid autospawning pulseaudio processes on probing the
	  pulse module (opening a device, enumeration). This works unless
	  you
	  got that funky config where listing ALSA devices spaws pulseaudio
	  because it's configured as default device there.
	  
	  Also, the return value of ao->enumerate() is checked now!

2021-04-18 16:37  thor

	* src/libout123/modules/pulse.c: libout123: enumeration for pulse
	  module

2021-04-18 15:55  thor

	* src/libout123/stringlists.c: libout123: allow NULL to enter as
	  empty string into stringlists

2021-04-18 15:47  thor

	* src/libout123/libout123.c, src/libout123/modules/alsa.c,
	  src/libout123/modules/dummy.c, src/libout123/modules/win32.c,
	  src/libout123/modules/win32_wasapi.c, src/libout123/out123_int.h:
	  libout123: device listing for alsa, handle in enumerate call for
	  AOQUIET

2021-04-18 15:23  jon_y

	* src/libout123/modules/win32.c: Ensure id string variable go onto
	  stack to prevent it from being clobbered by multithreaded calls

2021-04-18 15:07  thor

	* NEWS, src/libmpg123/debug.h: debug.h: more C99, restructure the
	  debugging and print __func__
	  
	  Reworked the debugging header. The printout now includes the
	  file,
	  function, and line number. We still keep it straight C99, so
	  empty
	  __VA_ARGS__ are not allowed. There is continued need for
	  
	  debug("message")
	  
	  vs.
	  
	  mdebug("message %i", arg)
	  
	  
	  Maybe at some point the compiler extension that allows
	  unification
	  into one macro will be in the standard and acceptable for
	  portable
	  code.

2021-04-18 08:42  jon_y

	* src/libout123/modules/win32_wasapi.c: Convert most code to C99
	  printf for UCRT compatibility

2021-04-18 08:40  jon_y

	* src/libout123/modules/win32.c: Fix debug mode build

2021-04-18 08:18  jon_y

	* src/libout123/modules/win32_wasapi.c: Cleanup COM initialization
	  code

2021-04-18 07:44  thor

	* src/libout123/out123.h.in: libout123: note about not messing with
	  threads

2021-04-18 07:37  thor

	* NEWS.libout123, src/libout123/modules/arts.c,
	  src/libout123/modules/coreaudio.c, src/libout123/modules/dummy.c,
	  src/libout123/modules/openal.c,
	  src/libout123/modules/portaudio.c, src/libout123/modules/qsa.c,
	  src/libout123/modules/sdl.c, src/libout123/modules/tinyalsa.c,
	  src/libout123/modules/win32_wasapi.c, src/libout123/out123_int.h:
	  libout123: make module deinit() call return void
	  
	  We do not evaluate the return value of ao->deinit(), so it should
	  not
	  generate one. Using module API 3 for this change.
	  
	  Also introduced the deinit() hook for win32_wasapi so that the
	  COM
	  stuff can go in there.

2021-04-18 07:05  jon_y

	* src/libout123/modules/win32_wasapi.c: Guard against multiple COM
	  initialization

2021-04-18 06:47  jon_y

	* src/libout123/modules/win32.c: Add enumeration capability to
	  winmm module

2021-04-17 14:18  jon_y

	* src/libout123/modules/win32_wasapi.c: Make it possible to toggle
	  between push/event shared/exclusive mode in the future, wasapi
	  now defaults to shared mode

2021-04-17 13:56  jon_y

	* src/libout123/modules/win32_wasapi.c: Fix wasapi shared mode,
	  default is still exclusive mode

2021-04-17 05:24  jon_y

	* src/libout123/modules/win32_wasapi.c: Implement basic device
	  enumeration and selection

2021-04-17 05:23  jon_y

	* src/compat/compat.c, src/compat/compat_str.c: Move Windows
	  UTF-8/UCS-16 converter code from compat.c to compat_str.c

2021-04-17 05:22  jon_y

	* src/libout123/libout123.c: Fix implicit function declaration
	  warning in src/libout123/libout123.c

2021-04-17 05:21  jon_y

	* src/compat/compat.h: Fix typo in/out on win32_utf8_wide

2021-04-16 16:40  thor

	* NEWS: NEWS: v3

2021-04-16 16:39  thor

	* NEWS, NEWS.libout123, man1/mpg123.1, man1/out123.1,
	  src/Makemodule.am, src/filters.c, src/libmpg123/optimize.c,
	  src/libout123/libout123.c, src/libout123/module.h,
	  src/libout123/modules/dummy.c, src/libout123/out123.h.in,
	  src/libout123/out123_int.h, src/libout123/stringlists.c,
	  src/mpg123.c, src/mpg123app.h, src/out123.c: libout123, also
	  mpg123 and out123: add device enumeration
	  
	  This adds out123_devices() and an extension in the module format
	  (version 3) to enumerate output devices. Now we can add
	  implementations to fill
	  
	  mpg123 --list-devices
	  
	  with some life.

2021-04-16 15:38  thor

	* src/libmpg123/frame.c, src/libmpg123/getcpuflags.h,
	  src/libmpg123/optimize.c: libmpg123: fix unused warning about
	  wrap_getcpuflags()

2021-04-16 13:23  thor

	* NEWS, NEWS.libout123, configure.ac, src/libout123/libout123.c,
	  src/libout123/out123.h.in, src/libout123/out123_int.h: libout123:
	  doxygen cleanup and enum-less API

2021-04-16 12:42  thor

	* src/libmpg123/mpg123.h.in: libmpg123: no doxygen link to
	  MPG123_ENUM_API, user defines it

2021-04-16 12:17  thor

	* src/libmpg123/mpg123.h.in: libmpg123: more doxygen

2021-04-16 12:13  thor

	* src/libmpg123/fmt123.h: libmpg123: fmt123.h doxygen syntax

2021-04-16 12:11  thor

	* src/libmpg123/mpg123.h.in: libmpg123: more doxygen

2021-04-16 12:07  thor

	* src/libsyn123/syn123.h.in: libsyn123: more doxygen

2021-04-16 12:06  thor

	* src/libsyn123/syn123.h.in: libsyn123: more doxygen

2021-04-16 12:03  thor

	* doc/examples/id3dump.c, doc/examples/mpg123_to_out123.c,
	  doc/examples/mpglib.c, doc/examples/scan.c: doc: more doxygen in
	  examples, less warning

2021-04-16 11:58  thor

	* doc/examples/Makefile, doc/examples/feedseek.c: doc: revamped
	  feedseek, C99

2021-04-16 11:56  thor

	* doc/examples/extract_frames.c: doc: more doxygen

2021-04-16 07:36  thor

	* doc/doxy_examples.c, doc/doxygen.conf: dox: some doxygen fixup

2021-04-16 07:03  thor

	* doc/doxygen.conf: doc: trying to get enum API mentioned

2021-04-16 06:53  thor

	* src/libmpg123/mpg123.h.in: libmpg123: grammar

2021-04-13 20:23  thor

	* NEWS, src/mpg123.c, src/playlist.c: mpg123: fix --continue for
	  end of playlist (bug 250)
	  
	  The end of playlist is explicitly recorded now and acted upon
	  in continue_msg(). It prints track_count+1 and offset 0.

2021-04-13 15:01  thor

	* NEWS, NEWS.libmpg123, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/mpg123lib_intern.h:
	  libmpg123: do away with enums in API
	  
	  I added API calls now that avoid exposing possibly
	  differently-sized enums.
	  Unless MPG123_ENUM_API is defined, the preprocessor maps user
	  programs
	  to use the enum-less API.
	  
	  If we'd do a libmpg123 v2 at some point, the calls with enums
	  would get
	  dropped. But I do not see that happening. Deprecation sucks for
	  users.
	  
	  Rationale: Although there are ABI specs that define the integral
	  type
	  to use for representing enums, builds can deviate from that. It
	  is better
	  not to rely on enum size across libraries.

2021-04-13 13:15  thor

	* NEWS, src/out123.c: out123: fix output rate limiting

2021-04-12 06:05  thor

	* ., doc/examples, src/compat, src/tests: ignore

2021-04-12 06:01  thor

	* NEWS, doc/examples/dumb_decoder.c, doc/examples/dump_seekindex.c,
	  doc/examples/extract_frames.c, doc/examples/feedseek.c,
	  doc/examples/id3dump.c, doc/examples/mpg123_to_out123.c,
	  doc/examples/mpg123_to_wav_replaced_io.c, doc/examples/mpglib.c,
	  doc/examples/scan.c: examples: update for mpg123_init() and
	  sensible copyright

2021-04-11 14:17  thor

	* src/libmpg123/id3.c: libmpg123: fix condition for ID3 text
	  overwrite debug message

2021-04-11 14:15  thor

	* src/libmpg123/frame.c, src/libmpg123/getcpuflags.h,
	  src/libmpg123/optimize.c, src/tests/decode_fixed.c,
	  src/tests/seek_accuracy.c: libmpg123, tests: avoid bogus failures
	  of clang -fsanitize=memory
	  
	  Clang is not smart enough to know that assembly routines might
	  write to
	  memory handed to them, thus freaks out on usage of cpu flags or
	  any
	  optimized decoder, apparently. Maybe not always, but at least
	  here and
	  now, I did some modifications to make it silent also for `make
	  check`
	  and hopefully to fix the runs of OSS-Fuzz.

2021-04-11 14:05  thor

	* src/intsym.h: intsym: one less

2021-04-02 10:31  thor

	* src/libmpg123/dct64_i386.c, src/libmpg123/dct64_sse.S,
	  src/libmpg123/synth_3dnow.S, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586_dither.S: libmpg123: x86 and OS/2 fixes
	  (latter patch from Dave Yeo)

2021-03-30 09:57  thor

	* src/libmpg123/calctables.c, src/libmpg123/l3tabs.h: libmpg123:
	  tanN_M tables really need [2][32] entries for patholocial files
	  
	  OSS-Fuzz pointed out that some input will trigger reading of tan
	  values beyond
	  the 16. I verified that the illegal access happens also with the
	  fixed-point
	  decoders that use the PRECALC_TABLES path. This issue has been
	  introduced
	  a long time ago and only now got rectified by me porting the
	  table stuff
	  to floating point, too. OSS-Fuzz is not testing all decoders. We
	  should perhaps
	  change that.
	  
	  Anyway, I still think security-wise, this issue is minor. The
	  failure mode is
	  reading some bad numbers on supposedly bad input and using them
	  in synthesis.
	  Crap will sound crappy. I am not totally sure if there are legit
	  files out there
	  that could cause the overreaching access. Maybe one could avoid
	  this without
	  enlarging the tables, but probably with some performance impact.
	  The added data
	  size is really small compared to other tables, so let's keep them
	  how they
	  used to be for the floating point decoders.

2021-03-29 19:34  thor

	* src/metaprint.c: mpg123: handle theoretical overflow of snprintf

2021-03-29 19:23  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/Makemodule.am,
	  src/libmpg123/calctables.c, src/libmpg123/decode.h,
	  src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/l3_integer_tables.h, src/libmpg123/l3bandgain.h,
	  src/libmpg123/l3tabs.h, src/libmpg123/layer3.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in,
	  src/libmpg123/mpg123lib_intern.h: libmpg123: precompute layer III
	  tables, empty mpg123_init()
	  
	  Now a rather large chunk of tables got added to free libmpg123 of
	  any need for mpg123_init(). I tested float and fixed on x86-64,
	  let's see what I messed up.
	  
	  I had Taihei's precomputed tables to compare to. Thanks for that.

2021-03-29 00:48  thor

	* src/libmpg123/l3_integer_tables.h, src/libmpg123/layer3.c:
	  libmpg123: settle on NEW_DCT9

2021-03-29 00:42  thor

	* src/libmpg123/calctables.c: libmpg123: calctables without +

2021-03-29 00:41  thor

	* src/libmpg123/calctables.c, src/libmpg123/costabs.h: libmpg123:
	  regenerate costabs.h for fixed spacing

2021-03-29 00:35  thor

	* src/libmpg123/Makemodule.am, src/libmpg123/calctables.c,
	  src/libmpg123/l12_integer_tables.h, src/libmpg123/l12tabs.h,
	  src/libmpg123/layer2.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123lib_intern.h: libmpg123: remove layer I+II
	  runtime common tables
	  
	  This drops the layer12 part of mpg123_init() by introducing
	  l12tabs.h
	  generated by calctables. Interestingly, the compliance errors
	  seem
	  to reduce a bit for floating point, caused by the slightly
	  differen
	  rounding pattern, I presume.

2021-03-28 15:26  thor

	* configure.ac, src/libmpg123/Makemodule.am,
	  src/libmpg123/calctables.c, src/libmpg123/costabs.h,
	  src/libmpg123/dct64.c, src/libmpg123/decode.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/tabinit.c: libmpg123: introduce calctables to
	  precompute tables (starting with cos)
	  
	  This introduces src/libmpg123/calctables that shall replace the
	  remaining
	  stuff that happens in mpg123_init(). It computes floating point
	  and fixed
	  variants of the respective tables, to be put in header files that
	  are
	  use where the computation took place before.
	  
	  The beginning are the global cosine tables previously computed in
	  tabinit.c. Taihei provided a nice reference for fixed point,
	  which
	  matches up.

2021-03-28 11:49  thor

	* src/libmpg123/mpg123lib_intern.h: libmpg123: Do not rule out 34
	  bit float;-)

2021-03-28 11:36  thor

	* src/libmpg123/mpg123lib_intern.h: libmpg123: explicitly do _not_
	  support 64 bit float decoding

2021-03-28 10:28  thor

	* Makefile.am, ports/README: Makefile: remove MSVC port also from
	  distribution

2021-03-27 23:36  thor

	* src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/getcpuflags.h, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/optimize.c,
	  src/libmpg123/optimize.h: libmpg123: no check_decoders in
	  mpg123_init() anymore, cpu flags per handle
	  
	  This is another step in getting rid of the global mpg123_init().
	  This
	  moves cpu flag storage into the frame data structure, doing a
	  fresh
	  check on each mpg123_new(). The benefit is that only the decoding
	  table computation is left in mpg123_init(). Once those are moved
	  into
	  precalculated static arrays, the function can be turned into a
	  noop.

2021-03-27 11:42  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in: libmpg123:
	  move non-tabinit stuff out of mpg123_init()

2021-03-27 11:02  thor

	* ports/MSVC++: ports/MSVC++: removed, outdated and unmaintained,
	  use ports/cmake instead

2021-03-27 10:11  thor

	* ports/cmake/src/libmpg123/CMakeLists.txt,
	  ports/cmake/src/libout123/CMakeLists.txt,
	  ports/cmake/src/libsyn123/CMakeLists.txt: ports/cmake: fix DLL
	  builds of libout123 and libsyn123 (bug 307)

2021-03-19 15:38  thor

	* ., windows-builds.sh: merge in fix for windows-notes.html

2021-03-17 19:46  thor

	* doc/windows-notes.html, windows-builds.sh: doc: added Windows
	  install/usage notes by James Amick

2021-03-17 19:22  thor

	* INSTALL: formatting

2021-03-15 18:15  thor

	* src/libmpg123/id3.c: libmpg123: also do not use uninitialized
	  value in error message

2021-03-15 17:44  thor

	* src/libmpg123/id3.c: libmpg123: check for parsing error on frame
	  data length
	  
	  OSS-Fuzz was quick to point out that I always shall check
	  the return value of bytes_to_long().

2021-03-15 11:07  thor

	* configure.ac: libmpg123: patchlevel 4

2021-03-15 11:07  thor

	* NEWS: mention group flag

2021-03-15 11:07  thor

	* NEWS, src/libmpg123/id3.c: libmpg123: Handle ID3v2.4 frame data
	  length flag (bug 306).
	  
	  The handling of frame flags was incomplete. This adds the missing
	  bits
	  for the frame data length and group bits. If the frame data
	  length value
	  does not match what we got from de-unsyncing, the frame is
	  skipped.

2021-03-11 23:15  thor

	* src/mpg123-id3dump.c: mpg123-id3dump: added --verbose

2021-03-10 17:10  thor

	* NEWS, configure.ac, src/libsyn123/resample.c: libsyn123: avoid
	  denormals in resampler
	  
	  Without gcc -ffast-math, denormals occur naturally in IIR filters
	  and kill
	  performance on many platforms. Apparently this is extreme on
	  SPARC, but also
	  on x86-64, the relative hit is very prominent.
	  
	  This change adds or subtracts 1e-15 alternatingly from the
	  computed samples
	  in the IIR filters to avoid the overly small numbers. This is
	  well below
	  the smallest level of 32 bit format, which would be around 5e-10.
	  
	  You can disable this handling via -DNO_DE_DENORM in CPPFLAGS.
	  
	  A quick glance showed no measurable impact on performance. It's
	  an additional
	  addition for each output sample wich just got computed. Should be
	  cheap enough
	  compared to loading the next samples from memory.

2021-03-10 00:55  thor

	* src/libsyn123/resample.c: libsyn123: add extreme debugging to
	  resampler functions

2021-03-10 00:55  thor

	* NEWS, configure.ac, src/libmpg123/debug.h: debug: Add xdebug()
	  and mxdebug() for added verbosity

2021-02-10 21:29  thor

	* INSTALL: mention more program binaries in INSTALL

2020-12-27 22:14  thor

	* INSTALL: INSTALL: update for non-recursive make

2020-12-27 21:44  thor

	* INSTALL: Format INSTALL. Yes, I learned that long lines with
	  automatic flow
	  to paragraphs is not the way to go. You get older and wiser.

2020-12-23 18:50  thor

	* configure.ac: libmpg123: lib patchlevel change for the tabinit
	  stuff

2020-12-13 22:35  thor

	* NEWS, src/libmpg123/layer3.c: libmpg123: handle tabinit corner
	  cases (bug 279)
	  
	  As iakai pointed out in the tracker, there are some tan() values
	  that are theoretically troublesome in tabinit. They aren't in
	  practice.
	  The condition for a possible floating point exception is not
	  triggered
	  due to finite precsion in function arguments, apparently … and
	  the
	  concerned table values themselves don't seem to be that relevant.
	  I am
	  not sure which streams, if any, trigger the decoder to use them.
	  Probably
	  not on good will. Possibly they are avoided, but this is not very
	  explicit from glancing at the code.
	  
	  Anyhow, this change does not make a real difference in operation,
	  but
	  it constructs a cleaner table without possible overflow in tan().

2020-12-11 12:12  thor

	* ports/cmake/src/libmpg123/CMakeLists.txt: ports/cmake: more
	  fixing of bug 298

2020-12-11 10:21  thor

	* ports/cmake/src/libmpg123/CMakeLists.txt: ports/cmake: more fixes
	  for 298

2020-12-11 10:15  thor

	* ports/cmake/src/CMakeLists.txt: ports/cmake: updated fix for bug
	  304

2020-12-07 11:40  thor

	* ports/cmake/src/CMakeLists.txt: ports/cmake: import cmake LFS fix
	  by Maarten (bug 304)

2020-12-03 09:09  thor

	* ports/cmake/src/libout123/modules/CMakeLists.txt: ports/cmake:
	  shared libout123 without modules (bug 301)

2020-12-01 11:39  thor

	* COPYING: update COPYING year

2020-11-21 21:28  thor

	* NEWS, ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/libout123/modules/CMakeLists.txt: ports/cmake:
	  import patch from Maarten to fix bug 299 (tinyalsa, mainly)

2020-10-30 17:21  thor

	* NEWS: NEWS: rather 1.26.4

2020-10-30 17:20  thor

	* NEWS, ports/cmake/src/libmpg123/CMakeLists.txt: ports/cmake:
	  install fmt123.h

2020-10-23 07:42  thor

	* src/mpg123.c: mpg123: help formatting

2020-10-02 08:22  thor

	* NEWS, src/libmpg123/reader.h: libmpg123: Fix build on MorphOS
	  (bug 295)
	  
	  Patch provided by Ozkan Sezer <sezeroz@gmail.com>.
	  
	  This little patch that just circumvents a name conflict with a
	  tell() macro
	  makes libmpg123 build on MorphOS.

2020-09-25 09:36  thor

	* man1/out123.1: out123: more man page formatting

2020-09-25 09:32  thor

	* man1/out123.1: out123: man page formatting

2020-08-23 08:16  thor

	* NEWS, configure.ac: We are working on 1.27.0 now.

2020-08-23 08:15  thor

	* src/libmpg123/mpg123.h.in: libmpg123: clarify documentation about
	  sample offsets

2020-07-15 07:41  thor

	* NEWS, configure.ac, src/libmpg123/synth_stereo_x86_64_accurate.S,
	  src/libmpg123/synth_stereo_x86_64_s32.S: libmpg123: fixing win32
	  x86-64 accurate and s32 assembly
	  
	  The accurate x86-64 code got nice null pointer exceptions due to
	  some register
	  mixup for IS_MSABI. This got noticed and fixed by Robert Kausch
	  of free:ac.
	  Thanks.

2020-07-04 08:05  thor

	* configure.ac: build: a patchlevel for libsyn123 LFS changes

2020-07-03 07:38  thor

	* src/libsyn123/syn123.h.in, src/libsyn123/syn123_int.h: libsyn123:
	  fully avoid syn123.h prototypes for LFS functions

2020-07-02 23:19  thor

	* src/tests/Makemodule.am, src/tests/resample_total.c: tests: add
	  resample_total test
	  
	  This calls the off_t API of libsyn123 with a trivial ratio mainly
	  to
	  check the workings of choosing the correct LFS wrapper function
	  with
	  and without _FILE_OFFSET_BITS. You can build the simple program
	  yourself and observe if the _32, _64 or suffix-less function
	  symbols
	  are used. And if they still produce the correct result for a
	  trivial
	  case with small numbers.

2020-06-28 22:03  thor

	* src/libsyn123/syn123.h.in, src/libsyn123/syn123_int.h: libsyn123:
	  SYN123_NO_LARGENAME switch for clean build of lfs alias functions

2020-06-26 13:41  thor

	* NEWS, src/libsyn123/resample.c, src/libsyn123/syn123.h.in:
	  libsyn123: Add LFS wrapper without suffix to help multiarch
	  builds (debian bug 963205)

2020-06-14 19:05  thor

	* NEWS, src/mpg123.c: mpg123: only enable terminal control by
	  default when we are really sure

2020-06-13 04:34  thor

	* NEWS, configure.ac, ports/cmake/src/CMakeLists.txt: build: more
	  fixes from Steve LHomme, Android and off64_t

2020-06-12 06:51  thor

	* NEWS, configure.ac, src/libout123/modules/Makemodule.am: build:
	  more LIBS for output modules (bug 291)

2020-06-12 06:17  thor

	* configure.ac: build: name it PROG_LIBS, do not confuse

2020-06-09 16:07  jon_y

	* configure.ac: From: Steve Lhomme <robux4 at ycbcr dot xyz>
	  
	  It is supported as well as with MSVC.
	  
	  We need to include winapifamily.h to detect UWP builds.
	  The official way is to use the WINAPI_FAMILY_PARTITION macro
	  which is compatible between MSVC and mingw.
	  
	  In UWP build we should use UNICODE API.
	  
	  In UWP builds GetThreadErrorMode is not supported (at least not
	  on all Win8/Win10).
	  But it's still possible to build mpg123 without module handling.

2020-06-06 09:46  thor

	* configure.ac, ports/cmake/src/CMakeLists.txt: build: revert the
	  accidentally included Android LFS patch that breaks Linux

2020-06-06 09:44  thor

	* NEWS, configure.ac, ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/config.cmake.h.in,
	  ports/cmake/src/libmpg123/CMakeLists.txt: ports/cmake: fixes from
	  David Callu (bug 290)

2020-06-03 06:16  thor

	* NEWS, configure.ac: configure: no GetThreadErrorMode needed
	  without modules
	  
	  Steve LHomme submitted this one:
	  
	  In UWP builds GetThreadErrorMode is not supported (at least not
	  on all Win8/Win10).
	  But it's still possible to build mpg123 without module handling.

2020-05-25 19:52  thor

	* NEWS, src/libmpg123/sample.h: another big-endian typo

2020-05-25 18:50  thor

	* src/mpg123.c: another fixed prototype

2020-05-25 18:17  thor

	* NEWS, src/out123.c: fix a little warning without rt scheduling

2020-05-25 18:14  thor

	* Makefile.am: a cmake more

2020-05-25 18:13  thor

	* Makefile.am, NEWS, configure.ac, src/libout123/hextxt.c: fixes
	  for 1.26.1

2020-05-24 21:45  thor

	* configure.ac: 1.26.0

2020-05-14 15:17  thor

	* ports/cmake/CMakeLists.txt,
	  ports/cmake/cmake/read_api_version.cmake: ports/cmake: API
	  version fix by David Callu (bug 287)

2020-05-09 13:29  thor

	* src/libsyn123/resample.c: libsyn123: more clang silencing

2020-05-09 13:23  thor

	* src/out123.c: out123: fix some clang warnings

2020-05-09 11:31  thor

	* doc/doxyhead.xhtml: doc: link fix

2020-05-09 10:55  thor

	* Makefile.am, NEWS.libsyn123, doc/doxyhead.xhtml: libsyn123 in
	  documentation

2020-05-08 22:09  thor

	* NEWS: Not just text transformations.

2020-05-08 21:59  thor

	* configure.ac: I guess a 1.26rc3 will follow.

2020-05-08 21:58  thor

	* Makefile.am: build: install libsyn123.pc

2020-05-08 21:15  thor

	* NEWS: NEWS typo

2020-05-08 20:59  thor

	* NEWS: typo

2020-05-08 20:58  thor

	* NEWS: There is some test stream.

2020-05-08 17:37  thor

	* NEWS, windows-builds.sh: build: default to non-parallel make for
	  Windows

2020-05-08 17:09  thor

	* windows-builds.sh: build: one .def too many

2020-05-08 16:36  thor

	* NEWS, windows-builds.sh: build: parallel make for Windows

2020-05-08 16:30  thor

	* NEWS: NEWS: for windows-builds.sh changes

2020-05-08 16:25  thor

	* configure.ac, windows-builds.sh: build: aiming for rc2 with tuned
	  windows build script

2020-05-08 12:41  thor

	* ., configure.ac, windows-builds.sh: merge back from 1.26rc1
	  branch (which will be a tag soon)

2020-05-08 08:25  thor

	* windows-builds.sh: build: add non-cross x86_64 to
	  windows-builds.sh, also autodetect build_type
	  
	  I just tested that the script still runs on Linux. It doesn't do
	  anything
	  useful there. Now it should hopefully do the right thing if
	  someone
	  just runs it in mingw-w64.

2020-05-07 23:50  jon_y

	* configure.ac: configure.ac: warn if mingw.org is used

2020-05-07 15:16  thor

	* src/out123.c: out123: meh, no DEBUG

2020-05-07 15:13  thor

	* NEWS, man1/out123.1, src/out123.c: out123: add byte-swappery
	  using libsyn123

2020-05-02 20:18  thor

	* src/libsyn123/resample.c: libsyn123: long instead of int32_t for
	  _32 off_t functions

2020-05-02 18:25  thor

	* src/libsyn123/resample.c: libsyn123: TODO for resampler later,
	  works now

2020-05-02 08:42  thor

	* ports/cmake/src/CMakeLists.txt: ports/cmake: fix libmpg123 usage,
	  filters

2020-05-02 07:58  thor

	* src/tests/Makemodule.am: build: fix distclean, remove test
	  detrius

2020-05-02 06:14  thor

	* ports/cmake/src/config.cmake.h.in,
	  ports/cmake/src/libmpg123/CMakeLists.txt,
	  ports/cmake/src/libout123/CMakeLists.txt,
	  ports/cmake/src/libsyn123/CMakeLists.txt: ports/cmake: recent
	  fixes from Vitaly

2020-05-01 20:11  thor

	* NEWS: NEWS: (un)humble

2020-05-01 20:10  thor

	* NEWS: NEWS: mention resamplers, dammit!

2020-05-01 20:07  thor

	* src/intsym.h: intsym: mpg123_open_fixed() helpers

2020-05-01 20:06  thor

	* Makefile.am, NEWS, NEWS.libmpg123, man1/mpg123.1,
	  src/libmpg123/feature.c, src/libmpg123/lfs_alias.c,
	  src/libmpg123/lfs_wrap.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/parse.c, src/mpg123.c, src/mpg123app.h,
	  src/tests/Makemodule.am, src/tests/decode_fixed.c,
	  src/tests/decode_fixed.sh: libmpg123, mpg123: add
	  mpg123_decode_fixed()

2020-05-01 19:45  thor

	* configure.ac: build: ensure C99, add NO_16BIT automake
	  conditional for upcoming test

2020-05-01 12:26  thor

	* src/libmpg123/fmt123.h: libmpg123: fmt123.h changed this year

2020-04-30 11:58  thor

	* src/libmpg123/mpg123.h.in: libmpg123: document the semantic API
	  change

2020-04-30 11:56  thor

	* NEWS, NEWS.libmpg123, src/libmpg123/frame.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in: libmpg123:
	  PCM data output pointers switched to void*
	  
	  This avoids the need for the user to do explicit casts from
	  their float* buffer when they want to get decoded
	  MPG123_ENC_FLOAT_32
	  data, pointlessly. It changes the API semantics, but I do not see
	  how that causes problems anywhere. You just do not need to cast
	  to (unsigned char*) anymore. It's no error if you do.

2020-04-30 11:53  thor

	* src/mpg123-id3dump.c: mpg123-id3dump: adapt to recent getlopt
	  changes

2020-04-30 11:52  thor

	* src/audio.c: mpg123: remove unused variable

2020-04-27 09:37  thor

	* src/audio.c: mpg123: remove printout of mpg123_decoder() return

2020-04-27 09:01  thor

	* src/term.c: mpg123/term: no offset here

2020-04-27 08:54  thor

	* src/audio.c, src/audio.h: mpg123: … and matching update to fix
	  runtime pitching, bad resampler warning

2020-04-27 08:53  thor

	* src/mpg123.c: mpg123: some progress bar clearing

2020-04-27 07:26  thor

	* src/term.c: mpg123/term control: more stat line clearing, for
	  pitch and info printout

2020-04-26 19:16  thor

	* man1/mpg123.1, man1/out123.1, src/out123.c: manpages, out123:
	  sync documentation

2020-04-26 16:33  thor

	* man1/mpg123.1, src/audio.c, src/audio.h, src/mpg123.c: mpg123:
	  Revamped audio output logic for resampling and pitching.
	  
	  Now the integration of the libsyn123 resampler and handling of
	  the
	  NtoM decoder are hopefully correct in the again-enlarged audio.c,
	  which became a hollow shell with the advent of libout123, and now
	  is strong again.
	  
	  Settling decoder and output formats has historically been the
	  most
	  confusing aspect of libmpg123 and I raise that with the
	  integration
	  of post-decoder resampling and pitching in the decoder, in the
	  output device, or in said resampling between these two. Insanity!
	  
	  The new resampler is the default for forcing output rates now. If
	  you wonder why, try this in the current mpg123 source tree with
	  your fresh build:
	  
	  for resampler in ntom dirty fine
	  do
	  src/mpg123 -r 22040 --resample $resampler --pitch -0.72 \
	  src/tests/sweep.mp3
	  done
	  
	  With a pure sine sweep like that (generated via out123), you
	  can appreciate
	  
	  a) the quality differences between resamplers, and
	  b) how little those seem to matter when you just listen
	  to music.
	  
	  Really, without a detailed comparison and some noisy pop/rock
	  music, it is surprisingly hard to tell how bad the drop-sample
	  resampling of the NtoM decoder really is.
	  
	  But this has a price: Even when I took great pains in designing
	  the syn123 resampler, it needs more computing time than the
	  MPEG decoder itself. That's life. You can make resamplers that
	  are faster, but at the cost of increased latency which makes
	  programming tedious. Here, I just ignored that aspect, as the
	  syn123 resampling latency is just a handful of samples, well
	  below the farts you get from ALSA on closing a device.

2020-04-26 16:00  thor

	* src/libout123/libout123.c: libout123: formatting

2020-04-26 16:00  thor

	* src/libout123/libout123.c: libout123: actually fix writing in
	  smallel blocks

2020-04-26 14:34  thor

	* src/getlopt.c: getlopt: proper NULL

2020-04-26 14:13  thor

	* src/out123.c: out123: adapt to getlopt changes

2020-04-26 14:04  thor

	* NEWS, src/getlopt.c, src/getlopt.h, src/mpg123-strip.c,
	  src/mpg123.c: getlopt: Machinery to avoid leaking strdup()
	  memory.
	  
	  Hm, why are we using strdup, anyway?

2020-04-26 12:57  thor

	* NEWS.libout123, configure.ac: libout123: API v3

2020-04-26 12:56  thor

	* NEWS, src/libout123/libout123.c: libout123: limit write block to
	  16K

2020-04-26 12:45  thor

	* src/audio.c: mpg123: do not keep DEBUG in trunk

2020-04-26 12:44  thor

	* src/audio.c: mpg123: that's not 16K'

2020-04-25 18:06  thor

	* src/libmpg123/mpg123.h.in: libmpg123: MPG123_FLOAT_FALLBACK needs
	  a value!

2020-04-25 17:40  thor

	* src/audio.c: mpg123: Use downsampled decoding as precursor to
	  further downsampling.
	  
	  The quality of 2to1 and 4to1 decoding is good and it even saves
	  work.
	  Win-win.

2020-04-25 17:37  thor

	* src/libmpg123/mpg123.h.in: libmpg123: promise that rates are
	  ascending

2020-04-25 16:58  thor

	* NEWS.libmpg123, src/audio.c, src/libmpg123/format.c,
	  src/libmpg123/frame.c, src/libmpg123/mpg123.h.in: libmpg123,
	  mpg123: reworked format choice logic to better support resampling
	  
	  This is about preventing unnecessary work where the downsampling
	  in
	  libmpg123 (factor 2 or 4) can be used. The external resampler is
	  only called when we would have to resort to NtoM decoding.
	  
	  A major change is that libmpg123 now considers floating point
	  encoding
	  by itself, at all.

2020-04-25 16:55  thor

	* src/mpg123.c: mpg123: --resample {fine,dirty,ntom} now instead of
	  numbers, fine default

2020-04-25 16:38  thor

	* src/out123.c: out123: do not shrink input buffer below pcmblock

2020-04-25 16:00  thor

	* NEWS, src/libout123/modules/dummy.c: libout123/dummy: accept any
	  encoding

2020-04-25 07:43  thor

	* src/libsyn123/resample.c, src/libsyn123/syn123.h.in: libsyn123:
	  add syn123_resample_fillcount() for convenience

2020-04-24 06:53  thor

	* src/audio.c, src/audio.h, src/mpg123.c: mpg123: first working use
	  of the syn123 resample
	  
	  This now forces the proper resampler with --rate and --resample
	  with
	  non-zero value.
	  
	  TODO:
	  - Avoid the resampler when unnecessary. This is some more complex
	  setup code, but doable. Loose filter history on re-enabling
	  the resampler.
	  - Finish integration with pitching.
	  
	  
	  Have a look at that:
	  
	  for s in 0 1 2
	  do src/mpg123 -vv -r 48000 --resample $s -w sweep$s.wav
	  src/tests/sweep.mp3
	  sox sweep$s.wav -n spectrogram
	  mv spectrogram.png sweep$s.png
	  done
	  
	  Some graphs that drive the point home.

2020-04-23 21:40  thor

	* src/mpg123.c: mpg123: output errors not quiet

2020-04-23 21:23  thor

	* NEWS, src/audio.c, src/audio.h, src/mpg123.c: mpg123: another
	  step to resampling, fixing --pitch on passing

2020-04-23 20:07  thor

	* src/libout123/modules/mint.c, src/mpg123app.h: mpg123, libout123:
	  remove MAXOUTBURST dead code
	  
	  This only affects one output module that wasn't built since a
	  long time,
	  I guess.

2020-04-23 18:57  thor

	* NEWS, src/Makemodule.am, src/audio.c, src/audio.h, src/mpg123.c,
	  src/mpg123app.h: mpg123: prepare for the resampler
	  
	  This adds some bits for supporting the syn123 resampler, but not
	  putting
	  it to work yet.

2020-04-23 18:47  thor

	* src/libsyn123/resample.c: libsyn123: remove a debugging line

2020-04-22 07:26  thor

	* TODO: TODO: Tidy up notes?

2020-04-22 07:07  thor

	* NEWS, src/audio.c: mpg123: condense audio cap table

2020-04-19 19:56  thor

	* NEWS, src/control_generic.c, src/metaprint.c, src/metaprint.h,
	  src/mpg123.c, src/mpg123app.h, src/playlist.c, src/playlist.h,
	  src/tests/textprint.c: mpg123: finish up the printout filtering
	  (bug 267)
	  
	  This now filters strings from libmpg123 metadata and the user/web
	  input for useless/nasty
	  control/non-printable characters when the output is a terminal.
	  It covers all relevant
	  printouts except the ones I forgot. Metadata, user-provided
	  command-line arguments and
	  file names in the playlist are covered. I guess really relevant
	  is the data that the
	  user did not enter explicitly (metadata in streams, playlist from
	  URL).
	  
	  The proper way would be to fully use locales and a curses library
	  to sanitize terminal
	  output, but I really would like to avoid that mess, having my
	  personal mess as a compromise
	  that should mostly work OK. Future may correct me. When we want
	  to do it properly, we should
	  re-write the whole mpg123 application from scratch, using the
	  mpg123 libraries for audio and
	  other libraries for the interface.

2020-04-19 19:30  thor

	* NEWS, src/mpg123.c: mpg123: free(prebuffer) after out123 is done
	  with it
	  
	  This early free() of the buffer in safe_exit() occured while the
	  output
	  may still be during execution of out123_play() to use that
	  buffer. Now
	  it's after output stopped.

2020-04-16 22:50  thor

	* NEWS, src/mpg123.c: mpg123: clear progress bar before metadata

2020-04-15 07:12  thor

	* src/metaprint.c, src/tests/textprint.c: mpg123: breaks to space
	  
	  This catches whitespace characters like line breaks and turns
	  sequences
	  of those into a single normal space character before filtering
	  for
	  nasties in terminal output. So
	  
	  Some
	  
	  Strange
	  Title
	  
	  turns into Some Strange Title for print, not SomeStrangeTitle.

2020-04-15 06:34  thor

	* src/metaprint.c: mpg123: debugging line removed

2020-04-13 15:13  thor

	* NEWS, src/common.c, src/common.h, src/local.c, src/local.h,
	  src/metaprint.c, src/metaprint.h, src/term.c,
	  src/tests/Makemodule.am, src/tests/sweep.mp3,
	  src/tests/textprint.c: mpg123: More work on safe metadata
	  printing, preparations.
	  
	  This introduces a check to only filter the non-printing
	  characters
	  when actually printing to a terminal. The print_outstr() function
	  shall be used in future.
	  
	  The test mp3 file got a line break introduced in the album name.

2020-04-07 05:54  thor

	* src/metaprint.c, src/metaprint.h: metaprint: add unknown2utf8()
	  
	  This takes the code out if id3_gap() to be able to make UTF-8
	  from any encoding
	  that mpg123 encounters elsewhere (assuming everything is
	  ASCII-based there).

2020-04-05 22:49  thor

	* NEWS: NEWS: rephrase TODO before 1.26.0

2020-04-05 22:48  thor

	* NEWS, TODO: TODO for the future

2020-04-05 22:41  thor

	* NEWS, src/streamdump.c: mpg123: --streamdump with unintr_write().

2020-04-05 22:36  thor

	* NEWS, man1/out123.1, src/compat/compat.c, src/compat/compat.h,
	  src/intsym.h, src/mpg123-id3dump.c, src/mpg123.c,
	  src/mpg123app.h, src/out123.c: out123, mpg123: (non-)handling of
	  --STDOUT, unintr_write() fix
	  
	  This makes --STDOUT for out123 more official and robust using
	  newly introduced unintr_fwrite(). The other unintr functions got
	  fixes for actual interrupts that result in negative return vaues.
	  
	  For mpg123, --STDOUT has been removed. It was an alias to
	  --stdout
	  anyway, and it it actually not that easy to get right with the
	  live playback semantics.

2020-03-29 22:22  thor

	* NEWS, src/audio.c, src/control_generic.c, src/httpget.c,
	  src/libmpg123/format.c, src/libmpg123/frame.c,
	  src/libmpg123/index.c, src/libmpg123/lfs_wrap.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/readers.c,
	  src/libout123/libout123.c, src/libout123/modules/aix.c,
	  src/libout123/modules/alsa.c, src/libout123/modules/arts.c,
	  src/libout123/modules/coreaudio.c, src/libout123/modules/hp.c,
	  src/libout123/modules/mint.c, src/libout123/modules/os2.c,
	  src/libout123/modules/portaudio.c, src/libout123/modules/sgi.c,
	  src/libout123/modules/sun.c: mpg123, libmpg123, libout123: QUIET
	  fixup

2020-03-18 12:01  thor

	* src/libmpg123/mpg123.h.in: libmpg123: try to clarify the
	  difference between mpg123_length() and mpg123_framelength()

2020-03-17 23:10  thor

	* src/libmpg123/legacy_module.c: libmpg123: a wrong file from the
	  past

2020-03-16 08:20  thor

	* NEWS, src/libmpg123/parse.c, src/libmpg123/readers.c,
	  src/mpg123.c: libmpg123: no MPG123_NEED_MORE for non-feeder

2020-03-16 08:09  thor

	* man1/mpg123.1, man1/out123.1: man: updated dates

2020-03-16 07:19  thor

	* doc/examples/dump_seekindex.c, doc/examples/extract_frames.c,
	  doc/examples/feedseek.c,
	  doc/examples/mpg123_to_wav_replaced_io.c: examples: fix compiler
	  warnings

2020-03-16 07:13  thor

	* doc/examples/Makefile: examples: mpg123_test got lost in
	  communication

2020-03-15 15:00  thor

	* man1/mpg123.1, man1/out123.1: man: Add man-page hint for JACK
	  ports in -a

2020-03-15 14:31  thor

	* NEWS: NEWS: TODO block, only these, please

2020-03-15 14:29  thor

	* NEWS: NEWS: reorder, drop some less important TODO notes, want to
	  ship

2020-03-15 14:28  thor

	* src/libmpg123/libmpg123.c: libmpg123: a 2020

2020-03-15 14:09  thor

	* TODO: TODO: done ID3v2 multiparsing

2020-03-14 14:50  thor

	* src/libout123/out123_int.h: libout123: zerosample is unsigned
	  char array

2020-03-14 14:49  thor

	* src/libmpg123/mpg123.h.in, src/libmpg123/stringbuf.c: libmpg123:
	  fix mpg123_move_string return value

2020-03-14 14:38  thor

	* NEWS, src/libmpg123/id3.c: libmpg123: check for ID3v2.4 update
	  tags and replace old ID3v2 data otherwise
	  
	  This finally enables proper operation on concatenated files
	  appearing as
	  one big stream with multiple embedded ID3v2 tags. The mode of
	  actually
	  updating exiting data instead of replacing it has been tested by
	  me before
	  this commit, but will lay dormant now until someone presents a
	  file that
	  actually features an ID3v2.4 update tag.
	  
	  There are parts of the spec that are just theoretical. I even
	  looked at
	  a competing implementaton in taglib and didn't notice any
	  extended header
	  parsing besides skipping it. So I guess hardly anyone ever
	  bothered
	  implementing that part of the spec.

2020-03-14 13:03  thor

	* src/libmpg123/id3.c: libmpg123: ID3v2 cleanup 1 (properly append
	  tags with overwriting)
	  
	  This implements proper behaviour for the assumption that multiple
	  encountered
	  ID3v2 tags shall be applied as updates, adding only to the stored
	  elements
	  if existing entries should not be overwritten according to the
	  uniqueness
	  rules of the standard.
	  
	  An easy way to test this is to decode a track with --seek-index 0
	  and
	  repeatedly seek back to the beginning (and add a line to print
	  out
	  the number of collected ID3 texts/comments). The old libmpg123
	  would
	  steadily append the same entries again and again to the id3 data
	  structures as the leading ID3v2 tag is parsed repeatedly. This is
	  strictly speaking no memory leak as the pointers are still
	  properly
	  managed, but of course it is a leak in practice as data
	  accumulates
	  needlessly.
	  
	  Note that this accumulation only happened when the user
	  explicitly
	  disabled the seek index for regular files, which would prevent
	  repeated
	  parsing of a leading ID3v2 tag, or in the case of concatenated
	  files
	  in one big stream, where libmpg123 would remember all ID3v2 data
	  ever encountered. It is not easy to judge the bugginess of this
	  behaviour.
	  It could actually be a feature to accumulate all ID3 data. And
	  users
	  could call mpg123_meta_free() after each extraction to minimize
	  memory
	  usage. Nevertheless, this ends now in the sense that ID3v2
	  frames/fields
	  that are supposed to be unique are also unique in storage.
	  
	  The next step will be to add parsing of the update flag and
	  clearing
	  of existing ID3v2 data when a non-update tag is parsed.

2020-03-14 12:41  thor

	* src/libmpg123/mpg123.h.in, src/libmpg123/stringbuf.c: libmpg123:
	  add mpg123_same_string() and mpg123_move_string()

2020-03-14 12:39  thor

	* NEWS, src/metaprint.c: mpg123: ignore ID3v1 on Frankenstein
	  streams

2020-03-14 12:38  thor

	* NEWS: NEWS: typo

2020-03-14 09:18  thor

	* ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/libout123/modules/CMakeLists.txt: ports/cmake:
	  some fixes for Windows output modules and a bit of libm

2020-03-06 08:15  thor

	* src/libmpg123/libmpg123.c: libmpg123: Settig zero-sized index is
	  OK when there is no index.

2020-03-06 08:12  thor

	* src/libmpg123/id3.c, src/libmpg123/libmpg123.c: revert libmpg123
	  changes in commit, too earaly

2020-03-06 08:09  thor

	* TODO, src/libmpg123/id3.c, src/libmpg123/libmpg123.c: TODO: tag
	  update

2020-03-04 08:40  thor

	* valgrind.sup: valgrind.supp: Suppress valgrind errors out of the
	  scope of mpg123
	  
	  I finally got annoyed enough by all those libasound warnings and
	  they
	  can be disabled now when running mpg123 under valgrind (using
	  --suppressions=valgrind.sup).
	  
	  A new entry is that SSE4.1 invalid memory access in glibc, but it
	  seems
	  to be a false positive (accesses within a page).

2020-03-04 08:38  thor

	* TODO: That ID3 sort-of-leak will be fixed.

2020-03-04 07:58  thor

	* src/filters.c: out123: no DEBUG for filter parsing anymore

2020-03-04 07:57  thor

	* TODO: TODO: outputs have names

2020-03-03 00:32  thor

	* src/Makemodule.am, src/filters.c, src/filters.h, src/out123.c:
	  out123: add --filter for applying digital (IIR) filters via
	  libsyn123
	  
	  I try to be nice and validate input in a first pass and later
	  actually
	  parse, still being a bit paranoid. This helps during the first
	  stages
	  of development where there's stupid bugs in both sides.
	  
	  Maybe mpg123 itself will also inherit filter usage, along with
	  the
	  proper resampling.

2020-03-03 00:23  thor

	* src/libsyn123/libsyn123.c: libsyn123: add missing error strings

2020-03-03 00:22  thor

	* src/libsyn123/filter.c: libsyn123/filter: essential +1 to make
	  things work

2020-02-10 23:47  thor

	* src/libsyn123/syn123.h.in: typo

2020-02-02 08:51  thor

	* src/tests/Makemodule.am, src/tests/seek_accuracy.sh,
	  src/tests/seek_whence.sh: tests: fix dist and out-of-tree build
	  for tests

2020-02-01 23:05  thor

	* src/tests/Makemodule.am: tests: make sure test programs are built
	  for tests

2020-02-01 23:01  thor

	* src/tests/Makemodule.am, src/tests/seek_accuracy.c,
	  src/tests/seek_accuracy.sh, src/tests/seek_whence.sh,
	  src/tests/sweep.mp3: tests: finally a simple sweep for testing,
	  and more testing

2020-01-31 23:48  thor

	* README, doc/README.remote, man1/mpg123.1, src/audio.c,
	  src/audio.h, src/common.c, src/common.h, src/control_generic.c,
	  src/libmpg123/fmt123.h, src/libout123/libout123.c,
	  src/libout123/out123.h.in, src/libout123/out123_int.h,
	  src/term.c, src/term.h: mpg123, libout123, fmt123: Make a very
	  special friend happy, introduce output mute.
	  
	  This introduces software muting in libout123, to be triggered via
	  terminal control
	  key 'u' (m was taken) or the remote control commands 'mute' and
	  'unmute'. For this,
	  libout123 needs to know what a zero looks like in the current
	  encoding. I hope
	  I handled that smartly enough with the MPG123_ZEROSAMPLE macro in
	  fmt123.
	  
	  I explicitly decided against linking in libsyn123. That makes
	  only sense when
	  going all-in and deciding that libout123 shall convert, resample,
	  and mix
	  on-the-fly to make input data match the output. This might be
	  nice to have,
	  but it is also nice to have a library that does not really care
	  about the
	  content it transports. It is a simple transporter with a buffer.
	  Said buffer
	  necessitates that the transporter knows what empty sound looks
	  like, but I
	  really don't want to burden it with more knowledge for
	  simplicity.
	  
	  This muting needs to be inside libout123 whe the buffer is used.
	  Feeding
	  silence from the client application does not have latency you
	  expect when
	  (un)pause is already negotiated with the buffer.

2020-01-31 23:19  thor

	* NEWS, man1/mpg123.1, src/libmpg123/parse.c, src/mpg123.c: mpg123,
	  libmpg123: finally address bug 185 and introduce exit code for
	  bad input
	  
	  See the updated man page. If one input track is complete rubbish,
	  there is
	  exit(1) now.

2020-01-31 22:52  thor

	* NEWS: TODO about inconsistent --quiet

2020-01-31 11:13  thor

	* src/mpg123.c: mpg123: better help for --equalizer

2020-01-31 10:12  thor

	* NEWS, src/libmpg123/libmpg123.c: libmpg123: fix crash for
	  stupidly low NtoM rate

2020-01-30 15:36  thor

	* src/libout123/hextxt.c: libou123: picky text printout (in
	  theory), in practise also print ulaw/alaw unsigned

2020-01-30 15:18  thor

	* src/out123.c: out123: warn about wave setup, prepent more ME

2020-01-30 15:04  thor

	* src/libsyn123/libsyn123.c, src/libsyn123/syn123.h.in: libsyn123:
	  rename no(ne) wave to flat

2020-01-30 15:03  thor

	* src/libsyn123/g711_impl.h: libsyn123: that code is not good, got
	  to fix that

2020-01-27 08:59  thor

	* Makefile.am: drop removed Pascal port from dist

2020-01-26 09:53  thor

	* NEWS, ports/mpg123_.pas: remove outdated Pascal port

2020-01-22 08:54  thor

	* NEWS, src/mpg123.c: mpg123: do not peek at end for stdin (bug
	  285)

2020-01-22 08:53  thor

	* src/metaprint.c: mpg123: fix stupid crash on non-present ID3 data
	  
	  This was introduced with the printout sanitation in trunk.

2020-01-04 17:14  thor

	* ports/cmake/src/CMakeLists.txt: ports/cmake: default to accurate
	  rounding

2020-01-04 15:43  thor

	* src/libsyn123/filter.c, src/libsyn123/syn123.h.in: libsyn123:
	  deciding that it's good as it is, adjusting documentation
	  
	  I decided against on-the-fly encoding conversion in filters. It
	  would
	  need to handle intermediate clipping. Annoying. Just convert
	  before/after.
	  
	  I adjusted the documentation and justificatin, preparing for
	  eventual
	  release.
	  
	  Next is to really test-drive the filtering, and write some
	  libmpg123 and
	  libsyn123 tests for the test suite.

2020-01-02 02:22  thor

	* NEWS, src/libout123/libout123.c: libout123: fix write loop
	  abortion logic

2020-01-01 22:43  thor

	* NEWS, src/libout123/modules/alsa.c: libout123/alsa: set
	  buffer_size/2 as start threshold
	  
	  This seems to fix the half-broken playback with pulse hidden
	  behind ALSA
	  api via a plugin. At least on ubuntu, I can avoid initial
	  underruns that
	  were accompanied by some periods of static noise. I presume that
	  premature
	  starting of the playback is also to blame for the continued
	  static noise
	  that some people get from mpg123 with ALSA output module routing
	  to a
	  Pulseaudio server.
	  
	  I doubt that this is the actual cause for the messup that seems
	  to run
	  into some byte shift shredding the decoded audio, but it's a
	  trigger.

2020-01-01 20:27  thor

	* Makefile.am, src/tests/Makemodule.am: build: use check_PROGRAMS
	  so that distcheck is happy

2020-01-01 20:11  thor

	* NEWS, configure.ac, src/common.c, src/common.h, src/local.c,
	  src/local.h, src/metaprint.c, src/metaprint.h, src/mpg123.c,
	  src/term.c, src/tests/Makemodule.am, src/tests/textprint.c:
	  mpg123: filter metadata before printout, better handling of
	  Unicode width
	  
	  This is prompted by bug 267. The main goal was to avoid control
	  characters
	  in terminal printout. Another result is the more strict handling
	  of ID3v1
	  data, it being reduced to 7 bits in lack of a safe alternative.
	  
	  In the best case, proper handling of UTF-8 strings should be
	  ensured using
	  the system Unicode support (mbstowcs(), iswprint() and friends).
	  Fallback
	  code is in place to do something sensible if that support is
	  missing. With
	  the system support, widths of characters different from 1 are
	  handled now,
	  as correctly as the evolving Unicode standard allows.
	  
	  This has been tested on Linux only. At least on Windows, there
	  will be
	  additional handling needed, I imagine configuring the terminal to
	  acceppt
	  UTF-8 at all is in order.
	  
	  Also, the filtering needs to be extended to file names and URLs.

2020-01-01 20:02  thor

	* src/libmpg123/mpg123.h.in: libmpg123: clarify usefulness of
	  mpg123_strlen()

2020-01-01 12:18  thor

	* Makefile.am: build: add cmake files to dist

2020-01-01 12:07  thor

	* src/compat/Makemodule.am, src/compat/compat.c,
	  src/compat/compat_dl.c, src/compat/wpathconv.c,
	  src/compat/wpathconv.h: compat: rename the fragment to .h to
	  avoid object confusion

2020-01-01 11:11  thor

	* Makefile.am, NEWS, src/Makemodule.am, src/tests/Makemodule.am:
	  build: add src/tests/text as first entry of the test suite
	  
	  Now you can do `make check` and have something useful happen.
	  
	  The test currently fails if you disable ID3v2 or ICY. Need to
	  add XFAIL logic.

2019-12-29 23:00  thor

	* src/libout123/modules/sdl.c: libout123: fix SDL build on modern
	  libc for usleep

2019-12-28 11:34  thor

	* NEWS, src/libmpg123/stringbuf.c: libmpg123: terminate strings on
	  shrinking

2019-12-22 11:45  thor

	* ports/cmake/src/CMakeLists.txt,
	  ports/cmake/src/libmpg123/CMakeLists.txt: ports/cmake: fixes for
	  libmpg123 with MSVC

2019-12-10 09:04  thor

	* NEWS, configure.ac, src/libmpg123/dct36_sse.S,
	  src/libmpg123/dct64_sse_float.S,
	  src/libmpg123/synth_sse_accurate.S,
	  src/libmpg123/synth_sse_float.S, src/libmpg123/synth_sse_s32.S,
	  src/libmpg123/synth_stereo_sse_accurate.S,
	  src/libmpg123/synth_stereo_sse_float.S,
	  src/libmpg123/synth_stereo_sse_s32.S,
	  src/libout123/modules/os2.c: os2 update

2019-12-05 10:23  thor

	* ports/cmake/src/CMakeLists.txt: ports/cmake: fix libm usage for
	  mpg123 binary

2019-12-05 10:07  thor

	* ports/cmake/CMakeLists.txt,
	  ports/cmake/src/compat/CMakeLists.txt,
	  ports/cmake/src/libmpg123/CMakeLists.txt,
	  ports/cmake/src/libout123/CMakeLists.txt,
	  ports/cmake/src/libout123/modules/CMakeLists.txt,
	  ports/cmake/src/libsyn123/CMakeLists.txt: ports/cmake: next
	  iteration, more to come

2019-12-04 08:04  thor

	* ports/cmake/CMakeLists.txt,
	  ports/cmake/src/compat/CMakeLists.txt,
	  ports/cmake/src/libout123/CMakeLists.txt,
	  ports/cmake/src/libout123/modules/CMakeLists.txt,
	  ports/cmake/src/libsyn123/CMakeLists.txt: ports/cmake: first
	  batch of fixes

2019-12-01 18:52  thor

	* AUTHORS, NEWS, ports/cmake, ports/cmake/CMakeLists.txt,
	  ports/cmake/cmake, ports/cmake/cmake/search_libs.cmake,
	  ports/cmake/mpg123-config.cmake.in, ports/cmake/src,
	  ports/cmake/src/CMakeLists.txt, ports/cmake/src/compat,
	  ports/cmake/src/compat/CMakeLists.txt,
	  ports/cmake/src/config.cmake.h.in, ports/cmake/src/libmpg123,
	  ports/cmake/src/libmpg123/CMakeLists.txt,
	  ports/cmake/src/libout123,
	  ports/cmake/src/libout123/CMakeLists.txt,
	  ports/cmake/src/libout123/modules,
	  ports/cmake/src/libout123/modules/CMakeLists.txt,
	  ports/cmake/src/libsyn123,
	  ports/cmake/src/libsyn123/CMakeLists.txt, ports/cmake/src/tests,
	  ports/cmake/src/tests/CMakeLists.txt: ports/cmake: first
	  incarnation of CMake build files
	  
	  The idea is to have porting eased by using CMake to create your
	  platform-specific
	  build files. For Unix-like platforms, the main build system is
	  not changed and
	  there is no plan to change that. CMake is an additional option to
	  get things
	  built on platforms where the default build fails you.
	  
	  Vitaly Kirsanov volunteered to submit these files. They are
	  probably more easy to
	  keep up to date than MSVC project files (especially without
	  MSVC).

2019-12-01 13:24  thor

	* src/Makemodule.am, src/tests/volume.c: tests/volume: basic syn123
	  functionality test, with implicit conversion

2019-11-10 09:16  thor

	* NEWS, src/libmpg123/frame.h: libmpg123: fix non-gapless build

2019-11-03 10:45  thor

	* NEWS, configure.ac: libout123: use SDL2 instead of old SDL if
	  found, no code changes

2019-11-03 10:30  thor

	* NEWS: letter

2019-11-01 08:18  thor

	* src/compat/Makemodule.am: compat: add the internal functions
	  fragment to dist

2019-11-01 08:13  thor

	* NEWS, configure.ac, libmpg123.pc.in, libout123.pc.in,
	  libsyn123.pc.in, src/Makemodule.am, src/compat/Makemodule.am,
	  src/compat/compat.c, src/compat/compat_dl.c,
	  src/compat/wpathconv.c, src/libmpg123/Makemodule.am,
	  src/libout123/Makemodule.am, src/libsyn123/Makemodule.am: build
	  system: fix up library dependencies, add Libs.private to .pc
	  
	  This separates the dependencies of our libraries from the
	  dependencies
	  of the end-user programs. For this, libcompat got split again, to
	  separate the libdl-using part for libout123 only. Messy, but
	  seems to
	  work.
	  
	  The pkg-config files now contain Libs.private to enable proper
	  usage
	  of our static libs. This is mainly interesting for Windows, but
	  also
	  covers libm usage on Unix.

2019-10-26 07:05  thor

	* NEWS: NEWS for 1.25.13

2019-10-24 06:31  thor

	* src/compat/compat.c: compat: move Windows variables into Windows
	  block (fixes build)

2019-10-23 12:07  jon_y

	* src/compat/compat.c: Use SetThreadErrorMode to suppress error
	  popups, this obsoletes Windows Vista and earlier systems

2019-10-19 07:47  patr3ck

	* ports/MSVC++/2015/uwp/libmpg123.sln,
	  ports/MSVC++/2015/uwp/libmpg123/libmpg123.vcxproj,
	  ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj: More
	  consistent output folder settings for MSVC win32 and uwp builds

2019-10-18 09:45  patr3ck

	* ports/MSVC++/2015/uwp/libmpg123.sln,
	  ports/MSVC++/2015/uwp/libmpg123/libmpg123.vcxproj: Add ARM64
	  platform support to MSVC uwp project

2019-10-18 09:43  patr3ck

	* ports/MSVC++/2015/win32/dump_seekindex/dump_seekindex.vcxproj,
	  ports/MSVC++/2015/win32/feedseek/feedseek.vcxproj,
	  ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj,
	  ports/MSVC++/2015/win32/mpg123.sln,
	  ports/MSVC++/2015/win32/scan/scan.vcxproj: Add ARM and ARM64
	  platform support to MSVC, non uwp projects

2019-10-18 06:01  patr3ck

	* ports/MSVC++/2015/uwp/libmpg123/libmpg123.vcxproj: Fix MSVC uwp
	  builds, update to VS2019, toolset v142

2019-10-18 05:58  patr3ck

	* ports/MSVC++/2015/win32/dump_seekindex/dump_seekindex.vcxproj,
	  ports/MSVC++/2015/win32/feedseek/feedseek.vcxproj,
	  ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj,
	  ports/MSVC++/2015/win32/mpg123.sln,
	  ports/MSVC++/2015/win32/scan/scan.vcxproj: Fix MSVC win32 builds,
	  update to VS 2019, toolset v142

2019-10-17 15:29  patr3ck

	* src/libmpg123/sample.h: Fix a MSVC warning

2019-10-16 07:45  thor

	* src/compat/compat.h: compat: define SSIZE_MAX anyway
	  
	  To be on the safe size, give SSIZE_MAX a value on non-POSIX.

2019-10-16 07:45  thor

	* src/libsyn123/resample.c: libsyn123: demand POSIX for SSIZE_MAX
	  
	  For some stupid reason, the upper limit for ssize_t is not part
	  of C99.

2019-10-14 05:55  thor

	* src/libsyn123/filter.c: libsyn123: filter.c was missing from repo

2019-10-13 19:44  thor

	* src/libsyn123/syn123.h.in: libsyn123: grammar

2019-10-13 15:26  thor

	* NEWS: NEWS: mention resmapler

2019-10-13 15:16  thor

	* src/libsyn123/Makemodule.am, src/libsyn123/libsyn123.c,
	  src/libsyn123/syn123.h.in, src/libsyn123/syn123_int.h: libsyn123:
	  add untested filter implementation, remove stub about history
	  
	  This adds my 290-line generic digital filter Direct Form II
	  implementation
	  to libsyn123. It serves at least at a reference to who I compute
	  those
	  filters in the resampler code. It is totally untested. It just
	  compiles.
	  Also, the implementation of the on-line conversion of encodings
	  is
	  missing.
	  
	  I decided to drop the idea of a function that clears filter
	  history.
	  You can query the wave generators about their setup. You can
	  query
	  the filter chain about its setup. You should be able to remember
	  what you tell the resampler (maybe I'll add a query function for
	  that,
	  too). If you want a fresh start, just start fresh.
	  
	  I need to test this stuff, adding a --filter parameter to out123,
	  and get going towards finishing mpg123 1.26.0.

2019-10-13 08:19  thor

	* src/libsyn123/libsyn123.c, src/libsyn123/syn123.h.in: libsyn123:
	  add syn123_query_waves()

2019-10-12 22:21  thor

	* src/tests/sweeper.c: tests/sweeper: fix worst-case maxoutblock
	  calculation

2019-10-09 22:12  thor

	* src/libsyn123/syn123.h.in: libsyn123: doc, raise 1

2019-10-09 21:52  thor

	* doc/doxygen.conf: libsyn123: trying LaTeX in doxygen

2019-10-09 21:50  thor

	* src/libsyn123/syn123.h.in: libsyn123: trying LaTeX in doxygen

2019-10-09 12:36  thor

	* src/libsyn123/resample.c: libsyn123: a bit more smoothness

2019-10-09 12:27  thor

	* src/tests/sweeper.c: tests/sweeper: switch to output time base
	  
	  This makes for a smoother experience more closely resembling
	  an analytical sweep. Also, the still remaining artefacs at
	  high speed are more distinct.

2019-10-09 12:00  thor

	* src/libsyn123/resample.c, src/libsyn123/syn123.h.in: libsyn123:
	  fix up counting logic and add in/out buffer predictors
	  
	  Testing revealed that my prediction of minimum needed input
	  samples
	  was not quite right yet. Also, I need momentary exact predictions
	  of output samples coming with the next buffer, and the input
	  samples needed to get at least a desired amount.
	  
	  So, there are syn123_resample_expect() and
	  syn123_resample_inexpect()
	  now. Quite some headache to avoid the internal buffering that
	  those high-latency resamplers force on the user.

2019-10-09 11:55  thor

	* src/tests/interpolsim.c: tests: verifying the model of the
	  resampler interpolation in 8 bit

2019-10-08 22:38  thor

	* src/libmpg123/parse.c: libmpg123: clear to_decode on parsing new
	  frame
	  
	  This should fix bug 280, where mpg123_scan() changed decoding
	  behaviour due to an attempt to decode a bad frame after the
	  first frame in place of the actual first frame.

2019-10-05 16:53  thor

	* src/libsyn123/libsyn123.c, src/libsyn123/resample.c,
	  src/libsyn123/syn123.h.in, src/out123.c, src/tests/sweeper.c:
	  libsyn123: more smoothness on rate ratio changes
	  
	  This introduces the relaxing of filters using a bit of historic
	  samples at the differing decimation stages. New stages get
	  initialized using the previous' stages history. Final
	  pre-emphasis
	  and lowpass, as well as interpolator histoy get fed the
	  (constructed)
	  final stage history to get on track. This does work nicely to
	  remove
	  (dampen, of course) the clicks that were still audible with only
	  the
	  low pass coefficient scaling.
	  
	  The sweeper test still shows some clicking towards the end of a
	  speed-up run, but that maybe is due to the output sample interval
	  getting smaller and smaller, not really giving space to
	  smoothness.
	  I need a smarter sweeper to really compare a resampled sweep to
	  a computed sine sweep.
	  
	  Currently, there is an additional parameter to
	  syn123_setup_resample()
	  to activate the not-for-free stage history keeping. I will do
	  some
	  benchmarking before deciding whether to keep that parameter or
	  just
	  have the full smoothness always present.

2019-09-08 11:52  thor

	* src/libsyn123/resample.c: libsyn123: first step to smoother rate
	  ratio changes
	  
	  The low pass history now is rescaled with b_0/(1+sum(a)) on ratio
	  change.
	  This dampens the nasty jumps on oversampling change a lot
	  already. It
	  is not perfect, of course. Maybe something can be done for the
	  interpolator, too.

2019-09-08 11:43  thor

	* src/tests/sweeper.c: tests/sweeper: add spaces and beginning
	  speed
	  
	  To better debug the distortions on sample ratio changes, 100
	  samples of spacing
	  are introduced at the change points. Also, the starting speed can
	  be
	  specified to have one sweep able to cover the full range of
	  differing
	  resampling realms.

2019-09-08 11:38  thor

	* src/libsyn123/resample.c: libsyn123: initialize LPF flow for
	  correct number of times

2019-09-08 08:54  thor

	* src/libsyn123/resample.c: libsyn123: rescale interpolator offset
	  on rate change
	  
	  The prediciton of the output sample count depends on the
	  interpolation
	  offset being in the expected range at/above -rd->vinrate.
	  Re-scaling
	  that offset during rate change ensures that while also keeping
	  continuity for small rate changes (as opposed to always resetting
	  it).

2019-09-08 08:52  thor

	* src/Makemodule.am, src/tests/sweeper.c: tests/sweeper: resample
	  with varying ratio
	  
	  This is a little test program that exercises the resampler with
	  varying
	  resampling ratio. It will produce a configurable sine sweep using
	  stepwise increase of the resampling ratio by a given factor for
	  each input
	  block.

2019-09-03 21:50  thor

	* src/libsyn123/resample.c: libsyn123: no shortcut pointer before
	  the main course

2019-09-03 21:48  thor

	* src/libsyn123/syn123.h.in: libsyn123: standard headers, standard
	  wave

2019-08-25 22:06  thor

	* src/libmpg123/parse.c: libmpg123: introduce a long temporary
	  instead of storing long in int and expecting any benefit

2019-08-22 05:44  thor

	* NEWS: update NEWS for fix of bug 273 in 1.25.12

2019-07-30 07:40  thor

	* NEWS, src/libmpg123/libmpg123.c: libmpg123: fix mpg123_read() for
	  feederless builds

2019-07-30 06:27  thor

	* src/libmpg123/readers.c: libmpg123: remove EXTRA_DEBUG in
	  readers.c, too noisy for normal debugging

2019-07-26 13:48  thor

	* NEWS, src/libmpg123/id3.c: libmpg123: another bug in the ID3
	  parser (oss-fuzz-bug 16050)
	  
	  The de-unsyncing was not safe for empty frames. Neither is it
	  necessary, so
	  insert another condition there.
	  
	  Credit to OSS-Fuzz.

2019-07-26 12:53  thor

	* NEWS: NEWS for small streams

2019-07-26 12:51  thor

	* src/libmpg123/readers.c: libmpg123: avoid early end of streams
	  under 128 bytes (for reproducing minimized fuzzes)

2019-07-23 08:51  thor

	* NEWS, src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in,
	  src/libout123/libout123.c, src/libout123/out123.h.in: libmpg123,
	  libout123: add free() wrappers (bug 276)

2019-07-23 08:45  thor

	* scripts/intsym.pl, src/intsym.h: intsym: formally include
	  libsyn123, drop static

2019-07-23 08:35  thor

	* NEWS: got dither

2019-07-23 08:34  thor

	* src/libsyn123/resample.c: libsyn123: smooth thinking

2019-07-22 21:20  thor

	* NEWS, src/libmpg123/id3.c: libmpg123: now really fix that RVA2
	  overread (oss-fuzz-bug 16009) (please)

2019-07-22 21:15  thor

	* src/libmpg123/id3.c: libmpg123: a debugging line more

2019-07-22 10:08  thor

	* src/libsyn123/resample.c: libsyn123: remove TODO, tried it: no
	  benefit

2019-07-22 09:22  thor

	* src/libsyn123/resample.c: libsyn123: remove TODO

2019-07-22 09:21  thor

	* scripts/syn123-channelscaling.sh, src/libsyn123/resample.c:
	  libsyn123: add SYN123_NO_CASES switch for mono and stereo
	  
	  Using scripts/syn123-channelscaling.sh, I see about 15% benefit
	  for mono/stereo operation when treating it as special cases in
	  the resampler. Fun fact: Even the higher channel counts profit
	  a tiny bit (1% to 2%, not sure how significant) from the
	  separation.
	  
	  Giving the compiler information about what can be likely values
	  for those inner loop rounds still makes sense.

2019-07-22 08:52  thor

	* src/libsyn123/sampleconv.c: libsyn123: SYN123_NO_CASES typo

2019-07-22 08:20  thor

	* src/libsyn123/resample.c: libsyn123: multiple channels in the
	  resampler

2019-07-22 08:01  thor

	* NEWS, configure.ac: Fix dynamic build with gcc -fsanitize=address
	  to force -ldl for dlsym().
	  
	  The configure script now checks for all three functions in -ldl
	  to avoid
	  being fooled by ASan pulling in dlopen(), but not dlsym().
	  Bugger, that.

2019-07-19 21:06  thor

	* NEWS, src/libmpg123/id3.c: libmpg123: fix another stupid RVA2
	  parser bug (oss-fuzz-bug 15975)

2019-07-17 11:30  thor

	* src/libsyn123/libsyn123.c, src/libsyn123/resample.c,
	  src/libsyn123/sampleconv.c, src/libsyn123/syn123_int.h,
	  src/out123.c: libsyn123, out123: dither fixup

2019-07-17 08:25  thor

	* src/out123.c: out123: inform about speed, catch out of range

2019-07-17 08:12  thor

	* src/out123.c: out123: fix output buffer allocation for
	  resampling, add --speed
	  
	  The mono resampler seems to work now. I can generate a wave
	  pattern and
	  speed it up/down. Still need to fix the situtation with
	  dithering.
	  
	  And test the dithering.
	  
	  Generally, I need to write some tests for the various format
	  conversion
	  and mixing options. I can synthetize test data on the fly, or use
	  some
	  example recording to take the syn123 generators out of the
	  picture.

2019-07-17 05:54  thor

	* src/libsyn123/sampleconv.c: libsyn123: fix TO_FLT macro for
	  double input

2019-07-17 04:43  thor

	* src/libsyn123/syn123.h.in: libsyn123: remove unused
	  SYN123_NO_SPACE

2019-07-17 04:30  thor

	* NEWS, configure.ac, src/libsyn123/Makemodule.am,
	  src/libsyn123/geiger.c, src/libsyn123/libsyn123.c,
	  src/libsyn123/pinknoise.c, src/libsyn123/resample.c,
	  src/libsyn123/sampleconv.c, src/libsyn123/syn123.h.in,
	  src/libsyn123/syn123_int.h, src/libsyn123/volume.c, src/out123.c,
	  src/term.c: libsyn123, out123: working towards integrated
	  resampler, among others
	  
	  The internal resampler is enabled in the build now and the logic
	  in out123
	  is reworked to accomodate for this. A number of changes done to
	  libsyn123:
	  
	  - lots of API functions to support resampler
	  - random number generator moved out of geiger.c
	  - dithering added
	  - syntax fixes
	  - SYN123_NO_SPACE introduced but not used (will vanish)
	  
	  This all produces nice distortions so far. I will fix out123
	  soon.
	  
	  Oh, and NEWS got a more explicit mention of OSS-Fuzz.

2019-07-16 11:37  thor

	* NEWS, src/libmpg123/parse.c: libmpg123: fix APE tag skipping
	  (undefined behaviour, endless loop, see oss-fuzz-bug 15864)

2019-07-16 11:31  thor

	* src/libmpg123/id3.c: libmpg123: no C99 comments here, yet

2019-07-16 11:02  thor

	* NEWS, src/libmpg123/id3.c: libmpg123: parse RVA2 values without
	  signed left shift (oss-fuzz-bug 15862)

2019-07-16 09:43  thor

	* NEWS, src/libmpg123/id3.c: libmpg123: fix oss-fuzz-bug 15852 (oob
	  reads in ID3 parser)

2019-07-15 07:12  thor

	* src/streamdump.c: mpg123: avoid unused return values

2019-07-15 07:12  thor

	* src/mpg123.c: mpg123: update date

2019-07-15 07:10  thor

	* src/mpg123.c: mpg123: avoid unused return value of write()

2019-07-15 06:41  thor

	* src/equalizer.c: mpg123: check return value of fgets() in
	  load_equalizer()

2019-07-15 06:30  thor

	* src/libout123/modules/openal.c: libout123: openal strings as
	  ALchar, not ALubyte

2019-06-10 08:02  thor

	* src/libsyn123/resample.c: libsyn123: my resampler work getting
	  into shape (not yet there)

2019-05-22 06:31  thor

	* src/libmpg123/mpg123.h.in: libmpg123: fix MPG123_ICY_INTERVAL
	  name in comment

2019-05-22 05:46  thor

	* src/libmpg123/mpg123.h.in: libmpg123: clarify documentation about
	  no ICY support in feed reader

2019-05-15 14:57  thor

	* man1/mpg123.1: document --icy-interval and --streamdump in the
	  man page

2019-05-15 14:56  thor

	* man1/mpg123.1, src/libsyn123/Makemodule.am,
	  src/libsyn123/libsyn123.c, src/libsyn123/syn123.h.in,
	  src/libsyn123/syn123_int.h, src/out123.c: revert r4462, the
	  libsyn123 state was not clean

2019-05-15 14:54  thor

	* man1/mpg123.1, src/libsyn123/Makemodule.am,
	  src/libsyn123/libsyn123.c, src/libsyn123/syn123.h.in,
	  src/libsyn123/syn123_int.h, src/out123.c: document --icy-interval
	  and --streamdump in the man page

2019-03-02 08:14  thor

	* src/libsyn123/libsyn123.c, src/libsyn123/syn123.h.in,
	  src/out123.c: libsyn123: rename sweep types for more consistency,
	  use quadratic instead of square to avoid confusion with square
	  waves

2019-03-02 07:21  thor

	* src/libsyn123/syn123.h.in: add YN123_SWEEP_LIMIT for braindead
	  iteration

2018-11-21 10:11  thor

	* NEWS, src/libmpg123/mangle.h: libmpg123: fix bug 273 by avoiding
	  #error inside #define in mangle.h

2018-11-19 22:32  thor

	* src/libsyn123/geiger.c: libsyn123: Do not stop Geiger speaker too
	  early.

2018-11-08 09:38  thor

	* NEWS, configure.ac: configure fixes for Cygwin and midipix

2018-09-15 23:22  thor

	* NEWS, src/libmpg123/format.c, src/libmpg123/mpg123.h.in:
	  libmpg123: add mpg123_format2() and mpg123_fmt2()
	  
	  This reverts mpg123_format() and mpg123_fmt() to old compatible
	  behaviour and rather introduces new functions for rate=0 support.

2018-09-15 23:09  thor

	* src/mpg123-strip.c: mpg123-strip: proper write() handling

2018-07-29 11:23  thor

	* NEWS, src/out123.c: out123: help text rearrangement

2018-07-29 11:16  thor

	* NEWS, src/libsyn123/geiger.c, src/libsyn123/pinknoise.c,
	  src/libsyn123/syn123.h.in, src/libsyn123/syn123_int.h,
	  src/out123.c: libsyn123: add white noise generator (from geiger)
	  
	  The noise looks a bit bright (heavy towards high frequencies),
	  but the
	  distribution looks right. This also adds seed parameters to the
	  other
	  noisy generators. The common fill_period function shall reduce
	  some
	  redundancy in preparing the period buffer.

2018-07-29 07:32  thor

	* NEWS: TODO:mpg123_init

2018-03-13 19:21  thor

	* src/libsyn123/geiger.c, src/libsyn123/sampleconv.c,
	  src/libsyn123/syn123.h.in: libsyn123: Introduce soft clipping
	  (not used yet except in geiger generator).

2018-03-11 18:39  thor

	* NEWS, src/libsyn123/libsyn123.c, src/libsyn123/syn123.h.in,
	  src/libsyn123/syn123_int.h, src/out123.c: out123, libsyn123:
	  added wave sweeps

2018-03-11 12:00  thor

	* src/out123.c: out123: add --seconds for humane time limit

2018-03-10 22:47  thor

	* src/libsyn123/libsyn123.c: libsyn123: no clipping in wave
	  generator, that comes later

2018-03-10 13:29  thor

	* src/out123.c: out123: add --preamp and --offset

2018-03-10 13:26  thor

	* src/libsyn123/Makemodule.am, src/libsyn123/syn123.h.in,
	  src/libsyn123/syn123_int.h, src/libsyn123/volume.c: libsyn123:
	  add syn123_amp() and db/linear conversion

2018-03-10 12:47  thor

	* src/out123.c: out123: update help text

2018-03-10 10:08  thor

	* src/libsyn123/sampleconv.c: libsyn123: define what happens with
	  NaN during clipping

2018-03-10 10:05  thor

	* src/libsyn123/sampleconv.c: libsyn123: define what happens with
	  NaN during conversion

2018-03-08 10:37  thor

	* src/libsyn123/syn123.h.in: libsyn123: note about fixed-point work

2018-03-08 10:08  thor

	* src/libsyn123/syn123.h.in: libsyn123: call it a frame

2018-03-08 07:54  thor

	* src/libsyn123/sampleconv.c, src/libsyn123/syn123.h.in,
	  src/out123.c: libsyn123: syn123_mixenc() again with both
	  encodings in mind

2018-03-08 07:44  thor

	* src/libsyn123/sampleconv.c, src/libsyn123/syn123.h.in: libsyn123:
	  dest -> dst

2018-03-05 15:20  thor

	* src/libsyn123/sampleconv.c, src/libsyn123/syn123.h.in,
	  src/out123.c: libsyn123: additive mixing with only optional
	  initial zero

2018-02-27 10:28  thor

	* NEWS: pushing bug 261 fix into another 1.25.x release

2018-02-27 08:13  thor

	* NEWS: NEWS for 1.25.9

2018-02-27 07:48  thor

	* NEWS, src/mpg123.c: mpg123: fix --icy-interval with stdin

2018-02-26 00:27  thor

	* NEWS, configure.ac, src/libsyn123/libsyn123.c,
	  src/libsyn123/sampleconv.c, src/libsyn123/syn123.h.in,
	  src/libsyn123/syn123_int.h, src/out123.c: out123+libsyn123:
	  getting crazy with mixing and conversion

2018-02-26 00:25  thor

	* scripts/debugdef.pl, src/libmpg123/debug.h: C99-style debuggin!

2018-02-20 19:42  thor

	* src/out123.c: out123: differing input and output encodings,
	  preparation for channel mixing

2018-02-20 19:40  thor

	* src/libmpg123/sample.h: libmpg123: fix ADD4BYTE (for libsyn123,
	  actually)

2018-02-20 19:39  thor

	* src/libsyn123/sampleconv.c: libsyn123: debugging and nicer code
	  for 24 bit conversions

2018-02-20 19:07  thor

	* src/libmpg123/debug.h: C99-style debugging

2018-02-20 15:16  thor

	* NEWS, src/libmpg123/parse.c, src/mpg123.c: libmpg123, mpg123:
	  MPG123_NEED_MORE without feeder ...

2018-02-20 10:25  thor

	* src/libsyn123/sampleconv.c: libsyn123: clip code as macro

2018-02-19 08:44  thor

	* src/out123.c: out123: implement --STDOUT and --clip, add TODOs

2018-02-19 08:43  thor

	* src/libsyn123/sampleconv.c, src/libsyn123/syn123.h.in: libsyn123:
	  syn123_clip()

2018-02-18 11:12  thor

	* src/libsyn123/syn123.h.in: linsyn123: typo

2018-02-18 11:09  thor

	* src/libsyn123/syn123.h.in: linsyn123: more/better Doxy

2018-02-18 10:57  thor

	* src/libsyn123/sampleconv.c: libsyn123: use double intermediaries
	  for 24 bit work, rounding errors distort

2018-02-18 10:39  thor

	* src/libmpg123/format.c: libmpg123: fix 24 bit output

2018-02-18 10:34  thor

	* rpm: those rpm specs are way out of date

2018-02-18 10:08  thor

	* NEWS, src/libout123/libout123.c: libout123: bug 261, error
	  message array fixup

2018-02-18 03:35  thor

	* doc/doxygen.conf: doxygen: include syn123 API

2018-02-18 03:32  thor

	* src/libsyn123/sampleconv.c, src/libsyn123/syn123_int.h:
	  libsyn123: pedantic mode

2018-02-18 03:31  thor

	* NEWS, src/libsyn123/Makemodule.am, src/libsyn123/geiger.c,
	  src/libsyn123/syn123.h.in, src/out123.c: libsyn123: geiger
	  generator added

2018-02-18 02:48  thor

	* src/libsyn123/pinknoise.c, src/libsyn123/syn123.h.in: libsyn123:
	  better typing for pink noise
	  
	  Those longs used to be 32 bits. Fixing things. While doing that,
	  it appears that the xorshift random numbers seem to work better
	  now than the "fixed" generator.

2018-02-18 01:38  thor

	* src/libsyn123/libsyn123.c: libsyn123: a note

2018-02-18 01:35  thor

	* src/libsyn123/geiger.c: libsyn123: starting to add Geiger counter

2018-02-18 01:35  thor

	* src/libsyn123/libsyn123.c: linsyn123: fix NO_VECTOR_FUN build
	  (seems to make no difference)

2018-02-18 00:57  thor

	* NEWS, src/libsyn123/Makemodule.am, src/libsyn123/libsyn123.c,
	  src/libsyn123/pinknoise.c, src/libsyn123/syn123.h.in,
	  src/libsyn123/syn123_int.h, src/out123.c: libsyn123: pink noise

2018-02-17 21:24  thor

	* src/libsyn123/pinknoise.c: libsyn123: importing some pink noise
	  code from Phil Burke

2018-02-17 21:08  thor

	* ., Makefile.am, NEWS, configure.ac, libsyn123.pc.in,
	  mpg123.spec.in,
	  ports/MSVC++/2015/uwp/libmpg123/libmpg123.vcxproj,
	  ports/MSVC++/2015/uwp/libmpg123/libmpg123.vcxproj.filters,
	  ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj,
	  ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj.filters,
	  ports/Xcode/mpg123.xcodeproj/project.pbxproj, src/Makemodule.am,
	  src/compat/compat.h, src/libmpg123/Makemodule.am,
	  src/libmpg123/fmt123.h, src/libmpg123/format.c,
	  src/libmpg123/sample.h, src/libmpg123/swap_bytes_impl.h,
	  src/libsyn123, src/libsyn123/Makemodule.am, src/libsyn123/g711.c,
	  src/libsyn123/g711_impl.h, src/libsyn123/libsyn123.c,
	  src/libsyn123/sampleconv.c, src/libsyn123/syn123.h.in,
	  src/libsyn123/syn123_int.h, src/mpg123-id3dump.c, src/out123.c,
	  src/waves.c, src/waves.h: libsyn123: the first cut
	  
	  Moved the wave generator code into its own library, libsyn123.
	  
	  I also tried to hack the XCode and MSVC 2015 and clr projects.

2018-02-11 01:40  thor

	* NEWS, configure.ac: libout123: disable buffer without supported
	  IPC mechanism (Android fix)

2018-02-04 11:43  thor

	* src/libmpg123/mpg123.h.in: libmpg123: add MPG123_FREEFORMAT_SIZE
	  and MPG123_NO_READAHEAD

2018-02-04 11:42  thor

	* NEWS.libmpg123, src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/parse.c: libmpg123: add
	  MPG123_FREEFORMAT_SIZE and MPG123_NO_READAHEAD

2018-02-04 11:40  thor

	* NEWS, src/libmpg123/debug.h: libmpg123: fix build without error
	  messages

2018-01-28 14:20  thor

	* src/libsyn123/g711.c: libsyn123: hackery on g711 code, more
	  types, static vars and funcs

2018-01-28 13:59  thor

	* src/libsyn123/g711.c: libsyn123: The original g711.c for
	  ulaw/alaw support without big tables.

2018-01-28 13:58  thor

	* src/libsyn123: libsyn123: Starting to work on it.

2018-01-18 07:22  thor

	* src/waves.c: waves: Keep the promise of wave(myfrac(p)).

2018-01-14 21:39  thor

	* src/libmpg123/frame.c, src/libmpg123/id3.c: libmpg123: fix typos
	  that broke minimal builds

2018-01-14 14:04  thor

	* src/libout123/out123.h.in: typo

2018-01-01 09:56  thor

	* src/libmpg123/format.c: libmpg123: Fix single-rate mpg123_fmt()
	  again (bug 258, svn only)

2018-01-01 09:55  thor

	* src/libmpg123/layer3.c: libmpg123: initialize needbits (bug 258,
	  svn only)

2017-11-30 08:05  thor

	* NEWS: Move some things to be released with 1.25.8.

2017-11-30 07:57  thor

	* NEWS, src/libmpg123/parse.c: libmpg123: fix compute_bpf() for
	  free format, also removing redundant code

2017-11-30 07:53  thor

	* NEWS, configure.ac, src/libmpg123/mpeghead.h: libmpg123: allow
	  mode_ext to vary for free format streams (fix bug 357)

2017-11-11 10:08  thor

	* src/libmpg123/frame.c: libmpg123: initialize pinfo, too bad this
	  only triggered failure on some builds

2017-10-30 12:33  jon_y

	* windows-builds.sh: Add CPPFLAGS=-D__MINGW_USE_VC2005_COMPAT=1 for
	  32bit Windows builds,
	  this should prevent errors about missing _time32 on Windows XP
	  and
	  earlier, it also has a nice side effect of making time_t 64bit.

2017-10-04 15:11  thor

	* src/libmpg123/layer3.c: libmpg123: [formatting] bring that space
	  back

2017-10-04 15:10  thor

	* src/libmpg123/layer3.c: libmpg123: zero huffman needs to set
	  maxband > 0 to avoid later crash in III_i_stereo

2017-10-04 14:40  thor

	* src/libmpg123/layer3.c: libmpg123: add missing check for failed
	  scale factor read in stereo mode

2017-10-03 17:24  thor

	* NEWS, src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/getbits.h, src/libmpg123/layer1.c,
	  src/libmpg123/layer2.c, src/libmpg123/layer3.c,
	  src/libmpg123/parse.c, src/libmpg123/parse.h,
	  src/libout123/wav.c: libmpg123: count those bits and check before
	  read (most of the time)
	  
	  This is a big update touching the core of the decoding right
	  before
	  actual synth. The side info and scale factors along with huffman
	  work are now littered with checks for the number of bits they
	  actually need and, if precomputation is not feasible, the number
	  of
	  bits they would have read too much without the safety checks of
	  getbits.h
	  
	  We get a lot more early error messages and bail outs now from the
	  do_layer() routines. I hope this settles possible frame data
	  bounds violations (read-only!) for good. The problem is that in
	  case of the huffman decoding, the checks should not be too
	  strict,
	  as a bit of over-read is expected and those bits are stuffed back
	  at the end. If that over-read happens on the last huffman run and
	  hits the actual frame data boundary, simply some zeros are
	  stuffed
	  back for no harm to follow.

2017-10-03 17:19  thor

	* NEWS.libmpg123: libmpg123: document endian API addition

2017-10-03 14:28  thor

	* NEWS, src/common.c: Disable terminal fun also for TERM="" (not
	  just unset and dumb).

2017-10-03 14:00  thor

	* NEWS, src/libmpg123/layer3.c: libmpg123: CRC bits are counted in
	  ssize already.

2017-09-28 08:49  thor

	* NEWS, src/libmpg123/format.c, src/libmpg123/mpg123.h.in:
	  libmpg123: add choice to enforce output endianess

2017-09-28 07:47  thor

	* NEWS, src/libmpg123/getbits.h, src/libmpg123/layer3.c: libmpg123:
	  more robust handling of small part2_3_length

2017-09-25 21:29  thor

	* NEWS: not just part2_3_length==0, but wrong scalefactor promise

2017-09-22 21:44  thor

	* src/libmpg123/layer3.c: libmpg123: nicer handling of the
	  part2_3_length==0 sitation

2017-09-22 07:10  thor

	* src/libmpg123/layer3.c: libmpg123: ensure no overwriting of scf

2017-09-22 06:56  thor

	* NEWS, src/libmpg123/getbits.h, src/libmpg123/layer3.c: libmpg123:
	  handle gr_info->part2_3_length == 0

2017-09-12 18:34  thor

	* NEWS, NEWS.libmpg123, src/libmpg123/mpg123.h.in,
	  src/libmpg123/stringbuf.c: Add mpg123_new_string() and
	  mpg123_delete_string() to reduce confusion.

2017-09-09 20:58  thor

	* ., NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/feature.c,
	  src/libmpg123/format.c, src/libmpg123/frame.c,
	  src/libmpg123/frame.h, src/libmpg123/id3.c,
	  src/libmpg123/layer3.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/parse.c: Merge in the
	  hooks-for-lame branch.

2017-09-03 23:52  thor

	* src/resolver.c: fix IPv6 port numbers for textual host names
	  again

2017-08-23 12:44  thor

	* NEWS, configure.ac, src/libmpg123/layer3.c: Proper xrpnt overflow
	  fix by correctly initialising layer 3 tables, sent in by Robert
	  Hegemann.

2017-08-23 12:05  thor

	* NEWS, src/resolver.c: Fix parsing of URLs with numerical IPv6
	  addresses to properly extract host ports.

2017-08-23 11:32  thor

	* NEWS, src/common.c, src/common.h, src/mpg123.c, src/mpg123app.h,
	  src/term.c: Do not force my visual games on people.
	  
	  There is --no-visual now to disable the progress bar and cursor
	  hiding.
	  Also, with TERM=dumb, those features are disabled automatically.

2017-08-23 10:50  thor

	* configure.ac, scripts/intsym.pl, src/intsym.h: Update internal
	  symbol renaming … some compat functions slipped through
	  (libout123 module handling).

2017-08-11 07:29  thor

	* NEWS, configure.ac, src/libmpg123/getbits.h: hotfix for bug 255
	  (layer II buffer read overflow)

2017-08-08 19:41  thor

	* configure.ac: lib patchlevel

2017-08-08 19:40  thor

	* NEWS, src/libmpg123/id3.c: Another ID3 parser buffer read
	  overflow in form of bug 254, this time only hitting 32 bit
	  platforms via integer overflow.

2017-07-24 09:52  thor

	* NEWS: NEWS for libmpg123 fixes in 1.25.4.

2017-07-24 09:43  thor

	* src/libmpg123/mpg123.h.in: Note about MPG123_PICTURE, lest nobody
	  forgets and wonders where the APIC went.

2017-07-19 23:24  thor

	* NEWS, configure.ac: i?86-apple-darwin

2017-07-19 15:46  thor

	* src/libmpg123/id3.c: libmpg123: more early checking of encoding
	  values to avoid bogus text being stored

2017-07-19 15:00  thor

	* src/libmpg123/stringbuf.c: libmpg123: prevent harmless call to
	  memcpy(NULL, NULL, 0)

2017-07-18 07:19  thor

	* NEWS, configure.ac, src/libmpg123/layer3.c: proper xrpnt work

2017-07-17 12:23  thor

	* NEWS, configure.ac: Make accurate rounding the default.

2017-07-17 07:22  thor

	* src/libout123/hextxt.c: libout123: Txt floating point in
	  scientific notation makes more sense.

2017-07-17 06:58  thor

	* src/libout123/hextxt.c: libout123: Fix 24 bit txt printout
	  (wanted to say | and missed by one operator).

2017-07-16 17:53  thor

	* NEWS, src/libmpg123/layer3.c, src/libout123/Makemodule.am,
	  src/libout123/hextxt.c, src/libout123/hextxt.h,
	  src/libout123/libout123.c: libout123: Adding hex and txt output.

2017-07-16 17:24  thor

	* src/out123.c: out123: one encoding per line, simpler

2017-07-16 17:22  thor

	* NEWS, src/out123.c: out123: Fix the output of --test-encodings to
	  be meaningful.

2017-07-16 11:56  thor

	* NEWS, configure.ac, src/libout123/wav.c: libout123: Avoid fake
	  sense of security, remove the setuid() in wav.c

2017-07-12 00:43  thor

	* src/libmpg123/layer3.c: Oops. Reverting the commit of layer3.c
	  debugging changes.

2017-07-12 00:41  thor

	* configure.ac, src/libmpg123/layer3.c: next version shall be
	  1.26.0 (apart from merging fixes into 1.25.x)

2017-07-12 00:41  thor

	* NEWS, src/mpg123.c: Added header printout for each frame with
	  -vvvv.

2017-07-12 00:38  thor

	* ., NEWS, configure.ac: merge 1.25.2 NEWS and version

2017-07-09 21:40  thor

	* src/libmpg123/layer1.c: Some explicit casting to avoid compiler
	  fretting about (-1)<<n.

2017-07-09 21:07  thor

	* src/libmpg123/layer3.c: Increase pow tables for those MPEG-2.5
	  i-stereo files that don't
	  really exist.
	  
	  The standard defines it, but you have a hard time finding such
	  files
	  in the wild (any file featuring intensity stereo, for that
	  matter)
	  Fuzzing created files that wanted 5 bits for scale factors, where
	  our code only really planned for 4 bits (slen still containing 5
	  bits
	  as possibility). With GCC's AddressSanitizer, the illegal
	  accesses
	  actually do surface. In practice, they only grab values from
	  adjacent
	  arrays and compute crap, which matches the input. Technically
	  buffer
	  overflow, but only resulting in bad output being computed.
	  
	  Of course, it is proper to have correctly sized tables. But I do
	  not have access to any proper input file that would need this and
	  can not verify if there is meaningful output from the decoder.

2017-07-09 19:48  thor

	* src/libmpg123/layer3.c: Keep the soft overflow a debugging
	  message for now.

2017-07-09 19:37  thor

	* src/libmpg123/layer3.c: Move that xrpnt overflow check a bit
	  down, past a possible break.

2017-07-02 23:18  thor

	* NEWS: Add CVE-2017-10683 to NEWS (bug 252 fix).

2017-07-02 23:17  thor

	* NEWS, src/libmpg123/layer3.c: Fix the undefined left shifts
	  (reported by Agostino Sarubbo).

2017-07-02 21:24  thor

	* ., NEWS, configure.ac: sync with 1.25.1 branch

2017-06-29 23:13  thor

	* src/libmpg123/frame.c: Initialise fr->lay to zero to avoid a
	  premature compute_bpf()
	  depending on uninitialised values.
	  
	  This does not change any result of interest (position in a
	  not-yet-opened track?) ... different kinds to compute zero.
	  I makes valgrind happy, though.

2017-06-29 22:56  thor

	* src/libmpg123/id3.c: Fix bug 252 (frame flags were not taken into
	  account in size check).

2017-06-28 20:23  thor

	* src/libmpg123/frame.c: Avoid calling memset(NULL, 0, 0). Even if
	  harmless, it is not regarded a good thing to do.

2017-05-28 09:02  thor

	* configure.ac: Duh, forgot the version number: 1.25.0

2017-05-28 08:56  thor

	* src/libmpg123/mpg123.h.in: Some more explanation on
	  mpg123_getformat().

2017-05-28 08:53  thor

	* src/libmpg123/mpg123.h.in: libmpg123: The definition of
	  mpg123_getformat2() was missing from the commit!

2017-05-23 00:18  thor

	* NEWS: NEWS reshaping for 1.25.0

2017-05-23 00:09  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/control_generic.c,
	  src/libmpg123/libmpg123.c: libmpg123+control_generic: Fix that
	  failure to continue after LOADPAUSE and FORMAT by introducing
	  mpg123_getformat2()

2017-05-23 00:00  thor

	* NEWS, src/libout123/libout123.c, src/libout123/module.c: Module
	  error messages fixup. Now you get a hint when choosing
	  a non-builtin (legacy) module even without -v on the command
	  line.
	  The module verbosity logic was lacking a bit.

2017-05-17 07:21  thor

	* NEWS, configure.ac, src/libmpg123/libmpg123.c: That overflow
	  check was stupid, obviously for the case of
	  sizeof(size_t)==sizeof(long). Sign needs to be checked before
	  comparison.

2017-05-14 21:37  thor

	* src/libmpg123/mangle.h: Only do PIC dance for __ELF__ and
	  __APPLE__, excluding win32 from the beginning.

2017-05-08 10:06  taihei

	* src/libmpg123/mangle.h: no PIC on Windows

2017-05-07 13:34  taihei

	* configure.ac: Remove unnecessary linker flags related to text
	  relocations for OSX build

2017-05-07 13:31  thor

	* configure.ac: it will be 1.24.1

2017-05-07 13:30  thor

	* AUTHORS: more mention of Taihei

2017-05-07 13:25  thor

	* ., AUTHORS, NEWS, src/libmpg123/dct36_3dnow.S,
	  src/libmpg123/dct36_3dnowext.S, src/libmpg123/dct36_sse.S,
	  src/libmpg123/dct64_3dnow.S, src/libmpg123/dct64_3dnowext.S,
	  src/libmpg123/dct64_mmx.S, src/libmpg123/dct64_sse.S,
	  src/libmpg123/dct64_sse_float.S, src/libmpg123/mangle.h,
	  src/libmpg123/synth_3dnow.S, src/libmpg123/synth_3dnowext.S,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_sse.S,
	  src/libmpg123/synth_sse3d.h, src/libmpg123/synth_sse_accurate.S,
	  src/libmpg123/synth_sse_float.S, src/libmpg123/synth_sse_s32.S,
	  src/libmpg123/synth_stereo_sse_accurate.S,
	  src/libmpg123/synth_stereo_sse_float.S,
	  src/libmpg123/synth_stereo_sse_s32.S,
	  src/libmpg123/tabinit_mmx.S: merge in the no-textrels branch

2017-05-07 13:12  thor

	* NEWS, configure.ac: Do not stumble into the i486 decoder.

2017-05-07 11:22  thor

	* NEWS, src/libmpg123/synth_mmx.S, src/libmpg123/synth_sse3d.h,
	  src/libmpg123/tabinit_mmx.S: Clarify LGPL license on MMX files.

2017-05-02 06:11  thor

	* src/resolver.c, src/win32_net.c: a typo, noted by Thomas Brand

2017-04-14 11:56  thor

	* NEWS: aarch64, name it like the code in mpg123

2017-04-14 11:51  thor

	* NEWS, configure.ac: also nable aarch64 for *BSD

2017-04-14 11:41  thor

	* NEWS: note about iOS build

2017-04-14 07:38  thor

	* configure.ac: a patchlevel for the armasm assembly changes

2017-04-14 07:28  thor

	* NEWS, src/out123.c, src/waves.c, src/waves.h: out123: fix that
	  verboseness crash by twisting the twisted logic

2017-04-14 07:03  thor

	* NEWS, src/libout123/modules/Makemodule.am: libout123: fix build
	  with non-GNU make

2017-03-31 16:05  taihei

	* configure.ac, src/libout123/modules/coreaudio.c: coreaudio: make
	  compatible with iOS

2017-03-30 20:27  patr3ck

	* src/libmpg123/synth_neon_s32.S,
	  src/libmpg123/synth_stereo_neon_s32.S: Work around armasm stack
	  pointer usage restrictions

2017-03-25 08:09  patr3ck

	* src/libmpg123/getcpuflags_arm.c, src/libmpg123/synth_neon.S,
	  src/libmpg123/synth_neon_float.S, src/libmpg123/synth_neon_s32.S,
	  src/libmpg123/synth_stereo_neon.S,
	  src/libmpg123/synth_stereo_neon_float.S,
	  src/libmpg123/synth_stereo_neon_s32.S: UWP ARM support

2017-03-25 06:24  patr3ck

	* ports/MSVC++/config.h, src/libmpg123/check_neon.S,
	  src/libmpg123/dct36_neon.S, src/libmpg123/dct64_neon.S,
	  src/libmpg123/dct64_neon_float.S, src/libmpg123/mangle.h:
	  Beginning with UWP ARM support

2017-03-22 07:41  patr3ck

	* src/libmpg123/mangle.h: Fix mangling for MSVC++ ARM builds

2017-03-22 07:38  patr3ck

	* ports/MSVC++/mpg123.h: We have <inttypes.h> on MSVC 2015

2017-03-12 11:39  jon_y

	* windows-builds.sh: Use LDFLAGS to actually pass -static-libgcc

2017-03-11 16:09  patr3ck

	* ports/MSVC++/2015/win32, ports/MSVC++/2015/win32/libout123,
	  ports/MSVC++/2015/win32/libout123.sln,
	  ports/MSVC++/2015/win32/libout123/libout123.vcxproj,
	  ports/MSVC++/2015/win32/libout123/libout123.vcxproj.filters,
	  ports/MSVC++/2015/win32/sineout123,
	  ports/MSVC++/2015/win32/sineout123/sineout123.c,
	  ports/MSVC++/2015/win32/sineout123/sineout123.vcxproj,
	  ports/MSVC++/2015/win32/sineout123/sineout123.vcxproj.filters,
	  ports/MSVC++/config.h, ports/MSVC++/out123.h,
	  src/libout123/modules/win32_wasapi.c: MSVC win32 project files
	  for out123

2017-03-11 16:03  thor

	* NEWS: note the fix from jon_y

2017-03-11 05:00  jon_y

	* configure.ac: Attempt a horrible hack to get around static-libgcc
	  and libtool

2017-03-02 07:57  thor

	* NEWS, configure.ac: silence test for artsc-config, as JonY wished

2017-03-02 07:55  thor

	* ., configure.ac: merge fix for stupid configure accident

2017-03-02 07:46  thor

	* ., src/libout123/modules/Makemodule.am: merge in build system fix

2017-02-28 21:20  thor

	* ., Makefile.am, NEWS: merge from the tag

2017-02-28 18:14  thor

	* man1/out123.1, src/out123.c: out123 help/manpage update

2017-02-28 17:52  thor

	* NEWS, src/Makemodule.am, src/out123.c, src/waves.c, src/waves.h:
	  out123: integrated waveform generation, also fixed the same
	  during testing

2017-02-28 02:32  thor

	* src/waves.h: not one period

2017-02-28 02:25  thor

	* src/waves.c, src/waves.h: Adding a wave generator, usage in
	  out123 is in the works.

2017-02-27 07:45  thor

	* ., Makefile.am, src/compat: merge in last-minute changes

2017-02-27 07:30  thor

	* NEWS: .la module files gone

2017-02-27 00:10  thor

	* mpg123.spec.in: another blind .spec file update (libltdl gone)

2017-02-27 00:05  thor

	* configure.ac, src/libout123/modules/Makemodule.am: Purge the
	  module .la files.

2017-02-25 11:13  patr3ck

	* NEWS: Move MSVC++ news to the right place

2017-02-25 08:43  patr3ck

	* NEWS: Mention MSVC++ project file changes

2017-02-24 11:41  patr3ck

	* ports/MSVC++/2015/uwp, ports/MSVC++/2015/uwp/libmpg123.sln,
	  ports/MSVC++/2015/uwp/libmpg123/libmpg123.sln,
	  ports/MSVC++/2015/uwp/libmpg123/libmpg123.vcxproj,
	  src/libmpg123/mangle.h: Add asm optimizations to MSVC UWP x64
	  builds

2017-02-24 07:47  thor

	* src/compat/compat.c: Fix compat_getenv() again. No unused labels
	  for non-Windows, less lines, even.

2017-02-24 07:46  patr3ck

	* ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj,
	  ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj.filters: Add
	  asm optimizations to MSVC Win32 x64 builds

2017-02-24 07:43  thor

	* src/compat/compat.c: no \r\n here, please

2017-02-23 15:03  patr3ck

	* ports/MSVC++/2015/uwp/libmpg123, ports/MSVC++/2015/win32,
	  ports/MSVC++/2015/win32/dump_seekindex,
	  ports/MSVC++/2015/win32/dump_seekindex/dump_seekindex.vcxproj,
	  ports/MSVC++/2015/win32/feedseek,
	  ports/MSVC++/2015/win32/feedseek/feedseek.vcxproj,
	  ports/MSVC++/2015/win32/libmpg123,
	  ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj,
	  ports/MSVC++/2015/win32/mpg123.sln, ports/MSVC++/2015/win32/scan,
	  ports/MSVC++/2015/win32/scan/scan.vcxproj: Add MSVC win32 x64
	  build, further MSVC win32 build unification

2017-02-22 19:22  patr3ck

	* ports/MSVC++/2015/uwp/libmpg123, ports/MSVC++/2015/win32,
	  ports/MSVC++/2015/win32/dump_seekindex,
	  ports/MSVC++/2015/win32/feedseek,
	  ports/MSVC++/2015/win32/libmpg123, ports/MSVC++/2015/win32/scan:
	  svn ignore MSVC build artefacts

2017-02-22 19:16  patr3ck

	* ports/MSVC++/2005, ports/MSVC++/2008, ports/MSVC++/2010,
	  ports/MSVC++/2013: Remove old, broken MSVC project files

2017-02-22 19:14  patr3ck

	* ports/MSVC++/2015/uwp/libmpg123/libmpg123.vcxproj: Use correct
	  runtime dll for MSVC builds

2017-02-22 19:13  patr3ck

	* src/compat/compat.c: 2nd try, #ifdef unused functions in compat.c
	  for the MSVC UWP builds

2017-02-22 14:23  patr3ck

	* ports/MSVC++/msvc.c: #ifdef unused functions in compat.c for the
	  MSVC UWP builds

2017-02-22 12:49  jon_y

	* src/compat/compat.c: Fix passing _wgetenv NULL to win32_wide_utf8

2017-02-22 08:29  patr3ck

	* ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj: Unify asm
	  compilation in MSVC builds

2017-02-22 07:49  patr3ck

	* ports/MSVC++/2015/uwp/libmpg123/libmpg123.vcxproj,
	  ports/MSVC++/2015/uwp/libmpg123/libmpg123.vcxproj.filters: Fix
	  MSVC UWP builds

2017-02-21 18:18  thor

	* src/compat/compat.c: I am starting to care about limiting line
	  lengths now. Elastic tabs did not catch on in editors. Word wrap
	  still sucks on display.

2017-02-21 15:38  patr3ck

	* ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj,
	  ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj.filters,
	  ports/MSVC++/2015/win32/mpg123.sln: Fix MSVC Win32 builds

2017-02-21 15:36  patr3ck

	* src/compat/compat.c: Use MAX_PATH and fix a warning in
	  compat_catpath to make MSVC happy

2017-02-21 14:11  patr3ck

	* ports/MSVC++/config.h: MSVC has <limits.h>

2017-02-21 13:47  patr3ck

	* src/compat/compat.c: Make compat_getenv actually return the
	  determined environment variable

2017-02-21 11:17  jon_y

	* windows-builds.sh: Fix CC=gcc assumption, it breaks cross
	  compile, use LIBS instead to pass -static-libgcc

2017-02-20 03:40  taihei

	* src/libout123/modules/coreaudio.c: Dispose AudioUnit before
	  AudioConverter (bug 245)

2017-02-08 22:14  thor

	* src/libout123/out123.h.in: typo in header comment, thanks to
	  Sandro

2017-02-08 13:05  jon_y

	* src/libout123/modules/win32_wasapi.c: Make sure _WIN32_WINNT and
	  COBJMACROS are defined before any headers are included, since
	  they take no effect if defined too late

2017-02-05 00:26  thor

	* doc/doxyhead.xhtml: must be virtual, whatever

2017-02-05 00:22  thor

	* doc/doxyhead.xhtml: website gets a new header

2017-01-22 19:14  thor

	* windows-builds.sh: copy all .exe for windows binaries

2017-01-22 00:25  thor

	* src/out123.c, windows-builds.sh: some windows fixing, less
	  warning for out123 and a missing .def

2017-01-21 21:51  thor

	* src/libout123/libout123.c: Always return the builtin modules in a
	  listing, even if dynamic module search failed.

2017-01-21 21:12  thor

	* ., INSTALL, NEWS, configure.ac, doc/examples/Makefile,
	  ports/MSVC++/config.h, src/compat/compat.c, src/compat/compat.h,
	  src/libout123/legacy_module.c, src/libout123/module.c: merge in
	  the loader rework

2017-01-09 22:48  thor

	* NEWS, configure.ac: Fix ppc_nofpu build (bug 244).

2016-12-04 10:44  thor

	* NEWS, src/compat/compat.h, src/libmpg123/mpg123.h.in: consistent
	  definition of ssize_t for MSVC in compat.h and mpg123.h (bug 243)

2016-11-24 10:40  jon_y

	* configure.ac: Fix windows.h detection, LoadLibrary is still
	  broken in libout123 currently

2016-11-21 00:29  thor

	* NEWS, configure.ac, src/libout123/Makemodule.am,
	  src/libout123/module.c, src/libout123/module.h: first version
	  without libltdl; needs refinement to properly support Windows
	  platforms

2016-11-19 11:11  thor

	* src/libmpg123/mpg123.h.in: an o missing

2016-11-13 12:04  jon_y

	* src/mpg123.c: Use _pgmptr to grab mpg123 install location on
	  Windows
	  
	  When called without any PATHs, argv might not give any clues
	  on where mpg123 is installed.
	  
	  The unicode _wpgmptr does not work well since the backend path
	  munging still relies on C ANSI/ASCII string functions. This
	  means it will remain broken even if converted to UTF8 until
	  it is fixed.

2016-11-06 15:41  thor

	* NEWS: fix for the for the fix

2016-11-06 15:38  thor

	* NEWS, src/common.c, src/common.h, src/mpg123.c, src/term.c: Only
	  live progress bars shall be seen.

2016-11-06 14:31  thor

	* NEWS: rearrange NEWS with some order

2016-11-06 14:26  thor

	* src/common.c, src/libmpg123/libmpg123.c, src/libmpg123/sample.h,
	  src/libmpg123/synth.c, src/libout123/buffer.c,
	  src/libout123/module.c, src/libout123/modules/alsa.c,
	  src/libout123/modules/openal.c,
	  src/libout123/modules/portaudio.c, src/metaprint.c,
	  src/mpg123-id3dump.c, src/playlist.c: The build fixes for
	  pedantic mode. One of them was an effectively harmless "=" vs.
	  "==" error in buffer.c. Most are additions of _DEFAULT_SOURCE and
	  _BSD_SOURCE to make functions available.

2016-11-06 14:21  thor

	* NEWS, configure.ac: more nagging nagging, less nagging debugging

2016-11-06 14:17  thor

	* NEWS: note libou123 version change

2016-11-06 13:05  thor

	* NEWS, src/mpg123.c, src/playlist.c, src/playlist.h: The little
	  big playlist fixup with consistent behaviour in the face of
	  looping and randomness. Also the playlist code is now more
	  contained with API calls.

2016-11-05 20:31  thor

	* NEWS, src/control_generic.c: Avoid loopy interference in
	  LOADLIST.

2016-11-05 17:04  thor

	* NEWS, NEWS.libout123, configure.ac, src/libout123/libout123.c,
	  src/libout123/module.c, src/libout123/module.h,
	  src/libout123/out123.h.in, src/libout123/out123_int.h,
	  src/mpg123.c, src/out123.c: Fix the module search logic that got
	  broken by 1.23, now really
	  looking relative to the program binary directory again.
	  There is no possible fallback to the current working directory
	  anymore in module.c ... this is a very bad idea from a security
	  perspective.

2016-11-05 11:33  thor

	* NEWS, src/mpg123.c: Only enforce --quiet when no verbosity
	  requested.

2016-11-05 11:30  thor

	* src/mpg123.c: remove redundant lines

2016-10-30 15:08  thor

	* NEWS: Taihei fixed coreaudio

2016-10-30 11:10  taihei

	* src/libout123/modules/coreaudio.c: flush_coreaudio should not
	  stop the output audio unit (bug 236)

2016-10-30 08:52  thor

	* src/compat.c, src/libmpg123/compat.c: Remove unused instances of
	  compat.c .

2016-09-26 21:18  thor

	* NEWS, src/libmpg123/id3.c: libmpg123: fix for the ID3v2 parser to
	  avoid illegal memory reads on tiny (non-useful) tag sizes; bug
	  240

2016-09-24 10:41  thor

	* AUTHORS, NEWS, src/libout123/modules/coreaudio.c: Use
	  AudioComponents API, patch from Michael Weiser
	  <michaelweiser@users.sf.net>.

2016-09-24 10:26  thor

	* ., src/libout123/out123.h.in: import out123.h fix from 1.23.7

2016-09-24 10:18  thor

	* NEWS: thanks for RPM spec fix

2016-09-24 10:11  thor

	* NEWS: bug numbers

2016-09-19 06:35  thor

	* NEWS, src/libmpg123/mpg123.h.in, src/libout123/out123.h.in:
	  Un-break MSVC builds with MPG123_EXPORT.

2016-09-08 22:10  thor

	* NEWS, src/control_generic.c: Seems right to out123_pause() on
	  pause and stop.

2016-09-04 23:14  thor

	* NEWS, src/metaprint.c: Do not repeat genre for the simple cases
	  of number and name.

2016-09-03 12:15  thor

	* AUTHORS: Update and explanation for AUTHORS.

2016-09-03 12:14  thor

	* src/libmpg123/mpg123.h.in: I am not good at doxygen syntax/

2016-09-03 12:10  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/mpg123.h.in,
	  src/libmpg123/readers.c: Adding MPG123_NO_PEEK_END and
	  MPG123_FORCE_SEEKABLE based on patch by Bent Bisballe Nyeng
	  <bbn@dynastrom.com>. This triggers the next feature release.

2016-09-03 07:27  thor

	* NEWS, configure.ac: There will be 1.23.7.

2016-09-03 07:24  thor

	* mpg123.spec.in: Fix the spec file, thanks to Srikanth Rao
	  <srirao@bandwidth.com>.

2016-09-03 07:17  thor

	* mpg123.spec.in: garbage at the beginning … that spec never worked

2016-06-30 07:18  thor

	* NEWS: typo

2016-06-30 07:10  thor

	* configure.ac: increase that version!

2016-06-29 22:50  thor

	* NEWS, src/control_generic.c: fix bug 234: use out123_pause() on
	  STOP

2016-06-21 06:17  thor

	* NEWS, src/mpg123.c: prevent hang for aborted redirected stderr by
	  not trying to print anything in the handler for SIGPIPE (bug 233)

2016-06-21 06:16  thor

	* NEWS: note bug 232

2016-06-21 06:07  thor

	* NEWS: ssize_t

2016-06-20 13:10  jon_y

	* src/libmpg123/mpg123.h.in: Add comment on msvc ssize_t

2016-06-20 12:49  jon_y

	* ports/MSVC++/mpg123.h, src/libmpg123/mpg123.h.in: This should
	  bring ssize_t to msvc users

2016-06-05 16:47  thor

	* src/libout123/out123.h.in: reformat comment for better looks in
	  API docs.

2016-06-05 16:46  thor

	* NEWS, configure.ac, src/libout123/libout123.c,
	  src/libout123/out123.h.in: libout123: another fix prompted by
	  Sandro Cumerlato, using OUT123_BAD_HANDLE as documented

2016-06-05 14:12  thor

	* src/libmpg123/mpg123.h.in: another typo spotted by Sandro
	  Cumerlato

2016-06-05 07:22  thor

	* src/libmpg123/mpg123.h.in: libmpg123: avoid *) in comments to
	  ease Pascal porting

2016-05-28 09:19  thor

	* src/libmpg123/mpg123.h.in: more space

2016-05-25 23:32  thor

	* configure.ac: aiming for 1.23.5

2016-05-25 23:31  thor

	* Makefile.am, NEWS: Hey, leave us LIBS alone!

2016-05-25 23:28  thor

	* NEWS: note Jon's build script fix

2016-05-25 23:25  thor

	* NEWS, src/libout123/modules/portaudio.c,
	  src/libout123/modules/sdl.c: Fix excessive parentheses in
	  ms_sleep().

2016-05-19 13:29  jon_y

	* windows-builds.sh: Fix globbing issue that stopped DLLs from
	  being copied

2016-05-11 08:30  thor

	* NEWS: There are bigger problems than that bloat.

2016-05-11 08:29  thor

	* scripts/intsym.pl, src/intsym.h: Re-introduce the symbol renaming
	  for asm routines (got killed by the unification); add some
	  missing ones (funky catchsignal definition is too funky).

2016-05-06 11:50  thor

	* NEWS, src/mpg123.c: mpg123: fix the stuttering the
	  anti-stuttering mechanism actually introduced due to my failure
	  to use the correct prepared remaining playback buffer

2016-05-05 19:03  taihei

	* src/libout123/modules/coreaudio.c: Fixed a mistake in coreaudio.c

2016-05-05 12:48  thor

	* NEWS: more bug 230

2016-05-05 12:38  thor

	* NEWS, src/libout123/modules/coreaudio.c: libout123: coreaudio:
	  Another blind fix; waiting for input in callback instead of
	  erroring out too quickly

2016-05-05 12:32  thor

	* src/libout123/modules/sdl.c: indent

2016-05-05 11:38  thor

	* NEWS, src/libout123/modules/portaudio.c: libout123: portaudio:
	  fixup, callback resilience and FIFO draining on close

2016-05-05 11:37  thor

	* src/libout123/modules/sdl.c: libout123: SDL: more debug

2016-05-05 11:07  thor

	* src/libout123/modules/sdl.c: libout123: paranoia: ensure
	  bytes_read is non-negative

2016-05-05 10:42  thor

	* src/libout123/modules/sdl.c: libout123: More robust SDL playback.
	  
	  The callback now waits for more input to always write full
	  buffers, unless
	  a flag indicates the end. This is the poor-man's solution without
	  POSIX
	  semaphores (as used in the JACK output).
	  
	  Also, output_init() does not leak memory anymore in case
	  SDL_Init() fails.

2016-05-05 10:36  thor

	* src/libout123/sfifo.c: libout123: more sfifo debugging

2016-05-05 09:10  thor

	* NEWS, configure.ac, src/libout123/libout123.c: libout123: Call
	  ao->deinit() in check_output_module() for failed opening.
	  
	  This avoids leaking ao->userdata for outputs that allocate that
	  in
	  init_output() (like, SDL and sfifo-based friends).

2016-04-25 09:13  thor

	* src/libout123/modules/alsa.c, src/libout123/modules/coreaudio.c,
	  src/libout123/modules/sdl.c: libout123/(alsa,coreaudio,sdl):
	  Hacking on some output modules;
	  reducing default device buffer to 200 ms (500 ms is just not
	  real).
	  The writing part of SDL and CoreAudio outputs (the latter not
	  tested
	  for lack of a Mac) try to be more smart about filling the sfifo
	  in a
	  timely manner instead of sleeping a long time before doing
	  anyting.
	  
	  SDL still gets underruns as it always configures the ALSA device
	  on
	  my laptop with period counts (1024x2) that don't seem to cut it.

2016-04-24 12:05  thor

	* NEWS, src/libout123/buffer.c: libout123: buffer fixup, hopefully
	  getting rid of those pesky drain races

2016-04-24 11:55  thor

	* src/libout123/libout123.c: libout123: more specific debugging of
	  API calls with regard to buffer (also using getpid() to tell
	  calls apart)

2016-04-24 08:31  thor

	* NEWS, src/mpg123.c, src/mpg123app.h, src/out123.c: mpg123,
	  out123: use the default output flags

2016-04-24 08:31  thor

	* src/libout123/libout123.c: libout123: debugging output for
	  out123_play

2016-04-24 08:25  thor

	* src/metaprint.c: some casting for pedantic compiler

2016-04-24 07:43  thor

	* NEWS, src/libout123/libout123.c: libout123: make
	  OUT123_KEEP_PLAYING the default as documented

2016-04-24 07:33  thor

	* src/libout123/out123.h.in: typo

2016-04-12 23:24  thor

	* NEWS, configure.ac, ports/MSVC++/config.h, scripts/intsym.pl,
	  src/Makemodule.am, src/compat/Makemodule.am, src/compat/compat.c,
	  src/compat/compat.h, src/compat/compat_impl.h,
	  src/compat/compat_str.c, src/getlopt.c, src/intsym.h,
	  src/libmpg123/Makemodule.am, src/libmpg123/icy2utf8.c,
	  src/libmpg123/intsym.h, src/libout123/Makemodule.am,
	  src/libout123/compat.c, src/libout123/legacy_module.c,
	  src/libout123/libout123.c, src/libout123/module.c,
	  src/libout123/modules/Makemodule.am,
	  src/libout123/modules/alsa.c, src/libout123/modules/jack.c,
	  src/libout123/out123_int.h, src/libout123/out123_intsym.h,
	  src/libout123/stringlists.c, src/libout123/xfermem.c,
	  src/mpg123-id3dump.c, src/mpg123.c, src/out123.c, src/playlist.c,
	  src/sysutil.c, src/wrapper_test.c: Another go at the ANSI/ISO C
	  vs. POSIX extensions business, reworking the use of compatibility
	  functions. Somewhat cleaner now, but output modules get about 1K
	  of bloat from string/memory compat functions ...

2016-04-10 22:49  thor

	* NEWS, configure.ac, src/compat/compat.h, src/getlopt.c,
	  src/libout123/modules/aix.c, src/libout123/modules/alsa.c,
	  src/libout123/modules/jack.c, src/libout123/modules/mint.c,
	  src/libout123/modules/os2.c, src/libout123/modules/oss.c,
	  src/libout123/modules/portaudio.c, src/libout123/modules/pulse.c,
	  src/libout123/modules/qsa.c, src/libout123/modules/sdl.c,
	  src/libout123/modules/sgi.c, src/libout123/modules/tinyalsa.c,
	  src/libout123/modules/win32_wasapi.c, src/metaprint.c: Hackery
	  for more standards conformity, triggered by bugs 227 and 228.

2016-04-08 07:24  thor

	* src/libout123/Makemodule.am, src/libout123/modules/Makemodule.am:
	  conditional libdefaultmodule.la (bug 227)

2016-03-18 23:03  thor

	* NEWS, configure.ac, src/libmpg123/libmpg123.c: Remove platform
	  check for IEEE 754 float rounding, adding an explicit configure
	  switch and a runtime check for my paranoia.

2016-03-01 07:58  thor

	* NEWS, configure.ac: check for sys/select.h to actually use it

2016-02-29 22:11  thor

	* configure.ac: preparing for next release

2016-02-29 22:11  thor

	* man1/mpg123.1: man page date

2016-02-29 22:08  thor

	* NEWS, man1/mpg123.1: apply manpage fixes reported by ESR, note
	  about select.h

2016-02-21 22:34  thor

	* NEWS, configure.ac, src/metaprint.c: Fix spacing of compact tag
	  printout to consider Unicode code points and not just bytes
	  again.

2016-02-14 13:50  thor

	* NEWS, configure.ac, src/libout123/libout123.c,
	  src/libout123/modules/jack.c: libou123: JACK fixup, also of
	  related leaking of realname; channels and ports now connected
	  sensibly

2016-02-10 08:33  thor

	* NEWS, src/httpget.c, src/mpg123.c: disable network properly

2016-02-10 08:15  thor

	* configure.ac: Re-insert AM_PROG_CC_C_O again, as it is only
	  obsolete since automake 1.14,
	  I got 1.11 in places:-/

2016-02-10 07:58  thor

	* configure.ac: remove obsolete AM_PROG_CC_C_O

2016-02-08 23:10  thor

	* NEWS, configure.ac, src/libout123/libout123.c: libout123: avoid
	  multiple output device closings

2016-01-31 01:37  thor

	* doc/doxy_examples.c: correct example

2016-01-31 01:34  thor

	* doc/doxyhead.xhtml: strange closing of a div

2016-01-31 01:22  thor

	* doc/doxyfoot.xhtml: less foot

2016-01-30 21:02  thor

	* doc/doxyhead.xhtml: a heading

2016-01-30 21:01  thor

	* doc/doxyfoot.xhtml: virtual include with absolute path

2016-01-30 20:57  thor

	* doc/Makemodule.am, doc/doxyfoot.xhtml, doc/doxygen.conf,
	  doc/doxyhead.xhtml: doxygen with footer

2016-01-29 01:31  thor

	* doc/Makemodule.am: distfile update

2016-01-29 01:30  thor

	* configure.ac: prepare for tag, place in the stable mail address,
	  because mailing lists should be merged in future

2016-01-29 01:28  thor

	* doc/doxygen.conf, doc/examples/Makefile,
	  doc/examples/mpg123_to_out123.c, doc/examples/mpg123_to_wav.c:
	  Turn mpg123_to_wav into mpg123_to_out123.

2016-01-29 00:57  thor

	* NEWS, src/common.c, src/mpg123.c, src/term.c: - more compact
	  compact header info
	  - the same active for verbose < 2
	  - keep id3v2 data around for terminal mode

2016-01-27 23:02  thor

	* doc/TODO: not so much to do anymore

2016-01-27 22:27  thor

	* src/audio.c, src/libmpg123/fmt123.h, src/libmpg123/format.c,
	  src/libout123/libout123.c, src/libout123/out123.h.in,
	  src/mpg123.c, src/out123.c, src/term.c: Do not push people into
	  hardcoding a macro for geting the sample size
	  in bytes. It is redundant, but safer, for libout123 to provide
	  out123_encsize() just like mpg123_encsize().

2016-01-27 21:26  thor

	* src/resolver.c: To little, too late: There was an underscore
	  missing and the define was after the first inclusion of the
	  relevant headers.

2016-01-27 21:22  thor

	* src/libout123/modules/jack.c: Fix JACK output after testing on
	  the 16-channel recording rig:
	  - Do not expect to be able to write any amount data apiece into
	  the
	  ringbuffer. This may always be less there.
	  - Post that semaphore only once. Pointless. It was late at night.

2016-01-27 09:07  thor

	* NEWS, src/resolver.c: fix getaddrinfo() feature macro for newer
	  glibc

2016-01-27 08:49  thor

	* configure.ac, src/libmpg123/Makemodule.am: Be even more old-times
	  compatible with the yasm stuff, add switch to configure so that I
	  can test things, too.

2016-01-27 08:02  thor

	* src/libmpg123/Makemodule.am: Avoid GNU Make functions in yasm
	  build fix, use $$(basename $<)
	  in shell command instead of $(notdir $<).

2016-01-27 08:02  thor

	* configure.ac: update help text for --enable-nagging

2016-01-27 08:00  thor

	* NEWS, configure.ac: debug-less nagging

2016-01-27 07:38  thor

	* src/metaprint.c: remove unused variables

2016-01-27 07:30  thor

	* src/control_generic.c: define _BSD_SOURCE in addition to
	  _DEFAULT_SOURCE for older glibc

2016-01-27 04:10  taihei

	* src/libmpg123/Makemodule.am: fixed a rule for AVX build when
	  using yasm

2016-01-27 00:09  thor

	* configure.ac, mpg123.spec.in: trying to blindly update the .spec
	  file

2016-01-26 23:24  thor

	* src/libout123/buffer.c, src/libout123/modules/coreaudio.c,
	  src/libout123/modules/esd.c, src/libout123/modules/jack.c,
	  src/libout123/modules/nas.c, src/libout123/modules/openal.c,
	  src/libout123/modules/portaudio.c, src/libout123/modules/pulse.c,
	  src/libout123/modules/sdl.c, src/libout123/modules/sun.c,
	  src/libout123/modules/tinyalsa.c, src/libout123/wav.c: Silence!

2016-01-26 23:04  thor

	* NEWS, man1/mpg123.1, man1/out123.1: NEWS an manpages update

2016-01-26 23:04  thor

	* src/mpg123.c, src/out123.c: --name mentioned at the right place

2016-01-26 22:43  thor

	* NEWS: reformat NEWS to be somewhat consistent over the times, the
	  historic spelling stays unchanged

2016-01-26 21:42  thor

	* src/libout123/out123.h.in: libout123: stop dreaming about
	  zero-copy mode, libout123 is not about high-performance
	  low-latency operation, but about painless reliable streaming

2016-01-26 21:32  thor

	* src/Makemodule.am, src/libout123/Makemodule.am: a bit of Makefile
	  cleanup

2016-01-26 21:13  thor

	* src/libout123/modules/openal.c: libout123: Update openal output,
	  wants ALubyte instead of ALchar ...
	  why not just char? It's a frikkin' ASCII string!

2016-01-26 20:58  thor

	* src/common.h, src/metaprint.c: Some metaprint fixup: Use proper
	  length of genre, prevent comparison
	  of unsigned and negative values, use declaration of term_width().

2016-01-26 09:06  thor

	* NEWS, src/metaprint.c: terminal printout smartness also for
	  compact tag mode

2016-01-25 01:21  thor

	* NEWS, src/libout123/modules/jack.c: The JACK overhaul. I hope the
	  plugin is halfway sensible now.
	  
	  The business with the semaphore is potentially dangerous. As long
	  as the shutdown_callback() fires, things seem to work out ...

2016-01-25 01:21  thor

	* src/libout123/modules/alsa.c: alsa: drain

2016-01-24 16:01  thor

	* src/libout123/buffer.c, src/libout123/libout123.c,
	  src/libout123/modules/jack.c, src/libout123/out123.h.in,
	  src/metaprint.c, src/mpg123.c, src/mpg123app.h, src/term.c: Tune
	  output logic both in library and mpg123 itself to avoid underruns
	  on the output device, be it because of pausing or feeding too
	  small bits.
	  
	  This introduces an internal meaning to OUT123_PROP_LIVE and also
	  OUT123_PROP_PERSISTENT got added, with the JACK output using
	  that. I need
	  to test and tweak that one.

2016-01-24 11:12  thor

	* src/libmpg123/mpg123.h.in: typo

2016-01-24 09:19  thor

	* NEWS: mention some added out123 parameters

2016-01-24 09:14  thor

	* src/mpg123.c: make out123 also silent on -q

2016-01-21 23:48  thor

	* NEWS, src/libout123/libout123.c, src/libout123/modules/aix.c,
	  src/libout123/modules/alsa.c, src/libout123/modules/coreaudio.c,
	  src/libout123/modules/jack.c, src/libout123/modules/nas.c,
	  src/libout123/modules/portaudio.c, src/libout123/modules/pulse.c,
	  src/libout123/modules/sdl.c, src/libout123/out123.h.in,
	  src/mpg123.c, src/mpg123app.h, src/out123.c: further output
	  fixup, mostly introducing device buffer setting for some

2016-01-21 09:20  thor

	* NEWS, src/libout123/buffer.c, src/libout123/buffer.h,
	  src/libout123/libout123.c, src/libout123/modules/jack.c,
	  src/libout123/out123.h.in, src/libout123/out123_int.h,
	  src/mpg123.c, src/mpg123app.h, src/out123.c, src/term.c: added
	  --name, with real name handling from jack module

2016-01-19 23:28  thor

	* TODO: naming

2016-01-19 23:25  thor

	* NEWS, configure.ac: configure fixup, prompted by testing on AIX

2016-01-19 22:17  thor

	* src/libout123/modules/aix.c, src/libout123/modules/jack.c,
	  src/libout123/modules/mint.c, src/libout123/modules/os2.c,
	  src/libout123/modules/oss.c, src/libout123/modules/sun.c,
	  src/libout123/modules/win32.c: Do not mess with ao->device in the
	  modules. This would screw up as the
	  libout123 code is supposed to allocate and free that one.

2016-01-19 22:16  thor

	* src/libout123/out123_int.h: libout123: some more care and
	  different verbosity checking outputs / closing them

2016-01-19 22:15  thor

	* src/libout123/libout123.c: libout123: some more care and
	  different verbosity checking outputs / closing them

2016-01-17 20:11  thor

	* src/libout123/out123.h.in: libout123: actually modify the
	  template, not the header, again

2016-01-17 19:59  thor

	* src/libout123/modules/aix.c, src/libout123/modules/hp.c,
	  src/libout123/modules/sun.c, src/mpg123.c, src/out123.c: Rename
	  AUDIO_OUT flags to OUT123 flags.

2016-01-17 12:08  thor

	* src/libout123/libout123.c, src/libout123/out123.h.in,
	  src/libout123/out123_int.h, src/out123.c: libout123: add property
	  flags to indicate difference between live output devices and
	  writing to files

2016-01-17 11:53  thor

	* src/libout123/out123.h.in: OUT123_ERR

2016-01-01 23:52  thor

	* src/libmpg123/mpg123.h.in, src/libout123/out123.h.in:
	  MPG123_EXPORT stuff, undefining at end; adding to out123.h to
	  possibly enable MSVC builds

2015-12-29 20:59  thor

	* NEWS, src/httpget.c: ignore extra whitespace in HTTP content type
	  (bug 226)

2015-12-27 15:20  thor

	* src/mpg123.c, src/mpg123app.h, src/term.c, src/term.h: Fix signal
	  behaviour:
	  - do proper exit on SIGTERM and SIGPIPE, including terminal
	  cleanup
	  - also exit on SIGINT while stopped in terminal control

2015-12-12 11:15  thor

	* NEWS, src/httpget.c: application/pls+xml

2015-10-17 12:40  thor

	* NEWS, src/httpget.c: Fix bug #222: Forget content types of
	  redirection pages for servers that
	  fail to update the content type for the stream (mpg123 would
	  remember
	  and complain about being fed text/xml, for example).

2015-10-08 07:34  thor

	* src/term.c: Do not announce terminal control when it is actually
	  disabled because of failure to get terminal attributes.

2015-10-08 06:49  thor

	* src/common.c: Add terminal width detection for OS/2 EMX
	  (suggestion from Dave Yeo).

2015-10-08 06:46  thor

	* src/libout123/modules/win32.c,
	  src/libout123/modules/win32_wasapi.c: win32 output module fixup,
	  renamed handle type

2015-10-08 06:40  thor

	* src/libmpg123/intsym.h, src/libout123/out123_intsym.h,
	  src/libout123/stringlists.c: regenerate external symbols list
	  (IOT_buffer_formats), actually use it in stringlists.c

2015-10-07 07:47  thor

	* configure.ac: a bit less stupid file prefixing code in configure,
	  not breaking platforms with CRLF text

2015-09-22 11:34  thor

	* src/libout123/buffer.c, src/libout123/libout123.c: libout123: no
	  ERESTART, that's supposed to be handled inside libc
	  
	  I was confused there. EINTR should be it and that is also at
	  least
	  defined on Windows.

2015-09-22 11:27  thor

	* configure.ac, src/libout123/Makemodule.am,
	  src/libout123/libout123.c: libout123: fix builds without buffer
	  (yes, that was sloppy)

2015-09-10 19:10  thor

	* src/libout123/buffer.c: libout123: fix out123_open() failure with
	  buffer and make out123_formats() work with the same

2015-09-10 18:44  thor

	* src/audio.c, src/control_generic.c, src/getlopt.c,
	  src/libout123/buffer.c, src/libout123/buffer.h,
	  src/libout123/libout123.c, src/libout123/wav.c, src/out123.c,
	  src/term.c: various fixes, standards conformance, compiler
	  pedantism, plain little screwups

2015-09-10 18:33  thor

	* src/libout123/modules/jack.c: libout123/jack: quick hack to avoid
	  endless hang

2015-09-10 18:18  thor

	* man1/out123.1, src/audio.c, src/libmpg123/fmt123.h, src/out123.c:
	  use the new format query API

2015-09-10 18:12  thor

	* src/libout123/buffer.c, src/libout123/libout123.c,
	  src/libout123/modules/dummy.c, src/libout123/out123.h.in,
	  src/libout123/wav.c, src/libout123/xfermem.h: libout123: extended
	  API for querying supported formats
	  
	  Also, some modules provide default formats, too.

2015-09-10 18:11  thor

	* src/libout123/modules/jack.c: libout123/jack: do not start server
	  unwittingly

2015-09-10 16:59  thor

	* src/libmpg123/Makemodule.am: fmt123: renamed header also in
	  Makefile!

2015-09-10 16:45  thor

	* src/libout123/modules/jack.c: fix JACK default encoding

2015-09-10 15:20  thor

	* src/libout123/out123.h.in: libout123: remove remaining inclusion
	  of mpg123_enc.h

2015-09-10 14:08  thor

	* src/libmpg123/fmt123.h, src/libmpg123/mpg123.h.in,
	  src/libout123/out123.h.in: fmt123: reformatting, inclusion of the
	  new header name in mpg123.h and out123.h

2015-09-10 12:59  thor

	* src/libout123/libout123.c: libout123: some space

2015-09-10 12:55  thor

	* src/libout123/libout123.c: libout123: opening parentheses are not
	  separated

2015-09-10 09:34  thor

	* src/libmpg123/fmt123.h: libmpg123: fmt123 doc update

2015-09-10 09:32  thor

	* doc/doxygen.conf: fix name of fmt123.h also for doxygen

2015-09-10 09:30  thor

	* ports/MSVC++/2015/uwp/libmpg123/libmpg123.vcxproj,
	  ports/MSVC++/2015/uwp/libmpg123/libmpg123.vcxproj.filters,
	  src/libmpg123/fmt123.h, src/libmpg123/mpg123_enc.h: libmpg123:
	  rename mpg123_enc.h to fmt123.h, add struct mpg123_fmt

2015-09-09 13:22  patr3ck

	* ports/MSVC++/2015, ports/MSVC++/2015/uwp,
	  ports/MSVC++/2015/uwp/libmpg123,
	  ports/MSVC++/2015/uwp/libmpg123/libmpg123.sln,
	  ports/MSVC++/2015/uwp/libmpg123/libmpg123.vcxproj,
	  ports/MSVC++/2015/uwp/libmpg123/libmpg123.vcxproj.filters,
	  ports/MSVC++/2015/win32, ports/MSVC++/2015/win32/dump_seekindex,
	  ports/MSVC++/2015/win32/dump_seekindex/dump_seekindex.vcxproj,
	  ports/MSVC++/2015/win32/dump_seekindex/dump_seekindex.vcxproj.filters,
	  ports/MSVC++/2015/win32/feedseek,
	  ports/MSVC++/2015/win32/feedseek/feedseek.vcxproj,
	  ports/MSVC++/2015/win32/feedseek/feedseek.vcxproj.filters,
	  ports/MSVC++/2015/win32/libmpg123,
	  ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj,
	  ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj.filters,
	  ports/MSVC++/2015/win32/mpg123.sln, ports/MSVC++/2015/win32/scan,
	  ports/MSVC++/2015/win32/scan/scan.vcxproj,
	  ports/MSVC++/2015/win32/scan/scan.vcxproj.filters: MS Visual
	  Studio 2015 project files for Win32 and WinRT platforms

2015-09-09 07:42  patr3ck

	* src/libmpg123/mpg123.h.in: Clarify that MPG123_EXPORT is only for
	  MS Visual Studio

2015-09-09 07:24  thor

	* src/mpg123.c: ensure that cursor is restored by removing it
	  _after_ installing the signal handler

2015-09-09 07:24  thor

	* src/common.h: declare print_buf

2015-09-09 07:23  thor

	* src/control_generic.c: include audio.h

2015-09-09 07:23  thor

	* src/libout123/libout123.c, src/libout123/modules/jack.c:
	  libout123: fix out123_encoding() for when the sample rate
	  matters; still big TODO there to make it more efficient

2015-09-09 07:17  thor

	* src/libout123/out123.h.in: libout123: prominent node about
	  suboptimal out123_encodings() operation

2015-09-09 06:53  thor

	* src/libmpg123/mpg123.h.in: libmpg123: reformat mpg123.h.in since
	  the addition of MPG123_EXPORT prolonged
	  things
	  
	  Rationale: I'm giving up on my stance about editor programs of
	  the future being
	  smarter dealing with breaking long lines and indent on display.
	  We are in the
	  future and the programs still don't care (actually, it's partly
	  the exact same
	  programs without change ...). I am starting to format things now
	  with 80 chars
	  max, to have it human-readable.
	  
	  But I keep using tabs for indent and (additional) spaces for
	  alignment. So,
	  the 80-char-rule is depending on your tab width. I use 3. If you
	  use wider
	  tabs, you should be prepared to use a wider window since you
	  obviously
	  prefer things to be wide.

2015-09-09 06:39  thor

	* scripts/intsym.pl, src/libmpg123/intsym.h,
	  src/libout123/out123_intsym.h: Intsym header modifications go
	  into the script that generates them.

2015-09-08 22:59  patr3ck

	* ports/MSVC++/2013/mpg123.v12.suo: Remove unneeded .suo file

2015-09-08 22:57  patr3ck

	* ports/MSVC++/examples/feedseek.c, ports/MSVC++/examples/scan.c:
	  Fix debug messages

2015-09-08 22:56  patr3ck

	* src/compat/compat.h: Add ssize_t typedef needed in MSVC++ builds

2015-09-08 22:52  patr3ck

	* src/libmpg123/intsym.h: if HAVE_* defines are used config.h needs
	  to be included

2015-09-08 22:35  jon_y

	* src/compat/compat_impl.h: fix typos, simplify _wfopen/fopen calls

2015-09-08 22:34  patr3ck

	* src/libmpg123/mpg123.h.in: Readd MPG123_EXPORT defines used with
	  MSVC++ DLL build

2015-09-08 10:45  patr3ck

	* src/libmpg123/parse.c: Use float literal to prevent double to
	  float warning

2015-09-08 07:05  thor

	* src/Makemodule.am: libm was for mpg123, not out123!

2015-09-08 06:58  thor

	* src/libout123/out123.h.in: libout123: document meaninglessness of
	  OUT123_KEEP_PLAYING with buffer

2015-09-07 23:07  thor

	* src/libout123/buffer.c, src/libout123/libout123.c: libout123:
	  Make playback more resilient by checking if ao->write() was
	  "just" interrupted.
	  
	  This does matter for output modules that don't bother to catch
	  such themselves (like esd).

2015-09-07 22:52  thor

	* src/libout123/stringlists.c, src/libout123/stringlists.h:
	  libout123: stringlists for module listing (should have been added
	  before)

2015-09-07 22:51  thor

	* src/libout123/Makemodule.am, src/libout123/libout123.c,
	  src/libout123/module.c: libout123: also list builtin driver
	  "modules"

2015-09-07 07:59  thor

	* configure.ac, src/Makemodule.am: detect and use libm (for
	  common.c use of log10)

2015-09-06 16:58  thor

	* src/libmpg123/decode.h, src/libmpg123/intsym.h,
	  src/libmpg123/optimize.c, src/libmpg123/synth_altivec.c,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c: libmpg123:
	  shorten some over long function names to keep them within 31
	  character limit for uniqueness with INT123 prefix

2015-09-06 16:52  thor

	* src/libout123/out123_intsym.h: some missing internal symbols

2015-09-06 16:52  thor

	* src/libmpg123/abi_align.h, src/libout123/libout123.c,
	  src/libout123/out123_int.h: out123: attribute_align_arg

2015-09-06 16:31  thor

	* Makefile.am: fix out-of-tree build by adding the location of
	  out123.h

2015-09-06 15:59  thor

	* AUTHORS, NEWS, NEWS.libmpg123, configure.ac,
	  src/control_generic.c, src/equalizer.c, src/libmpg123/feature.c,
	  src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in,
	  src/libmpg123/synth.c, src/libmpg123/synth.h,
	  src/libmpg123/synth_altivec.c, src/libmpg123/synth_ntom.h,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c: libmpg123:
	  equalizer feature optional (initial patch from Tobias Weber
	  <tobiw@suprafluid.com>)

2015-09-06 15:53  thor

	* src/libout123/out123.h.in: libout123: really swap those arguments
	  for out123_encodings() in the .h.in!

2015-09-06 15:41  thor

	* configure.ac: autoconf complains, wants AM_PROG_CC_C_O for stuff

2015-09-06 15:29  thor

	* src/mpg123.c, src/out123.c: tweaking the end of things with
	  controlled buffer draining

2015-09-06 15:15  thor

	* man1/out123.1, src/audio.c, src/libout123/buffer.c,
	  src/libout123/libout123.c, src/out123.c: libout123: make order of
	  mpg123_encodings() arguments consistent with rest of
	  API, improve documentation of out123 program

2015-09-06 15:14  thor

	* scripts/debugdef.pl, src/libmpg123/debug.h: Add ME": " prefix to
	  debug.h messages.

2015-09-06 13:06  thor

	* src/tests: ignore

2015-09-06 13:05  thor

	* doc/examples: ignore

2015-09-06 13:02  thor

	* ., m4, src, src/libmpg123, src/libout123, src/libout123/modules:
	  ignore

2015-09-06 13:00  thor

	* doc/doxyhead.xhtml: doc: NEWS.libout123

2015-09-06 12:56  thor

	* doc/doxy_examples.c, doc/examples/Makefile,
	  doc/examples/mpg123_to_wav.c,
	  doc/examples/mpg123_to_wav_replaced_io.c: Update WAV-writing
	  examples to use libout123.

2015-09-06 12:54  thor

	* src/Makemodule.am, src/audio.c, src/audio.h, src/mpg123.c,
	  src/mpg123app.h, src/out123.c, src/sysutil.h, src/term.h: Cleanup
	  mainly of out123 program, which does not need libmpg123 anymore.

2015-09-06 12:52  thor

	* src/libmpg123/Makemodule.am: libmpg123: install mpg123_enc.h

2015-09-06 12:52  thor

	* Makefile.am, configure.ac, libout123.pc.in: Install pkgconfig
	  file for libout123.

2015-09-06 12:37  thor

	* src/libout123/Makemodule.am: libout123: fix Makemodule for
	  out123.h installation

2015-09-06 12:16  thor

	* src/libout123/out123.h.in: libout123: fix wrong flag name in
	  comment

2015-09-06 11:09  thor

	* src/libout123/libout123.c, src/libout123/out123.h.in: libout123:
	  encoding listing and name mapping; has to be someplace

2015-09-06 09:25  thor

	* man1/mpg123.1, src/common.c: include pitch value in print_stat()

2015-09-06 09:23  thor

	* NEWS.libmpg123, src/libmpg123/mpg123.h.in,
	  src/libmpg123/stringbuf.c: libmpg123: hardening the string API
	  and a stray character in the header

2015-09-06 08:01  thor

	* src/libout123, src/tests: ignore

2015-09-06 07:59  thor

	* windows-builds.sh: a blind attempt to update the windows build

2015-09-06 07:57  thor

	* doc/doxygen.conf, src/libmpg123/mpg123.h.in,
	  src/libmpg123/mpg123_enc.h, src/libout123/out123.h.in: header and
	  documentation cleanup/fixup

2015-09-06 07:17  thor

	* NEWS.libout123: Those should be in the repo!

2015-09-06 06:42  thor

	* man1/mpg123.1, src/common.c: status line: shorten "accurate" to
	  "acc" and "fuzzy" to "fuz", add
	  number of clipped samples

2015-09-06 05:56  thor

	* doc/doxygen.conf, src/libmpg123/mpg123.h.in,
	  src/libmpg123/mpg123_enc.h, src/libout123/out123.h.in: trying to
	  force doxygen into documenting all three headers, mpg123_enc.h
	  gets manpages but only empty HTML?!?

2015-09-05 22:53  thor

	* doc/doxygen.conf, doc/doxyhead.xhtml, src/audio.c, src/audio.h,
	  src/common.c, src/common.h, src/control_generic.c,
	  src/libmpg123/Makemodule.am, src/libmpg123/format.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/mpg123_enc.h,
	  src/libout123/Makemodule.am, src/libout123/buffer.c,
	  src/libout123/buffer.h, src/libout123/libout123.c,
	  src/libout123/module.h, src/libout123/modules/aix.c,
	  src/libout123/modules/alib.c, src/libout123/modules/alsa.c,
	  src/libout123/modules/arts.c, src/libout123/modules/coreaudio.c,
	  src/libout123/modules/dummy.c, src/libout123/modules/esd.c,
	  src/libout123/modules/hp.c, src/libout123/modules/jack.c,
	  src/libout123/modules/mint.c, src/libout123/modules/nas.c,
	  src/libout123/modules/openal.c, src/libout123/modules/os2.c,
	  src/libout123/modules/oss.c, src/libout123/modules/portaudio.c,
	  src/libout123/modules/pulse.c, src/libout123/modules/qsa.c,
	  src/libout123/modules/sdl.c, src/libout123/modules/sgi.c,
	  src/libout123/modules/sndio.c, src/libout123/modules/sun.c,
	  src/libout123/modules/tinyalsa.c, src/libout123/modules/win32.c,
	  src/libout123/modules/win32_wasapi.c, src/libout123/out123.h.in,
	  src/libout123/out123_int.h, src/libout123/wav.c,
	  src/libout123/wav.h, src/mpg123.c, src/mpg123app.h, src/out123.c,
	  src/term.c, src/term.h: all:
	  
	  - header cleanup
	  - separation of mpg123_enc.h from mpg123.h
	  including mpg123_samplesize() (was: out123_samplesize())
	  - renaming of audio_output_t to out123_handle
	  - some Makemodule fixing

2015-09-05 19:53  thor

	* NEWS, src/libout123/buffer.c, src/libout123/libout123.c,
	  src/libout123/out123.h.in, src/mpg123.c, src/out123.c: libout123:
	  change argument order of out123_start() to match
	  out123_getformat()

2015-09-05 19:48  thor

	* man1/mpg123.1: Update the man page, including info about the
	  playback status line.

2015-09-05 19:02  thor

	* src/common.c: add decoder state (accurate position or fuzzy) to
	  print_stat()

2015-09-05 18:56  thor

	* NEWS: announce libmpg123 API version 42

2015-09-05 18:55  thor

	* src/common.c: fixup of line length handling (of course), added
	  bitrate and framesize info

2015-09-05 18:53  thor

	* src/libmpg123/mpg123.h.in: libmpg123: escape for doxygen

2015-09-05 18:47  thor

	* NEWS.libmpg123, configure.ac, src/libmpg123/lfs_alias.c,
	  src/libmpg123/lfs_wrap.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in: libmpg123: added mpg123_framelength()

2015-09-05 13:22  thor

	* src/common.c: subtract buffered samples from progress bar

2015-09-05 13:04  thor

	* NEWS, src/common.c, src/common.h, src/mpg123.c: Here comes the
	  progress bar. Also, mpg123 hides the cursor during terminal
	  operation, correctly looks at stderr now, not stdout.

2015-09-05 12:03  thor

	* NEWS: current NEWS

2015-09-05 12:01  thor

	* src/term.c: more dropping to make pausing mode work with buffer
	  somewhat

2015-09-05 11:46  thor

	* src/term.c: make

2015-09-05 11:45  thor

	* src/common.c: Careful there, unexpected error messages should
	  have a chance to disturb the picture, so do not return the
	  carriage too early.

2015-09-05 11:41  thor

	* src/common.c: reformat status line a bit

2015-09-05 11:34  thor

	* NEWS, src/common.c, src/common.h, src/term.c: integrate stopped
	  and paused mode into the status line

2015-09-05 11:25  thor

	* NEWS, src/common.c: prevent terminal spill caused by too long
	  status line

2015-09-05 10:42  thor

	* NEWS, src/common.c, src/common.h, src/mpg123.c: enable terminal
	  control automatically

2015-09-05 10:07  thor

	* NEWS, src/getlopt.c: Fix behaviour on certain command line
	  arguments that only call a handler
	  function and do neither have a short name, nor an address to
	  store
	  a value to (--cdr, --au). The effect was that on
	  
	  mpg123 --au test.au -n 300 file.bla
	  
	  parsing stopped after test.au and mpg123 tried to open the file
	  "-n".
	  
	  I fail to understand the idea behind the lines in getlopt.c that
	  I
	  disabled. Perhaps one time, Oliver can explain the reasoning to
	  me.

2015-09-05 10:02  thor

	* NEWS: First

2015-09-05 08:24  thor

	* src/Makemodule.am: sfifo also inside libout123; make dist works
	  now

2015-09-05 08:22  thor

	* src/libout123/Makemodule.am: libout123: outmod_def.h gone

2015-09-05 08:15  thor

	* src/mpg123.c, src/out123.c: actually free the module names and
	  descriptions after listing

2015-09-04 07:56  thor

	* NEWS, src/mpg123.c, src/out123.c: only quiet module listing if
	  demanded (-q before --list-modules)

2015-09-04 07:56  thor

	* src/libout123/libout123.c, src/libout123/module.c: libout123:
	  What broken state was that? Fixing module listing.

2015-09-04 07:06  thor

	* ., Makefile.am, NEWS, configure.ac, doc/Makefile.am,
	  doc/Makemodule.am, doc/buffer.txt, scripts/intsym.pl,
	  src/Makefile.am, src/Makemodule.am, src/audio.c, src/audio.h,
	  src/buffer.c, src/buffer.h, src/common.c, src/common.h,
	  src/compat, src/compat.c, src/control_generic.c,
	  src/legacy_module.c, src/libmpg123/Makefile.am,
	  src/libmpg123/Makemodule.am, src/libmpg123/compat.c,
	  src/libmpg123/compat.h, src/libmpg123/dither.c,
	  src/libmpg123/dither_impl.h, src/libmpg123/feature.c,
	  src/libmpg123/icy.c, src/libmpg123/icy2utf8.c,
	  src/libmpg123/index.c, src/libmpg123/intsym.h,
	  src/libmpg123/legacy_module.c, src/libmpg123/ntom.c,
	  src/libmpg123/synth.c, src/libmpg123/synth.h,
	  src/libmpg123/synth_i486.c, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586_dither.S, src/libmpg123/synth_mmx.S,
	  src/libmpg123/synth_ntom.h, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/libout123, src/libout123/module.c,
	  src/libout123/modules/portaudio.c, src/libout123/wavhead.h,
	  src/module.c, src/module.h, src/mpg123-with-modules,
	  src/mpg123.c, src/mpg123app.h, src/out123-with-modules,
	  src/out123.c, src/output/aix.c, src/output/alib.c,
	  src/output/alsa.c, src/output/arts.c, src/output/coreaudio.c,
	  src/output/dummy.c, src/output/esd.c, src/output/hp.c,
	  src/output/jack.c, src/output/mint.c, src/output/nas.c,
	  src/output/openal.c, src/output/os2.c, src/output/oss.c,
	  src/output/portaudio.c, src/output/pulse.c, src/output/qsa.c,
	  src/output/sdl.c, src/output/sgi.c, src/output/sndio.c,
	  src/output/sun.c, src/output/tinyalsa.c, src/output/win32.c,
	  src/output/win32_wasapi.c, src/sfifo.c, src/sfifo.h,
	  src/sysutil.c, src/sysutil.h, src/term.c, src/tests/noise.c,
	  src/wav.c, src/wavhead.h, src/xfermem.c, src/xfermem.h: merge in
	  libout123 branch

2015-08-15 06:23  thor

	* NEWS, src/libmpg123/frame.c: Only let frame_gapless_update do
	  something if there is gapless info to check.

2015-08-14 07:31  thor

	* NEWS, configure.ac: Haiku patch from Jerome Duval
	  <jerome.duval@gmail.com>.

2015-08-14 07:19  thor

	* NEWS: NEWS for next_dir()/prev_dir()

2015-08-14 07:18  thor

	* src/Makefile.am, src/buffer.c, src/mpg123.c, src/mpg123app.h,
	  src/term.c, src/term.h: Feature: skip to previous and next
	  directories from terminal.
	  General: properly use sysutil

2015-08-14 07:17  thor

	* src/common.c, src/common.h: remove code moved to sysutil

2015-08-14 07:16  thor

	* src/sysutil.c, src/sysutil.h: added dir_length()

2015-08-14 07:16  thor

	* src/audio.c: use sysutil.h

2015-08-14 07:16  thor

	* src/out123.c: use sysutil.h

2015-08-14 05:18  thor

	* src/output/portaudio.c: portaudio: No not set err when it is not
	  used for anything.

2015-08-12 05:32  thor

	* NEWS, configure.ac, src/libmpg123/parse.c: Fix of 3 year old
	  regression: Re-enable freeformat parsing that got disabled while
	  moving the saving of the old header further down.

2015-06-30 21:55  thor

	* NEWS, src/output/aix.c: AIX audio putput build fixes

2015-06-28 14:54  thor

	* AUTHORS, NEWS, configure.ac, src/libmpg123/parse.c: add patch for
	  APE tag skipping from Hans de Goede

2015-06-28 12:49  thor

	* scripts/conplay: conplay: rewind to the beginning and correct
	  check to accept last track

2015-06-28 12:49  thor

	* ports/MSVC++/2013, ports/MSVC++/2013/dump_seekindex,
	  ports/MSVC++/2013/dump_seekindex/dump_seekindex.vcxproj,
	  ports/MSVC++/2013/dump_seekindex/dump_seekindex.vcxproj.filters,
	  ports/MSVC++/2013/feedseek,
	  ports/MSVC++/2013/feedseek/feedseek.vcxproj,
	  ports/MSVC++/2013/feedseek/feedseek.vcxproj.filters,
	  ports/MSVC++/2013/libmpg123,
	  ports/MSVC++/2013/libmpg123/libmpg123.vcxproj,
	  ports/MSVC++/2013/mpg123.sln, ports/MSVC++/2013/mpg123.v12.suo,
	  ports/MSVC++/2013/scan, ports/MSVC++/2013/scan/scan.vcxproj,
	  ports/MSVC++/2013/scan/scan.vcxproj.filters, ports/README: ports
	  update: MSVC 2013 from Stephan Vedder

2015-05-25 10:20  thor

	* NEWS, configure.ac, src/libmpg123/id3.c: patch for bug 216
	  (utf-16 surrogate detection)

2015-05-24 12:49  thor

	* NEWS, src/audio.c, src/audio.h, src/buffer.c: fix buffer playback
	  for 24 bits

2015-04-01 08:01  thor

	* NEWS: releasing some fixes early

2015-04-01 07:49  thor

	* NEWS, src/mpg123-id3dump.c, src/out123.c: Pedantic fixes, really
	  fixing stupid bugs!

2015-03-31 07:51  thor

	* NEWS: Ah, what the heck. You expect distortion when craking up
	  the volume. Informing the user is enough. One could think about
	  introducing a flag to limit amplification, though.

2015-03-31 07:50  thor

	* NEWS, src/mpg123.c: clipped sample reporting also with line break

2015-03-31 07:49  thor

	* configure.ac: Of course the decode table saturation is a
	  patchlevel of the library.

2015-03-31 07:45  thor

	* NEWS, src/libmpg123/tabinit.c: Warn once about the predictable
	  saturation in decwin table computation.

2015-03-31 07:44  thor

	* src/libmpg123/debug.h: Line break before warnings, too.

2015-03-30 23:25  thor

	* NEWS, src/libmpg123/tabinit.c: First naive fix for the nasty
	  high-pitched distortion of fixed point decoders with
	  amplification. It's still distortion, but more subtle.

2015-03-29 17:29  thor

	* configure.ac: going to be 1.23

2015-03-29 17:27  thor

	* NEWS, ports/MSVC++/config.h, ports/MSVC++/mpg123.h: fixup MSVC++
	  ports a little

2015-03-14 10:24  thor

	* NEWS, configure.ac, src/libmpg123/Makefile.am: fix bug 215 (do
	  not link libmpg123 against libltdl

2015-03-14 10:06  thor

	* NEWS, man1/mpg123.1, src/mpg123.c: Added --no-infoframe.

2015-02-24 09:10  thor

	* ., NEWS: merge in the NEWS changes from 1.22.0

2015-02-23 20:30  thor

	* NEWS, src/wav.c: WAV to stdout on Windows (bug 214).

2015-01-25 15:17  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/format.c,
	  src/libmpg123/frame.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/parse.c: NULL resilience

2014-12-20 09:18  thor

	* NEWS, configure.ac, src/libmpg123/compat.h: Fix OSX SDK name
	  clash (normal in enum)

2014-11-09 22:02  thor

	* NEWS, configure.ac, src/libmpg123/parse.c: Settle the Xing header
	  bitstream length diagnostic.

2014-11-08 14:30  thor

	* NEWS, configure.ac, src/libmpg123/parse.c: An attempt at a better
	  Info tag parser.

2014-09-28 08:27  thor

	* NEWS, src/libmpg123/lfs_alias.c, src/libmpg123/lfs_wrap.c,
	  src/libmpg123/mpg123.h.in: Do not pollute namespace with EXPORT
	  sybol (pollute with MPG123_EXPORT instead, bug 212).

2014-09-28 08:26  thor

	* configure.ac: will become 1.21.0

2014-09-26 07:49  thor

	* NEWS: note for the LL thing

2014-07-04 17:50  thor

	* doc/README.remote: Also not LL for LOADLIST.

2014-07-04 05:15  thor

	* src/control_generic.c: Fix bug 201: Adding LL for LOADLIST as
	  suggested.

2014-06-10 07:40  thor

	* NEWS, configure.ac, src/libmpg123/parse.c: Add a fix for the slow
	  feeder resync.

2014-05-22 22:08  jon_y

	* src/out123.c: force stdin to binary with _setmode

2014-05-17 08:30  thor

	* NEWS: Note the id3dump build fix.

2014-05-16 10:53  jon_y

	* src/mpg123-id3dump.c: fix win32_cmdline_utf8_free typo, should be
	  win32_cmdline_free

2014-05-10 14:46  jon_y

	* src/Makefile.am, src/out123.c: Fix out123.c build,
	  win32_net_deinit call not required since there never was an init
	  call to begin with

2014-05-10 10:36  thor

	* windows-builds.sh: add out123.exe to windows builds

2014-05-10 10:25  thor

	* configure.ac: Strictly speaking, that's a code change.

2014-05-10 10:24  thor

	* src/libmpg123/id3.c: There is no need for synchsafe-indicating
	  return value in threebytes_to_long macro. Fixing bug 208.

2014-05-10 09:53  thor

	* NEWS: Prepare for 1.20.0.

2014-05-10 09:48  thor

	* configure.ac: Note next version and also increase lib patchlevel
	  for recent optimizations.

2014-05-10 09:47  thor

	* src/Makefile.am, src/module.c, src/out123-with-modules: Modules,
	  again:
	  - Prevent opendir(NULL) when listing modules.
	  - Fix Makefile dependencies for out123.

2014-05-10 09:22  thor

	* src/mpg123.c, src/out123.c: Fix preload parameter presenct /
	  location in code.

2014-05-10 09:21  thor

	* Makefile.am: Include out123 man page in distribution.

2014-05-10 09:21  thor

	* man1/mpg123.1, man1/out123.1: Update man pages (add it in case of
	  out123).

2014-05-10 08:35  thor

	* src/mpg123.c, src/out123.c: Sanitize command-line parameters and
	  re-introduce priority hacks for out123, where they belong
	  (actually, one might try to limit them to the buffer process
	  itself, if present).
	  
	  Messages got some fixing, too.

2014-05-09 06:19  thor

	* src/audio.c, src/out123.c: Workable out123:
	  - Fixed buffer initialization without audio_capabilities() call.
	  - Configure audio format from commandline (using --encoding,
	  --mono / --stereo (default) and --force_rate to stay compatible
	  with mpg123).

2014-05-07 07:16  thor

	* src/Makefile.am: include sysutil.h for completeness

2014-05-07 07:13  thor

	* src/Makefile.am, src/out123.c, src/sysutil.c, src/sysutil.h: Add
	  an initial hack for out123 command-line too, only supporting 16
	  bit stereo data from standard input.

2014-04-28 10:06  jon_y

	* src/win32_support.c: Make sure win32_set_priority is compiled
	  only when _WIN32 is defined

2014-04-06 21:15  thor

	* configure.ac: Add little change to build arm_fpu decoder by
	  default on fedora hardfloat machines.

2014-04-06 20:47  thor

	* mpg123.spec.in: Keep the spec generic: no enforced decoder.

2014-04-03 09:31  jon_y

	* windows-builds.sh: allow simple x86 cross

2014-03-14 17:26  taihei

	* configure.ac, src/libmpg123/Makefile.am,
	  src/libmpg123/check_neon.S, src/libmpg123/dct36_neon64.S,
	  src/libmpg123/dct64_neon64.S, src/libmpg123/dct64_neon64_float.S,
	  src/libmpg123/decode.h, src/libmpg123/frame.h,
	  src/libmpg123/getcpuflags.h, src/libmpg123/intsym.h,
	  src/libmpg123/mangle.h, src/libmpg123/optimize.c,
	  src/libmpg123/optimize.h, src/libmpg123/synth.c,
	  src/libmpg123/synth_neon64.S,
	  src/libmpg123/synth_neon64_accurate.S,
	  src/libmpg123/synth_neon64_float.S,
	  src/libmpg123/synth_neon64_s32.S, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/libmpg123/synth_stereo_neon64.S,
	  src/libmpg123/synth_stereo_neon64_accurate.S,
	  src/libmpg123/synth_stereo_neon64_float.S,
	  src/libmpg123/synth_stereo_neon64_s32.S, src/libmpg123/tabinit.c:
	  Added NEON optimized decoder for AArch64 (ARM 64bit environment)
	  - enabled for --with-cpu=neon64 (NEON only) or --with-cpu=aarch64
	  (runtime switch between neon and generic_fpu, like arm_fpu)
	  configuration
	  - compatible with aarch64-linux-gnu toolchains (from Ubuntu) and
	  Xcode 5
	  - currently only tested with qemu-user aarch64 environment

2014-03-12 16:54  taihei

	* configure.ac: integer output dct64 is not needed for
	  --enable-int-quality configuration

2014-03-10 12:28  taihei

	* src/libmpg123/synth_neon.S, src/libmpg123/synth_stereo_neon.S: A
	  bit better precision for NEON fast 16bit synth

2014-03-08 13:22  taihei

	* configure.ac, src/libmpg123/Makefile.am,
	  src/libmpg123/dct36_neon.S, src/libmpg123/decode.h,
	  src/libmpg123/frame.h, src/libmpg123/intsym.h,
	  src/libmpg123/optimize.c, src/libmpg123/optimize.h: Added dct36
	  optimization for NEON

2014-03-08 11:27  thor

	* NEWS: Some more NEWS

2014-03-03 23:40  thor

	* NEWS, configure.ac, src/libmpg123/frame.c,
	  src/libmpg123/libmpg123.c: Avoid uninitialized value access in
	  mpg123_info().

2014-03-02 06:25  taihei

	* configure.ac, src/libmpg123/Makefile.am,
	  src/libmpg123/check_neon.S, src/libmpg123/getcpuflags_arm.c,
	  src/libmpg123/intsym.h: Split off neon check routine to
	  standalone asm

2014-03-01 17:10  thor

	* NEWS.libmpg123: Note arm_fpu.

2014-03-01 17:09  thor

	* NEWS: No nonsense: The next release will be 1.19.0 with the
	  always-available float output and the ARM fixes.

2014-03-01 13:37  taihei

	* src/libmpg123/dct64_neon.S, src/libmpg123/dct64_neon_float.S,
	  src/libmpg123/mangle.h, src/libmpg123/synth_arm.S,
	  src/libmpg123/synth_arm_accurate.S, src/libmpg123/synth_neon.S,
	  src/libmpg123/synth_neon_accurate.S,
	  src/libmpg123/synth_neon_float.S, src/libmpg123/synth_neon_s32.S,
	  src/libmpg123/synth_stereo_neon.S,
	  src/libmpg123/synth_stereo_neon_accurate.S,
	  src/libmpg123/synth_stereo_neon_float.S,
	  src/libmpg123/synth_stereo_neon_s32.S: Added stack exec
	  protection stuff to arm asm code

2014-03-01 09:12  taihei

	* configure.ac, src/libmpg123/Makefile.am,
	  src/libmpg123/getcpuflags.h, src/libmpg123/getcpuflags_arm.c,
	  src/libmpg123/optimize.c: Added arm_fpu target, for NEON decoder
	  with generic_fpu fallback

2014-03-01 09:10  thor

	* NEWS: Prepare NEWS for 1.18.2.

2014-03-01 09:09  thor

	* scripts/benchmark-cpu.pl: Also return an error if mpg123 had
	  problems.

2014-03-01 09:05  thor

	* scripts/benchmark-cpu.pl: Make the benchmark script check the
	  return value.

2014-02-28 15:45  taihei

	* src/libmpg123/dct64_neon.S, src/libmpg123/dct64_neon_float.S,
	  src/libmpg123/synth_arm.S, src/libmpg123/synth_arm_accurate.S,
	  src/libmpg123/synth_neon.S, src/libmpg123/synth_neon_accurate.S,
	  src/libmpg123/synth_neon_float.S, src/libmpg123/synth_neon_s32.S,
	  src/libmpg123/synth_stereo_neon.S,
	  src/libmpg123/synth_stereo_neon_accurate.S,
	  src/libmpg123/synth_stereo_neon_float.S,
	  src/libmpg123/synth_stereo_neon_s32.S: Added assembler directives
	  to make ARM asm code compatible with ARM linux

2014-02-25 16:38  thor

	* src/libmpg123/dct64_neon.S, src/libmpg123/dct64_neon_float.S: Me
	  thinks that alignment of the function should come before .globl
	  ... as anywhere else?

2014-02-25 08:28  taihei

	* src/libmpg123/dct64_neon.S, src/libmpg123/dct64_neon_float.S:
	  Force align NEON dct64 functions by 4 bytes

2014-02-20 12:25  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/tabinit.c:
	  Implement A-Law conversion table.

2014-02-20 12:21  thor

	* src/libmpg123/format.c: Remove debugging line.

2014-02-20 11:30  thor

	* src/libmpg123/sample.h: More explicit naming of 16 bit integers.

2014-02-20 11:08  thor

	* src/libmpg123/format.c: Add note about possibly bogus
	  optimization.

2014-02-20 11:03  thor

	* src/libmpg123/format.c: If it is worth anything ... multiply for
	  int16->float conversion isntead of divide.

2014-02-20 11:02  thor

	* configure.ac, src/libmpg123/l12_integer_tables.h,
	  src/libmpg123/mpg123lib_intern.h: Make pedantic compilation work
	  with fixed-point decoding (detect and use int64_t instead of long
	  long). Also, use int32_t for real instead of long, which is 64
	  bit itself nowadays on 64 bit systems.

2014-02-20 03:48  thor

	* src/mpg123-strip.c: Portability in print format.

2014-02-20 03:46  thor

	* src/output/openal.c: Not ALubyte, ALchar it should be.

2014-02-20 03:43  thor

	* src/libmpg123/layer1.c: Remove unused variable.

2014-02-20 03:42  thor

	* src/libmpg123/optimize.c: Define sse_or_vintage() only if SSE is
	  there.

2014-02-20 02:27  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/format.c,
	  src/libmpg123/frame.h, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/optimize.c: First implementation of post-processed
	  higher precision output from 16 bit synth.

2014-02-17 11:14  thor

	* configure.ac: remove "experimental"

2014-02-15 09:35  thor

	* configure.ac: Next one from trunk will be 1.19.0.

2014-02-14 05:59  thor

	* NEWS, src/libmpg123/parse.c: Fix the Frankenstein stuff again.
	  
	  The check for header change is now at the point where fr->oldhead
	  is replaced with newhead. That is where it belongs.

2014-02-13 10:24  thor

	* NEWS, configure.ac, src/libmpg123/parse.c: Another one ... I had
	  the Frankenstein check wildly misfiring on ID3v1 tags!

2014-02-11 07:33  thor

	* NEWS, src/mpg123.c: Another fix for the family of bug 206.

2014-02-10 00:39  thor

	* AUTHORS, NEWS, src/httpget.c, src/win32_net.c: Import bug 204
	  patch from Rajeev V. Pillai <rajeevvp@users.sf.net>.

2014-02-10 00:35  thor

	* NEWS, src/mpg123.c: Handling bug 206 (the jumping track/exit
	  part).

2014-02-09 08:24  thor

	* src/mpg123.c: OK, OK ... let's check for out-of-memory error.
	  Mostly pointless, though.

2014-02-09 00:01  thor

	* NEWS, src/mpg123.c: Fixing bug 205 without breaking module code.
	  That's there binpath was used ...

2014-02-08 12:11  thor

	* NEWS, src/mpg123.c: Stop messing around with argv[0] (bug 205).

2014-02-05 01:50  thor

	* NEWS, src/control_generic.c: Fix bug 207: Do not close buffer
	  twice.
	  
	  In mpg123.c, safe_exit() closes output, which in turn closes
	  buffer. That piece of code in control_generic() was from the
	  olden times.

2014-01-28 00:08  thor

	* src/libmpg123/mpg123.h.in: Remove leftover comment fragment from
	  not-adding an extra function for that particular state
	  information.

2014-01-27 11:19  thor

	* src/libmpg123/mpg123.h.in: A.

2014-01-27 11:09  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in,
	  src/mpg123.c: Inform about fresh decoder (stream format).

2014-01-27 11:08  thor

	* src/libmpg123/parse.c: No good idea to do header change only for
	  valid new heads unchanged decoder follows ... move that condition
	  to the Frankenstein block.

2014-01-27 10:40  thor

	* src/libmpg123/parse.c: Tweak Frankenstein detection. One check
	  always uses the first fr->firsthead, which is not reset on resync
	  anymore.

2014-01-27 10:24  thor

	* src/libmpg123/debug.h: Line break before error messages to fit in
	  console output of mpg123.

2014-01-27 09:33  thor

	* NEWS, src/httpget.c, src/win32_net.c: Send correct host header to
	  HTTP proxies (bug 202).

2014-01-27 09:21  thor

	* NEWS, src/mpg123.c: Actually call close_track() as it was
	  intended (bug 203).
	  
	  Thanks to Rajeev V. Pillai for catching this.

2014-01-27 09:10  thor

	* NEWS: Reorder NEWS.

2014-01-27 09:08  thor

	* NEWS, configure.ac, src/libmpg123/parse.c: Be verbose about big
	  header changes (Frankenstein streams).

2014-01-27 08:55  thor

	* NEWS, configure.ac, src/libmpg123/layer1.c: Another fix for bug
	  201: Stricter checking of layer I data to avoid audible glitch.
	  Bit allocation value of 15 (1111) is illegal.

2014-01-26 13:43  thor

	* NEWS: no s

2014-01-10 10:35  thor

	* NEWS, configure.ac, src/libmpg123/frame.c,
	  src/libmpg123/libmpg123.c: remove superfluous call to
	  frame_gapless_update if gapless disabled

2014-01-06 01:26  thor

	* src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/ntom.c,
	  src/libmpg123/parse.c: Turn spf() into a member of struct frame,
	  computed once during decode_header().

2014-01-06 00:37  thor

	* src/libmpg123/libmpg123.c: Some crucial decode_update calls to
	  fix bug 201 for good now (hopefully).

2014-01-06 00:36  thor

	* src/libmpg123/frame.c: Some safeguards in gapless logic (avoid
	  negative numbers in strange circumstances, also during treatment
	  of bug 201).

2014-01-06 00:36  thor

	* src/libmpg123/parse.c: More bug 201 fallout: Fully decode header,
	  regardless of MPG123_NO_RESYNC.

2014-01-03 11:23  thor

	* NEWS, configure.ac: Document things, note TODO about seek
	  accuracy (2013 was not a good year for mpg123 development ... RL
	  exhaustion shows).

2014-01-03 09:01  thor

	* src/libmpg123/frame.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/parse.c: changed this year

2014-01-03 08:30  thor

	* src/libmpg123/parse.c: Make things end after too much junk again
	  (broken since 1.14.4).

2014-01-01 18:20  thor

	* NEWS, configure.ac, src/libmpg123/frame.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/parse.c: Deal with bug
	  201, making sure decoder is initialized correctly.
	  
	  The bug got away with trying to decoder a 1152 sample frame to a
	  384 sample buffer, because the header change got lost. Header
	  change > 1 is not preserved and always dealt with in
	  get_next_frame() to ensure decode_update() has been called on it.

2013-12-29 13:54  thor

	* src/libmpg123/mpg123.h.in: comment typo

2013-12-26 12:36  jon_y

	* configure.ac: Fix windows.h check

2013-12-25 15:00  thor

	* Makefile.am, src/Makefile.am: Revert the subdir-objects change.
	  Fixes warnings, but breaks distcheck. It is not clean as it is,
	  but it works. Proper reworking of builds system is to follow.

2013-12-25 10:39  thor

	* INSTALL: Frikkin autotools: Leave my INSTALL alone!

2013-12-25 10:38  thor

	* INSTALL, NEWS: typo

2013-12-25 09:44  thor

	* NEWS: separate

2013-12-25 09:42  thor

	* NEWS, configure.ac: gonna be 1.17.0

2013-11-23 05:41  jon_y

	* src/mpg123.c, src/mpg123app.h: Cygwin to use *nix interface, not
	  win32

2013-11-23 05:40  jon_y

	* src/libmpg123/dct36_avx.S, src/libmpg123/dct36_x86_64.S,
	  src/libmpg123/dct64_avx.S, src/libmpg123/dct64_avx_float.S,
	  src/libmpg123/dct64_x86_64.S, src/libmpg123/dct64_x86_64_float.S,
	  src/libmpg123/getcpuflags_x86_64.S, src/libmpg123/mangle.h,
	  src/libmpg123/synth_stereo_avx.S,
	  src/libmpg123/synth_stereo_avx_accurate.S,
	  src/libmpg123/synth_stereo_avx_float.S,
	  src/libmpg123/synth_stereo_avx_s32.S,
	  src/libmpg123/synth_stereo_x86_64.S,
	  src/libmpg123/synth_stereo_x86_64_accurate.S,
	  src/libmpg123/synth_stereo_x86_64_float.S,
	  src/libmpg123/synth_stereo_x86_64_s32.S,
	  src/libmpg123/synth_x86_64.S,
	  src/libmpg123/synth_x86_64_accurate.S,
	  src/libmpg123/synth_x86_64_float.S,
	  src/libmpg123/synth_x86_64_s32.S: Make 64bit Cygwin use MS ABI

2013-11-23 05:39  jon_y

	* Makefile.am, src/Makefile.am: fix automake warnings

2013-11-23 05:38  jon_y

	* configure.ac: fix 64bit Cygwin detect

2013-11-22 09:27  thor

	* src/Makefile.am: Update those module deps ... are they really
	  needed?

2013-11-22 09:24  thor

	* AUTHORS, NEWS, configure.ac, src/Makefile.am,
	  src/output/Makefile.am, src/output/tinyalsa.c: tinyalsa patch by
	  Jarno Lehtinen <lehtinen@sci.fi>, with slight modifications

2013-10-16 17:40  thor

	* NEWS, src/mpg123.c: Do not tease folks with unavailable -C in
	  mpg123 --help.

2013-10-16 17:40  thor

	* NEWS, configure.ac, src/mpg123-id3dump.c: mpg123-id3dump
	  --no-scan

2013-09-29 15:23  thor

	* src/output/libao.c: Really remove libao, which doesn't really add
	  functionality and still has incompatible license (well, if you
	  don't want mpg123 to drop the L from LGPL).

2013-09-29 15:07  thor

	* configure.ac, scripts/test-static-modules.sh,
	  src/output/Makefile.am: Sync inline scripts for current module
	  list; prevent win32_wasapi from occuring in configure output
	  unconditionally.
	  
	  The test script just tries to build all supported modules into a
	  static output each; providing some testing for the more rare
	  configuration.

2013-09-29 12:08  jon_y

	* src/Makefile.am: Fix src/mpg123-id3dump.c link on windows when
	  utf8 wanted

2013-09-29 12:07  jon_y

	* src/mpg123-id3dump.c: fix typo to allow utf8 on windows

2013-09-29 11:54  jon_y

	* src/win32_support.h: Fix warning: ‘struct httpdata’ declared
	  inside parameter list

2013-09-29 11:41  jon_y

	* src/output/Makefile.am: Fix build case where win32 enabled but
	  wasapi disabled

2013-09-27 09:40  thor

	* COPYING: Clarify; there's no GPL left, also example for license
	  note to include.

2013-09-23 16:23  thor

	* NEWS, src/Makefile.am, src/mpg123-strip.c: add mpg123-strip as
	  official tool

2013-09-23 15:42  thor

	* doc/examples/extract_frames.c: typo

2013-09-23 13:07  jon_y

	* src/mpg123-id3dump.c: First attempt to make it unicode aware

2013-09-20 06:37  thor

	* configure.ac, src/libmpg123/optimize.c: Dammit, vintage 3DNowExt
	  is also a mmxsse-type decoder. Remember: Strange segfault while
	  moving an argument around in sse3d.h is caused by wrongly
	  allocated decwins. No black magic, simple stupidity.

2013-09-19 22:17  thor

	* src/libmpg123/synth.c: Yeah, stand-alone builds of vintage 3DNow
	  need more macro checks.

2013-09-19 08:32  thor

	* configure.ac: will be named 1.16.0

2013-09-19 08:08  thor

	* src/libmpg123/optimize.c: a semicolon and another name

2013-09-19 07:51  thor

	* configure.ac: worth a patchlevel

2013-09-19 07:51  thor

	* src/libmpg123/optimize.c: Fix diagnostics for stand-alone SSE and
	  3DNow, decision between vintage or not is not so easy.

2013-09-19 07:08  thor

	* NEWS, configure.ac, src/libmpg123/optimize.c,
	  src/libmpg123/optimize.h, src/libmpg123/synth.c,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c,
	  src/libmpg123/tabinit.c: Fixup of vintage setups, adding SSE
	  variant. Decoder name arrays were not in sync between optimize.c
	  and optimize.h (apparently no problem yet), fixed that for common
	  definition in the header.

2013-09-19 03:41  thor

	* NEWS, configure.ac, src/libmpg123/frame.h,
	  src/libmpg123/optimize.c, src/libmpg123/optimize.h: Again
	  approaching the vintage assembly issue, as there is the same for
	  SSE: Now we got vintage CPU types.

2013-09-17 22:26  thor

	* src/libmpg123/frame.c, src/mpg123-id3dump.c: nagging fix

2013-09-16 23:43  thor

	* src/libmpg123/Makefile.am: add abi_align.h

2013-09-16 23:43  thor

	* src/libmpg123/abi_align.h, src/libmpg123/lfs_alias.c,
	  src/libmpg123/mpg123lib_intern.h: LFS aliases of coure weren't
	  really right yet. One needs to avoid the off_t definitions
	  altogether. Just redeclare the aliased functions using alias_t
	  just before aliasing. Difficult testing this ... as things don't
	  actually break necessarily if that is not done properly.

2013-09-16 21:57  thor

	* NEWS, configure.ac, src/libmpg123/optimize.c,
	  src/libmpg123/optimize.h: configure switch to re-enable DCT36
	  3DNow code (multi and stand-alone builds)

2013-09-16 01:58  thor

	* AUTHORS, NEWS, NEWS.libmpg123, configure.ac, src/Makefile.am,
	  src/libmpg123/id3.c, src/libmpg123/mpg123.h.in,
	  src/mpg123-id3dump.c: An incarnation of picture support
	  
	  This incorporates a reworked version of Anthony Wells' patch for
	  APIC frames and the expansion of the id3dump example code into a
	  companion program that makes use of this.

2013-09-16 01:58  thor

	* src/control_generic.c, src/resolver.c: less fcntl

2013-09-16 01:52  thor

	* src/common.c, src/libmpg123/compat.h, src/mpg123.c: common
	  include of fcntl.h

2013-09-15 22:07  thor

	* NEWS, src/output/alsa05.c: removing unused old ALSA code

2013-09-15 13:22  thor

	* src/mpg123.c: it is LGPL, really

2013-09-15 13:09  thor

	* src/libmpg123/compat.h: always include the truth

2013-09-15 12:08  thor

	* src/Makefile.am: actually ship the moddir wrapper

2013-09-15 12:08  thor

	* src/module.c: mention MPG123_MODDIR

2013-09-15 11:52  thor

	* NEWS, src/mpg123-with-modules: wrapper script to avoid having to
	  set MPG123_MODDIR manually

2013-09-15 11:25  thor

	* src/output/alsa.c: fix nagging issues in ALSA output

2013-08-31 12:11  thor

	* doc/LARGEFILE: s less

2013-08-31 12:10  thor

	* src/libmpg123/lfs_alias.c: update alias job description

2013-08-31 12:07  thor

	* doc/Makefile.am: distribute largefile notes

2013-08-31 12:05  thor

	* NEWS, configure.ac, doc/LARGEFILE, src/libmpg123/lfs_alias.c: yet
	  another largefile fix, prompted by
	  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720440
	  
	  Needs confirmation, but I hope that now we handle large file
	  support properly on FreeBSD, too. Actually, those are the systems
	  that do this properly (one fixed off_t that is distinct from long
	  int).

2013-06-02 22:41  jon_y

	* AUTHORS, src/output/win32.c: Update credits

2013-06-02 22:26  jon_y

	* AUTHORS, src/output/win32.c: Update contributors list

2013-06-02 22:17  jon_y

	* src/output/win32.c: tabs to space convert

2013-06-02 15:59  thor

	* src/output/win32.c: sanitize the indendation (mixup of spaces and
	  tabs)

2013-05-30 15:01  jon_y

	* src/output/win32_wasapi.c: support 24bit audio

2013-05-30 13:04  jon_y

	* src/output/win32.c: proper fix from dw aka mud aka limegreensocks
	  (ad) yahoo d0d com, tested against azure.mp3
	  http://sourceforge.net/p/mpg123/bugs/190

2013-05-30 11:02  jon_y

	* src/output/win32_wasapi.c: Update some comments

2013-05-29 15:09  jon_y

	* src/output/win32_wasapi.c: Move state info into userptr handle

2013-05-29 08:44  taihei

	* src/libmpg123/synth_stereo_avx.S,
	  src/libmpg123/synth_stereo_avx_accurate.S,
	  src/libmpg123/synth_stereo_avx_float.S,
	  src/libmpg123/synth_stereo_avx_s32.S: Fixed some wrong register
	  usage in win64 code path

2013-05-28 22:30  jon_y

	* src/output/win32_wasapi.c: Use reset on flush code so it does not
	  just pause

2013-05-28 14:25  jon_y

	* src/output/win32.c: preliminary fix from dw aka mud aka
	  limegreensocks (ad) yahoo d0d com

2013-05-28 14:23  jon_y

	* configure.ac, src/output/Makefile.am: Check and build WASAPI
	  module if capable

2013-05-28 14:22  jon_y

	* src/output/win32_wasapi.c: Experimental wasapi module

2013-05-28 13:55  jon_y

	* src/win32_support.c: Suppress some printf warnings

2013-05-20 15:32  thor

	* ., NEWS, configure.ac, src/libmpg123/Makefile.am,
	  src/libmpg123/dct36_avx.S, src/libmpg123/dct36_sse.S,
	  src/libmpg123/dct36_x86_64.S, src/libmpg123/dct64_avx.S,
	  src/libmpg123/dct64_avx_float.S, src/libmpg123/decode.h,
	  src/libmpg123/feature.c, src/libmpg123/frame.h,
	  src/libmpg123/getcpuflags.S, src/libmpg123/getcpuflags.h,
	  src/libmpg123/getcpuflags_x86_64.S, src/libmpg123/intsym.h,
	  src/libmpg123/layer3.c, src/libmpg123/mangle.h,
	  src/libmpg123/ntom.c, src/libmpg123/optimize.c,
	  src/libmpg123/optimize.h, src/libmpg123/synth.c,
	  src/libmpg123/synth.h, src/libmpg123/synth_arm.S,
	  src/libmpg123/synth_arm_accurate.S, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_neon.S,
	  src/libmpg123/synth_neon_accurate.S,
	  src/libmpg123/synth_neon_float.S, src/libmpg123/synth_neon_s32.S,
	  src/libmpg123/synth_ntom.h, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/libmpg123/synth_sse3d.h,
	  src/libmpg123/synth_sse_accurate.S,
	  src/libmpg123/synth_sse_float.S, src/libmpg123/synth_sse_s32.S,
	  src/libmpg123/synth_stereo_avx.S,
	  src/libmpg123/synth_stereo_avx_accurate.S,
	  src/libmpg123/synth_stereo_avx_float.S,
	  src/libmpg123/synth_stereo_avx_s32.S,
	  src/libmpg123/synth_stereo_neon.S,
	  src/libmpg123/synth_stereo_neon_accurate.S,
	  src/libmpg123/synth_stereo_neon_float.S,
	  src/libmpg123/synth_stereo_neon_s32.S,
	  src/libmpg123/synth_stereo_sse_accurate.S,
	  src/libmpg123/synth_stereo_sse_float.S,
	  src/libmpg123/synth_stereo_sse_s32.S,
	  src/libmpg123/synth_stereo_x86_64.S,
	  src/libmpg123/synth_stereo_x86_64_accurate.S,
	  src/libmpg123/synth_stereo_x86_64_float.S,
	  src/libmpg123/synth_stereo_x86_64_s32.S,
	  src/libmpg123/synth_x86_64.S,
	  src/libmpg123/synth_x86_64_accurate.S,
	  src/libmpg123/synth_x86_64_float.S,
	  src/libmpg123/synth_x86_64_s32.S, src/libmpg123/tabinit.c,
	  src/wavhead.h: importing changes from Taihei's dct36 and AVX
	  branch (which also includes some assembly portability changes
	  with labels)

2013-05-20 12:43  thor

	* NEWS, configure.ac, src/wav.c: Make WAV writers actually return
	  proper errors on error conditions.
	  
	  The current release has a nice endless loop on the broken --cdr
	  implementation. Doesn't seem to bother anyone.

2013-05-20 12:30  thor

	* NEWS, configure.ac, src/wav.c: Fix --cdr again ... writing header
	  failed endlessly because of zero header size.

2013-05-20 11:51  thor

	* NEWS: going to include build system fix in 1.15.4

2013-05-20 11:45  thor

	* Makefile.am: distribute mpg123info script

2013-05-18 10:33  thor

	* src/libmpg123/mpeghead.h, src/libmpg123/parse.c: Loosen the
	  header comparison again to allow some channel mode variation
	  (stereo, joint-stereo, dual), just not change of channel count.
	  
	  This fixes the layer I and II compliance tests. Nice of them to
	  include such variation.

2013-05-12 14:40  thor

	* src/output/sgi.c: latest patch for sgi output; making it build
	  again

2013-05-12 06:32  thor

	* src/output/sgi.c: While at it, giving a consistent coding style
	  to the sgi output.

2013-05-12 06:26  thor

	* src/output/sgi.c: We should not continue and allocate negative
	  amounts of memory, right?

2013-05-12 06:19  thor

	* src/output/sgi.c: adding float support (prompted by canavan) and
	  more error handling

2013-05-11 15:07  thor

	* NEWS, src/output/sgi.c: adding edited patch from bug 192 (also by
	  canavan)

2013-05-11 15:02  thor

	* NEWS, man1/mpg123.1, src/mpg123.c: Take up bug 193 (adding
	  iris-ansi and screen title).

2013-04-21 13:19  jon_y

	* src/output/win32.c: Disable drain call and explain in comments

2013-04-21 12:13  thor

	* NEWS, src/output/win32.c: trying to fix win32 output without
	  testing it on a win32 box
	  
	  Of course, this needs testing. I found two basic mistakes:
	  1. We confused terminology: flush vs. drain (the general scheme I
	  realized after fixing pulse output).
	  2. Patrick's flushing/draining code did not what he intended. A
	  condition lacked parantheses and the roundabout buffer index z
	  was not used.

2013-04-21 11:53  thor

	* NEWS: NEWS, move audio fixup to 1.16.0 .

2013-04-21 11:53  thor

	* src/output/sdl.c: SDL fixup, with drain and stuff.
	  
	  SDL still sucks as simple audio playback API, especially for
	  small pieces of audio. It's designed for games that keep an audio
	  stream running for hours. It shows.

2013-04-21 11:51  thor

	* src/module.c: flexible module loading with relative module path

2013-04-21 10:33  thor

	* man1/mpg123.1: mention --no-seekbuffer and --ignore-mime in man
	  page

2013-04-21 10:30  thor

	* src/mpg123.c: mention --no-seekbuffer in help

2013-04-21 09:42  thor

	* NEWS, src/output/pulse.c: drain pulse sink

2013-04-20 23:46  thor

	* src/libmpg123/stringbuf.c: Do not decrement fill too early on
	  chomper.
	  
	  An Idea would be to keep fill untouched. Multiple zero bytes are
	  just as well inside official fill.

2013-04-20 22:21  thor

	* NEWS, configure.ac, src/libmpg123/mpeghead.h,
	  src/libmpg123/parse.c: Make the parser safer, especially for
	  disabled seek buffer.
	  
	  1. HDR_CMPMASK includes channel setup (don't care about comparing
	  resulting number of channels: a difference is a difference)
	  2. Reset oldhead after resync; really start anew. Better err on
	  the side of too much caution than risk segfault because the frame
	  output is allocated for 384 samples while now 1152 come along.

2013-04-20 15:41  thor

	* NEWS, configure.ac, src/Makefile.am, src/libmpg123/Makefile.am,
	  src/output/Makefile.am: Nix provided fixes for automake 1.13.

2013-04-20 15:03  thor

	* NEWS: news

2013-04-20 15:02  thor

	* scripts/mpg123info: Abuse mpg123's remote control mode for
	  programmatic extraction of meta info in easily parseable format.

2013-04-20 14:02  thor

	* src/control_generic.c: Do not delete tag info right away, just
	  after potentially dangerous seeks.
	  
	  Though, I do have to rethink that memory leaking protection. In
	  practice, ID3v2 tags are only at the beginning and are parsed
	  once, even seek to 0 seeks to the proper byte offset _after_ the
	  tag. Trouble would only be tags in the middle of the stream ...
	  which is not common, but possible.

2013-04-20 13:30  thor

	* NEWS, src/control_generic.c: Added FORMAT command to retrieve
	  sampling rate and channel count.

2013-04-20 13:30  thor

	* NEWS, configure.ac, src/common.c, src/libmpg123/readers.c: some
	  cleanup

2013-04-20 12:25  thor

	* src/libmpg123/stringbuf.c: Mixed up loop condition and increment,
	  oh boy! Also, condition should be >=, not >.

2013-04-02 05:27  thor

	* NEWS: WAV fix for 1.15.3

2013-03-17 15:16  thor

	* NEWS, configure.ac, src/libmpg123/Makefile.am,
	  src/libmpg123/layer3.c, src/libmpg123/newhuffman.h: That I call
	  improvement! Taihei's new Huffman decoding on my Core2Duo P8800:
	  
	  sh$ for i in src/mpg123--*; do echo $i; time $i -q -t
	  ../../convergence_-_points_of_view/*.mp3; done
	  src/mpg123--disable-new-huffman
	  
	  real 0m4.406s
	  user 0m4.354s
	  sys 0m0.043s
	  src/mpg123--enable-new-huffman
	  
	  real 0m3.460s
	  user 0m3.399s
	  sys 0m0.049s

2013-03-17 14:01  thor

	* NEWS, configure.ac, man1/mpg123.1, src/wav.c: Another go at the
	  wretched WAV writing.

2013-03-17 09:25  thor

	* NEWS, configure.ac: going to release a new version

2013-03-17 09:24  thor

	* configure.ac: no == in old versions of test

2013-02-23 20:57  thor

	* configure.ac: remove stray <

2013-02-17 21:38  thor

	* configure.ac: mark version 1.15.1

2013-02-17 21:37  thor

	* configure.ac: remove debugging output from configure

2013-02-17 21:36  thor

	* configure.ac: remove outdated cruft with alignment checks

2013-02-17 21:32  thor

	* NEWS, configure.ac, src/libmpg123/mangle.h: Tackle bug 188.

2013-02-17 21:18  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/httpget.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/stringbuf.c,
	  src/resolver.c, src/resolver.h: My take on bug 187; stripping
	  line end and enforcing minimal request path.

2013-02-13 09:33  thor

	* ., NEWS, src/libmpg123/feature.c, src/libmpg123/ntom.c,
	  src/libmpg123/synth.c, src/libmpg123/synth.h,
	  src/libmpg123/synth_i486.c, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586_dither.S, src/libmpg123/synth_mmx.S,
	  src/libmpg123/synth_ntom.h, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/wavhead.h: import that line break

2013-02-13 09:18  thor

	* NEWS: Adding some lost points to NEWS for 1.15.0 .

2013-02-13 09:07  thor

	* NEWS: More consistent grammar (or lack of).

2013-02-13 09:00  thor

	* NEWS: get onto that logic on a later day

2013-02-12 10:31  thor

	* configure.ac: More POSIX-ish function declaration.

2013-02-11 09:48  thor

	* configure.ac: Avoid grep -w by defining a shell function for the
	  job.
	  
	  Is easier on the eyes anyway.

2013-02-11 09:11  thor

	* src/httpget.c: Also accept application/x-scpls.

2013-02-11 09:11  thor

	* configure.ac: Only activate QSA detection on QNX systems and let
	  it block ALSA detection.
	  
	  I had QSA trying to build on my Linux system because of ALSA
	  headers being there ...

2013-02-04 17:44  thor

	* src/Makefile.am: remove seek_accuracy test from Makefile.am

2013-02-04 17:33  thor

	* src/tests/seek_accuracy.c: Move seek accuracy test to the
	  regression suite.

2013-02-04 17:29  thor

	* NEWS, configure.ac: Update NEWS, version and actually include the
	  QNX (qsa) output in the build.

2013-02-04 17:28  thor

	* src/libmpg123/libmpg123.c: Fix unreliable seek-back after scan,
	  also prevent bogus Frankenstein detection.

2013-02-04 17:26  thor

	* src/output/qsa.c: Actually add the output.

2013-02-04 17:26  thor

	* AUTHORS, src/output/Makefile.am: Add QNX native output, provided
	  by Mike Gorchak.

2013-02-04 17:25  thor

	* src/common.c: Fix negative time printing.

2013-01-20 11:35  jon_y

	* configure.ac: Check if EOVERFLOW exists, if not define as EFBIG

2013-01-01 12:52  thor

	* NEWS: Don't forget to fix that bug before release.

2013-01-01 10:59  thor

	* configure.ac: Fix inconsistency with x86-64 builds: Automatic
	  default is now x86-64, and not x86-64_all. The latter is added as
	  alias, still, to avoid breaking packaging/build scripts that
	  contain it.
	  
	  For quite some time, the mpg123 trunk did not build with default
	  config on x86-64. Well, folks busy with the holidays, I guess ...

2012-12-10 14:03  thor

	* NEWS: note the change from last commit

2012-12-08 11:09  jon_y

	* configure.ac: Enable more optins in default x86_64 decoder

2012-11-02 04:29  thor

	* NEWS, src/common.c: Hacking on bug 3578058 (more of a feature
	  request).

2012-09-10 20:48  thor

	* NEWS, src/module.c: Fix bug 3565959: opendir(NULL) is not nice on
	  all systems.

2012-09-05 19:59  thor

	* configure.ac, src/libmpg123/mangle.h: Add a precaution for
	  undefined assembler alignment (catch bad builds that do not use
	  configure, early).

2012-08-31 07:35  thor

	* src/output/alsa.c: alsa: Always drain at close. Doesn't hurt in
	  any case.

2012-08-30 18:24  thor

	* NEWS, src/output/alsa.c: Another iteration of robust ALSA
	  recovery. Perhaps the last one?

2012-08-29 21:12  thor

	* src/output/alsa.c: alsa: more extreme debugging, to be disabled
	  again in future

2012-08-29 21:06  thor

	* src/output/alsa.c: alsa: Experimenting with large start threshold
	  to prevent underrun after resume (unsuccessful, so far).

2012-08-29 19:27  thor

	* src/output/alsa.c: alsa: An attempt at more robust recovery,
	  using snd_pcm_recover() from alsa-lib 1.0.11 in a loop.

2012-08-28 06:26  thor

	* scripts/conplay, src/mpg123.c, src/mpg123app.h, src/term.c,
	  src/term.h: Manual bookmarking, as a start. Conplay does not yet
	  really work with this.

2012-08-26 11:00  thor

	* src/metaprint.c: metaprint: Fix typo as pointed out by Charles
	  Turner; now really checking the artist length, too, for compact
	  printout.

2012-08-03 23:50  jon_y

	* src/win32_support.c: Make __wgetmainargs void, since earlier
	  versions of Windows do not return a proper result

2012-07-26 13:35  thor

	* NEWS, configure.ac, src/libmpg123/gapless.h: Fix regression since
	  1.14; we still need to do frame cutting for seeks without gapless
	  info!

2012-07-26 13:17  thor

	* src/libmpg123/frame.c: remove duplicated frame count storage

2012-07-26 06:56  thor

	* NEWS, configure.ac, src/libmpg123/frame.c: Don't reset
	  bitreservoir on near seeks.
	  
	  This was a stupid mistake on my part.

2012-07-25 23:40  thor

	* src/tests/seek_accuracy.c: correct argument comment

2012-07-25 22:49  thor

	* NEWS, NEWS.libmpg123, src/libmpg123/parse.c: Retroactively note
	  the change in gapless cutting.

2012-07-25 22:36  thor

	* src/libmpg123/readers.c: more debugging output to be verbose
	  about funky buffering

2012-07-25 17:11  thor

	* NEWS, configure.ac, src/libmpg123/parse.c: Fix up parser logic to
	  avoid premature end (confusion of PARSE_END and FALSE from
	  decode_header()).

2012-07-05 07:08  thor

	* NEWS, src/wav.c: Do not treat stdout special ('-' is not the only
	  possible stdout anyway); there will be multiple headers in the
	  stream, this perhaps being a better idea anyway. People will have
	  to fix format or have programs that are smart enough to sense
	  RIFF/AU headers mid-stream.
	  
	  TODO: get the logic for changing input format right, at last
	  correctly documented

2012-07-05 06:43  thor

	* src/wav.c: Remove the test for writing a single byte at the
	  beginning, breaks writing to files that are non-seekable for some
	  reason (like /dev/stdout).

2012-06-24 13:04  thor

	* NEWS, configure.ac: fix OS/2 terminal control (needs os2term lib)

2012-06-21 21:58  thor

	* NEWS: merge news for 1.14.3

2012-06-20 23:09  thor

	* src/wrapper_test.c: Adding a small test for wrapping mpg123 and
	  the latency of command i/o.
	  
	  This might grow into a generic protocol translator.

2012-06-13 05:55  thor

	* src/libmpg123/parse.c: We have a limit on frame size. No sense to
	  search for more in free format streams.

2012-06-12 21:10  thor

	* src/libmpg123/parse.c: only tell about free format failure in
	  verbose mode

2012-06-12 21:08  thor

	* src/libmpg123/parse.c: Stop parsing after PARSE_END was clearly
	  noted.
	  
	  Think about why I did not do that before.

2012-06-12 21:05  thor

	* scripts/conplay: revert that last commit on conplay

2012-06-12 21:04  thor

	* scripts/conplay, src/libmpg123/parse.c: hotfix for endless free
	  format search

2012-05-15 06:07  thor

	* scripts/conplay: Make conplay accept a full path as parameter,
	  specifying both directory and playlist file.
	  
	  This is a simple mechanism to have multiple bookmarks.

2012-05-15 05:59  thor

	* scripts/conplay: Be more helpful on empty playlist.

2012-05-15 05:57  thor

	* scripts/conplay: more clear error message for playlist mishap.

2012-05-15 05:53  thor

	* scripts/conplay: Now, conplay can find files recursively by
	  calling the find tool.
	  
	  This needed locale usage to use sort properly (might have helped
	  glob, too, of course).

2012-05-12 08:36  thor

	* NEWS: another stray newline

2012-05-12 08:36  thor

	* NEWS: stray newline

2012-05-09 19:21  thor

	* NEWS, src/wav.c: Fix wav writing to stdout, write_header shall
	  now return zero on success, not 1.

2012-05-06 22:45  thor

	* NEWS, configure.ac, src/libmpg123/parse.c: read_frame: Only store
	  oldhead after there can really nothing happen that makes the
	  current read invalid (think feeder API!).
	  
	  This fixes the recently unleashed bug of failing to signal a
	  format change that needs a bigger buffer (resulting in invalid
	  writes later on). The bug has been present all along, but hidden
	  by the old parser behaviour.

2012-05-06 21:47  thor

	* src/libmpg123/frame.c: intialize more (harmless anyway)

2012-05-01 00:00  thor

	* configure.ac: next is 1.15.0

2012-04-30 09:15  thor

	* NEWS, configure.ac, src/libmpg123/parse.c: less verbosity about
	  free format search

2012-04-30 08:26  thor

	* NEWS, configure.ac, src/libmpg123/libmpg123.c,
	  src/libmpg123/readers.c: Fix bogus stream end when in fact there
	  is no stream.
	  
	  Perhaps this also fixes other dubious false returns of
	  MPG123_DONE.

2012-04-30 08:15  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/readers.c: mh->rd is
	  either valid or a bad_reader

2012-04-30 07:40  thor

	* NEWS, man1/mpg123.1: document changes to be incorporated into the
	  late 1.14.0 release

2012-04-30 07:39  thor

	* NEWS.libmpg123, configure.ac, src/libmpg123/mpg123.h.in,
	  src/libmpg123/parse.c: Use MPG123_RESYNC_LIMIT to also increase
	  the amount of junk skipped on beginning.

2012-04-30 07:30  thor

	* configure.ac: Changes in lib behaviour.

2012-04-30 07:28  thor

	* src/libmpg123/readers.c: A bit less verbose debugging again.

2012-04-30 07:08  thor

	* src/libmpg123/parse.c, src/libmpg123/readers.c: debugging
	  verbosity

2012-04-30 06:51  thor

	* src/libmpg123/libmpg123.c: A track needs init if the first frame
	  has not been read.
	  
	  The weird logic of to_decode and fresh misfired when having
	  decoded the first frame already; and the "fresh" part does not
	  apply because we did actually start in the middle of the stream
	  (so no Lame tag as clear marker of change).
	  
	  Questions remain: Why don't I always return a header change on
	  first frame? Is this "fresh" frame property really useful?

2012-04-26 10:51  thor

	* configure.ac: Change the configure error for -Werror into a
	  warning.

2012-04-26 10:36  thor

	* NEWS: note SGI fix

2012-04-26 10:32  thor

	* NEWS, src/libmpg123/tabinit_mmx.S: Fix MMX tabinit syntax (needed
	  for non-gcc, and cleaner anyway).

2012-04-26 10:23  thor

	* NEWS: note about Windows wildcards

2012-04-26 10:05  thor

	* configure.ac, src/libmpg123/parse.c: Fix bogus error message when
	  hitting ID3 tag on end.
	  
	  We always call head_check() before decoding a header!

2012-04-26 07:57  thor

	* NEWS: mention API version

2012-04-24 05:58  thor

	* NEWS, src/term.c: document 10% jumps for terminal control

2012-04-24 05:30  thor

	* scripts/conplay, src/term.c: conplay: /usr/bin/env is more
	  common, changing the shebang accordingly
	  term.c: preliminary code to use the number row for jumping to
	  0..90% of the file in 10% steps

2012-04-22 23:17  thor

	* Makefile.am: fix typo con_play -> conplay

2012-04-22 23:04  thor

	* Makefile.am, NEWS, man1/mpg123.1, scripts/conplay, src/mpg123.c,
	  src/mpg123app.h, src/playlist.c: Add --continue mode, with
	  example script to utilize it.

2012-04-15 19:09  thor

	* src/output/sgi.c: Damn, the sgi output never worked in the module
	  world, finally we got somebody to acutally try it. This change
	  should make it build at all: replace ao->handle by ao->userptr.

2012-04-15 16:14  thor

	* src/output/sgi.c: an obvious typo in th sgi output

2012-04-11 06:41  thor

	* src/term.c: Note that pause/looping is not nice with the buffer.
	  
	  I don't intend to fix that anytime soon --- does anyone use that
	  feature anyway? Also, quick interaction and buffering are a bit
	  at odds by principle.

2012-04-10 17:26  thor

	* src/win32_support.c: Make style consistent. There were too many
	  mixups of tabs and spaces of differing count.
	  
	  Hopefully, I did not break it.

2012-04-10 16:55  jon_y

	* src/win32_support.c: Add missing __cdecl atrribute

2012-04-10 16:49  jon_y

	* src/win32_support.c: Use the obscure __wgetmainargs call rathar
	  than the conventional GetCommandLineW/CommandLineToArgvW calls
	  for wildcard expansion

2012-04-10 08:29  thor

	* src/mpg123.c: I am sure we meant WANT_WIN32_SOCKETS there.

2012-04-08 18:05  thor

	* NEWS: Resist the temptation: Only add behavioural changes for the
	  next release.

2012-04-08 06:42  thor

	* NEWS, src/mpg123.c: enable xterm title in quiet mode

2012-04-07 11:59  thor

	* ., NEWS, src/libmpg123/feature.c, src/libmpg123/ntom.c,
	  src/libmpg123/synth.c, src/libmpg123/synth.h,
	  src/libmpg123/synth_i486.c, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586_dither.S, src/libmpg123/synth_mmx.S,
	  src/libmpg123/synth_ntom.h, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/wavhead.h: note about another
	  bugfix release

2012-04-06 21:20  patr3ck

	* Makefile.am: Add also config.h and mpg123.h for Xcode support to
	  Makefile.am

2012-04-06 19:50  thor

	* NEWS: details

2012-04-06 19:49  thor

	* NEWS: shuffle

2012-04-06 19:38  thor

	* NEWS: mention doc changes

2012-04-06 19:36  thor

	* src/mpg123.c: Hide a not-yet-used function.

2012-04-06 19:31  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/control_generic.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in,
	  src/mpg123.c: Add and use mpg123_meta_free().

2012-04-06 18:49  thor

	* NEWS, doc/README.remote, src/control_generic.c: Add playlist
	  support to the remote interface.

2012-04-06 17:44  thor

	* AUTHORS, NEWS: mention sndio addition, little update to AUTHORS

2012-04-06 17:34  thor

	* Makefile.am, scripts/tag_lyrics.py: Publish the lyrics tagger,
	  why not?

2012-04-06 17:28  thor

	* NEWS: weaken the file writer out-of-disk statement

2012-04-06 17:27  thor

	* NEWS: update NEWS

2012-04-06 17:27  thor

	* Makefile.am: Add Xcode project file to dist.

2012-04-06 17:24  thor

	* src/metaprint.c, src/mpg123.c, src/mpg123app.h: Add printout of
	  lyrics, triggered by --lyrics on command line.

2012-04-06 17:22  thor

	* scripts/tag_lyrics.py: Add a little script to create test files
	  with lyrics.

2012-04-06 17:04  thor

	* doc/examples/id3dump.c: Also print out description for generic
	  text fields.

2012-04-06 14:44  thor

	* src/mpg123.c, src/mpg123app.h, src/playlist.c: introduce a common
	  data field for various application flags

2012-04-06 13:49  thor

	* doc/examples/id3dump.c: also print language of texts

2012-04-03 20:15  patr3ck

	* NEWS, ports/README, ports/Xcode, ports/Xcode/config.h,
	  ports/Xcode/mpg123.h, ports/Xcode/mpg123.xcodeproj,
	  ports/Xcode/mpg123.xcodeproj/project.pbxproj: New Xcode project
	  to build libmpg123 for Mac OS and iOS.

2012-04-03 07:57  thor

	* NEWS: note about the out-of-disk issue

2012-04-03 07:57  thor

	* ., NEWS, configure.ac, src/libmpg123/feature.c,
	  src/libmpg123/ntom.c, src/libmpg123/synth.c,
	  src/libmpg123/synth.h, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_ntom.h,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c,
	  src/module.c, src/wavhead.h: import endless loop fix for module
	  loader

2012-04-03 07:46  thor

	* src/audio.c, src/wav.c: At least detect some out-of-disk
	  situations in audio file writing.
	  
	  But there are limits by our API choice to have no return value
	  evaluation from wav_close and friends. Also I chose not to add
	  deletion of created empty files. This would complicate the code,
	  which currently does forget the file name very early, and also
	  could result in undesired behaviour in case a file existed
	  already (as a placeholder, for example) or if we are not dealing
	  with a normal file at all.
	  
	  I think mpg123 should not go around and try to delete files, even
	  if it sometimes pointlessly created one.

2012-04-03 07:09  thor

	* src/wav.c: the endianness typo fix delayed

2012-03-31 22:38  thor

	* man1/mpg123.1: Another fix from quadrispro, man page syntax this
	  time (sf.net bug 3513584).

2012-03-31 22:35  thor

	* src/audio.c: Undo another change that got pushed prematurely.

2012-03-31 22:34  thor

	* src/wav.c: Undo accidentally committed changes that got pushed
	  with the spelling fixes.

2012-03-31 22:31  thor

	* man1/mpg123.1, src/audio.c, src/control_generic.c, src/genre.c,
	  src/libmpg123/format.c, src/libmpg123/id3.c, src/mpg123.c,
	  src/wav.c: Some spelling fixes by quadrispro (sf.net bug
	  3513583).

2012-03-25 15:24  thor

	* src/libmpg123/optimize.c: The 3DNow and 3DNowExt dct36 routines
	  are actually hurting performance on a Duron. Disabling them for
	  multi builds for now; more investigation on other AMD CPUs needed
	  to confirm, or, more work to actually make them fast (again).

2012-03-25 10:57  thor

	* src/term.c: fix dumb breakage of uppercase terminal control keys

2012-03-21 12:51  thor

	* src/libmpg123/layer3.c: Special reason to keep the table data
	  types that large? Reducing some to char/short. Also simplified
	  pretab to use an index instead of two fields and a conditional
	  (as seen in ffmpeg).
	  
	  Doesn't seem to have discernible effects on x86-64, but feels
	  better.

2012-03-19 22:19  jon_y

	* src/mpg123.c: Avoid using pthreads-win32 for windows builds,
	  win32 API is already used.

2012-03-15 09:15  thor

	* INSTALL: Update INSTALL, for example stop mentioning the
	  non-existant legacy build.

2012-03-15 08:51  thor

	* src/libmpg123/icy.h, src/libmpg123/readers.c: fix non-icy build

2012-03-07 08:22  thor

	* NEWS, configure.ac, src/libmpg123/id3.c: bug 3498351: ID3v2.2
	  frame names need an earlier termination before printing.
	  
	  Worst case was printing of a strange character to the terminal,
	  no buffer overflow or such...

2012-03-05 18:31  thor

	* doc/Makefile.am, doc/doxy_examples.c: Include the extract_frames
	  example properly.

2012-03-04 22:56  thor

	* NEWS: Incorporate parallel release of 1.13.5.

2012-02-29 17:05  thor

	* src/libmpg123/mpg123.h.in: Make the parm values explicit, there
	  _might_ be a compiler that does not start at zero.

2012-02-29 12:49  thor

	* man1/mpg123.1: add encoding parameters to manpage

2012-02-29 12:00  thor

	* ., NEWS, src/libmpg123/Makefile.am, src/libmpg123/feature.c,
	  src/libmpg123/ntom.c, src/libmpg123/synth.c,
	  src/libmpg123/synth.h, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_ntom.h,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c,
	  src/wavhead.h: import addition of gapless.h

2012-02-29 11:52  thor

	* ., NEWS, src/libmpg123/feature.c, src/libmpg123/frame.c,
	  src/libmpg123/ntom.c, src/libmpg123/synth.c,
	  src/libmpg123/synth.h, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_ntom.h,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c,
	  src/wavhead.h: import one semicolon

2012-02-29 11:40  thor

	* NEWS, configure.ac, src/libmpg123/sample.h: Add the new/old
	  WRITE_SAMPLE for good. Testing on x86-64 does not show benefits,
	  a slight decrese in performance, even. But in 32 bit mode it
	  works a treat (huge benefit on an old Duron, disregarding the
	  availability of 3DNowExt).

2012-02-29 11:01  thor

	* src/libmpg123/sample.h: a little experiment for new old
	  WRITE_SAMPLE

2012-02-29 10:36  thor

	* NEWS, configure.ac, src/libmpg123/layer3.c: Avoid complaints
	  about bit reservoir when we are ignoring frames.

2012-02-29 10:31  thor

	* NEWS, configure.ac, src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/gapless.h, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/parse.c, src/mpg123.c:
	  Proper (?) support for Frankenstein streams.

2012-02-28 23:03  thor

	* NEWS: do not forget WRITE_SAMPLE

2012-02-28 19:03  thor

	* NEWS, configure.ac, src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/parse.c: Another
	  approach at concatenated streams: Storing the number of bytes we
	  expect from the Xing header, then trigger inaccurate mode when
	  those bytes ran out but there are still MPEG frames coming.

2012-02-28 18:31  thor

	* TODO: old TODO

2012-02-28 18:20  thor

	* NEWS, configure.ac, src/libmpg123/parse.c: Lame version check
	  with preamp for automatic gain values.

2012-02-28 17:58  thor

	* NEWS, configure.ac, src/libmpg123/parse.c: Fixing a typo from the
	  beginning: 9 bytes is 0x1ff, not 0x1f!
	  
	  Now we get the correct values from Lame's ReplayGain calculation.

2012-02-28 15:51  thor

	* NEWS, configure.ac, src/libmpg123/parse.c: Fix embarrassing typo
	  in the Info tag parser: Audiophile gain was written to the spot
	  of the radio gain! This is only offset by the fact that the Info
	  header usually never contains an audiophile gain. At least I
	  haven't encountered a file with that yet.

2012-02-21 19:55  patr3ck

	* src/libmpg123/frame.c: Fix a crash when accessing the
	  uninitialized rdata

2012-02-06 00:06  thor

	* NEWS.libmpg123, configure.ac, src/libmpg123/format.c,
	  src/libmpg123/frame.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in: Add MPG123_AUTO_RESAMPLE flag to be
	  able to disable automatic resampling (and thus have more security
	  about output buffer size need not chaniging suddenly).

2012-02-05 23:40  thor

	* configure.ac, src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c: Hacking around with the frame output
	  buffer: Try to be minimalistic, lazy allocating. Replacement
	  buffers are accepted at all sizes, just too small ones will throw
	  error on decoding.
	  
	  It did not check the procedure of a client getting size error,
	  then providing a new buffer, trying to decode again.
	  
	  Oh, and while I was at it: I aligned the output buffer to 16
	  bytes. Figure that this might possibly help some optimized memcpy
	  and, well, generally.

2012-02-05 23:33  thor

	* src/mpg123.c: Fix pedantic UNIX build by keeping Win32 specific
	  stuff confined. Win32 folks: Please verify.

2012-02-05 03:02  thor

	* src/libmpg123/parse.c: Fix stupid bug that occures when the
	  feeder gets pre-cut frames: Do not cut off first header after
	  failed read-ahead check.

2012-02-05 02:17  thor

	* src/libmpg123/parse.c: typo

2012-01-25 08:44  thor

	* src/libmpg123/mangle.h: Document the ALIGN macros so that I don't
	  throw wrong numbers around by accident again.

2012-01-24 22:02  patr3ck

	* src/libmpg123/synth_neon.S, src/libmpg123/synth_neon_float.S,
	  src/libmpg123/synth_neon_s32.S,
	  src/libmpg123/synth_stereo_neon.S,
	  src/libmpg123/synth_stereo_neon_float.S,
	  src/libmpg123/synth_stereo_neon_s32.S: On the arm platform the
	  synth functions should be 4-byte aligned

2012-01-22 01:52  thor

	* configure.ac: more cleanup for Dan: less confusion for syntax
	  highlighters and (untested, but plausible) fixup of arm_nofpu ---
	  we need testing for the latter!

2012-01-18 21:35  thor

	* AUTHORS, src/libmpg123/huffman.h, src/libmpg123/layer3.c: Adding
	  patch for more const tables by Dan McGee <dpmcgee@gmail.com>.

2012-01-18 21:07  patr3ck

	* Makefile.am: Add VS2010 project files to distribution

2012-01-18 14:16  patr3ck

	* ports/MSVC++/mpg123.h: Improve compatibility with VS2010
	  Patch provided by Charles Van Winkle, cvanwink at adobe dot com

2011-12-04 19:31  thor

	* src/libmpg123/parse.c: Fix bogus error in frame readahead, it's
	  NEED_MORE.

2011-10-08 14:31  jon_y

	* src/libmpg123/lfs_wrap.c: Fix copy and paste typo in
	  mpg123_framepos.

2011-09-30 19:50  taihei

	* src/libmpg123/mpg123lib_intern.h: - fixed an invalid syntax in
	  the arm inline asm code
	  - removed garbage characters in the constraint list of the inline
	  asm code

2011-09-07 21:49  thor

	* NEWS, configure.ac, src/libmpg123/parse.c: Include that fix for
	  bug 3393801 that prompted version 1.13.4 .

2011-08-24 20:40  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/reader.h,
	  src/libmpg123/readers.c: Add MPG123_BUFFERFILL and update NEWS.

2011-08-24 19:42  thor

	* configure.ac, src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/reader.h,
	  src/libmpg123/readers.c: Fix build with NO_FEEDER.

2011-08-09 07:52  thor

	* windows-builds.sh: Create that plugin dir!

2011-07-25 12:34  thor

	* doc/examples/mpg123_to_wav.c: Check written sample count, catches
	  bad buffer sizes that drop bytes.

2011-07-25 12:14  thor

	* doc/examples/mpg123_to_wav.c: Hack option to use float output and
	  force a buffer size for debugging mpg123_read() usage of
	  libmpg123.

2011-06-22 09:28  thor

	* doc/doxygen.conf: really add that example

2011-06-22 09:23  thor

	* doc/doxy_examples.c: Add feedseek example to API docs.

2011-06-18 15:00  jon_y

	* src/mpg123.c, src/wav.c: Fix unicode filename writing on win32.

2011-06-18 14:59  jon_y

	* src/win32_net.c: Fix debug compile.

2011-05-20 06:25  thor

	* NEWS, src/httpget.c: Try to use application/octet-stream from
	  HTTP as MPEG audio data ... same as is tried with any given file
	  on disk.

2011-04-28 16:01  thor

	* NEWS, NEWS.libmpg123, configure.ac: Document the recent API
	  changes.

2011-04-28 15:58  thor

	* src/libmpg123/lfs_alias.c: The LFS alias of off_t is long, not
	  int!

2011-04-28 15:57  thor

	* ., NEWS, src/libmpg123/feature.c, src/libmpg123/frame.c,
	  src/libmpg123/frame.h, src/libmpg123/lfs_alias.c,
	  src/libmpg123/lfs_wrap.c, src/libmpg123/mpg123.h.in,
	  src/libmpg123/ntom.c, src/libmpg123/parse.c,
	  src/libmpg123/synth.c, src/libmpg123/synth.h,
	  src/libmpg123/synth_i486.c, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586_dither.S, src/libmpg123/synth_mmx.S,
	  src/libmpg123/synth_ntom.h, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/wavhead.h: Merge in
	  mpg123_framepos().

2011-04-26 23:57  thor

	* src/tests/seek_accuracy.c: Give some freedom to rounding errors
	  in sample comparison.

2011-04-26 23:33  thor

	* src/tests/seek_accuracy.c: Don't be so paranoid: Let the test
	  only find an error when it failed to fetch a sample.
	  
	  One of these days I'll have to think about returning
	  MPG123_NEED_MORE after a scan already noted that the last frame
	  is partial ...

2011-04-23 19:02  thor

	* src/libmpg123/mpg123.h.in, src/libmpg123/parse.c: Adding API to
	  get the number of samples the decoding of the current frame would
	  ideally yield (without gapless fun).

2011-04-21 17:10  thor

	* src/output/sndio.c: Including patch from bug 3273121 for adding
	  31 bit integer output to sndio.
	  
	  Note: I cannot test this myself. Would need a BSD install...
	  time.

2011-04-21 16:03  thor

	* NEWS: Add NEWS for 1.13.3

2011-04-17 09:19  thor

	* configure.ac: The last change is a library patch.

2011-04-17 09:16  thor

	* src/libmpg123/frame.c: bug 3288360: don't just assume that long
	  is 32 bits for OPT_ARM ...

2011-04-17 08:25  thor

	* src/resolver.c: bug 3288333: Indeed, that is no address count,
	  that's a simple return code. Let's interpret getaddrinfo return
	  correctly.
	  
	  I wonder where the idea of addrcount came from ... I don't see
	  that suggested in the man page on GNU/Linux.

2011-04-17 08:24  thor

	* NEWS: Add note to import NEWS from 1.13.3 when the time comes.

2011-04-05 09:02  thor

	* src/libmpg123/parse.c: Starting to divide read_frame into parts,
	  aiming at a somewhat bearable future.
	  
	  This modifies appearance and logic, too. The change in logic was
	  the motivation: Fixing bug 3267863. Change in appearance just is
	  necessary; we need to get parse.c into a manageable shape.

2011-04-03 07:48  thor

	* src/libmpg123/parse.c: OK, enable nagging mode to build again by
	  disabling the gain_offset but adding a runtime warning to prompt
	  me to fix the lame version detection.

2011-04-03 07:47  thor

	* src/term.c: Make that function void.

2011-04-03 07:47  thor

	* src/output/oss.c: Remove the obsolete SAMPLESIZE call altogether,
	  also the corresponding variable (triggered a warning in gcc 4.6).

2011-03-27 08:15  thor

	* src/mpg123app.h, src/term.c: Cosmetics.

2011-03-27 07:43  thor

	* NEWS: Add the signal usage to NEWS.

2011-03-27 07:42  thor

	* src/audio.c, src/mpg123.c, src/mpg123app.h, src/term.c,
	  src/term.h: Make the terminal control also include input from
	  SIGUSR1 and SIGUSR2, configurable via --ctrlusr1 and --ctrlusr2.
	  
	  Actually, that is a hint to separate the control code from the
	  terminal ... plain mpg123 can use those signals, too. Also this
	  can be merged with the generic control and fifo sucking. But then
	  ... are we coding a simple decoder ore a sophisticated media
	  player? That's a question one might have posed ten years ago...

2011-03-12 19:24  thor

	* src/libmpg123/mpg123.h.in: Fix a function name in dox.

2011-03-12 19:21  thor

	* configure.ac, src/libmpg123/readers.c: Right, no variable buffers
	  on the stack with C90.

2011-03-12 19:01  thor

	* doc/examples/Makefile, doc/examples/extract_frames.c: Add example
	  code to exercise mpg123_framedata: An MPEG stream cleaner (just
	  extracting all valid frames).
	  
	  Also updating the examples Makefile a bit.

2011-03-12 18:56  thor

	* NEWS.libmpg123, configure.ac, src/libmpg123/frame.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/parse.c: Added
	  mpg123_framedata(), one small but important step towards raw API
	  equivalence.

2011-03-12 17:50  thor

	* NEWS.libmpg123: A.

2011-03-12 17:50  thor

	* NEWS.libmpg123: Document API version 29.

2011-03-12 17:13  thor

	* configure.ac, src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in,
	  src/libmpg123/reader.h, src/libmpg123/readers.c: Adding tunable
	  feed buffer pool, to avoid malloc/free all the time. See
	  MPG123_FEEDPOOL and MPG123_FEEDBUFFER.
	  
	  Note that this doesn't seem to bring direct benefit on GNU/Linux
	  or Solaris (the latter perhaps in a multithreaded environment),
	  but can be calming for people to have 18 mallocs instead of 360
	  for decoding an mpeg file. The other aspect is that you now
	  actually can tune the minimal size of the feeder buffers, which
	  can have some effect (if they are too small, at least). Also,
	  this does only have relevance to the feeder API and the internal
	  buffering of non-seekable streams, as that uses the same
	  buffering code.

2011-03-12 16:16  jon_y

	* doc/examples/mpglib.c: Use binary IO for stdin/stdout.

2011-03-12 00:08  thor

	* src/libmpg123/parse.c: Oh, dear, the crap I crap out when I crap
	  out. Un-broke mpg123 again with resolving a typo (it did still
	  compile, dammit) and a missing return value.

2011-03-12 00:07  thor

	* src/libmpg123/mpeghead.h: Quote some /* in the Perl code.

2011-03-06 11:06  thor

	* src/libmpg123/parse.c: Clarification about CRC not being an issue
	  for lame tags, a bit of refactor to extract the halfspeed hack
	  details out of read_frame().

2011-03-06 11:05  thor

	* src/libmpg123/layer3.c: Remove the "nasty file" hack and also
	  clean up the proper solution to prevent region1 > region2.
	  
	  The hack was dead code since 2008, bug 1641196 really being
	  history.

2011-03-06 10:58  thor

	* doc/parse_refactor.txt: Read ahead.

2011-03-05 10:47  thor

	* doc/parse_refactor.txt: Note about free format and seeking.

2011-03-05 10:44  thor

	* src/libmpg123/mpeghead.h: More explicit warning against manual
	  hacking.

2011-03-05 10:29  thor

	* src/mpg123.c: Do not pollute stdout with that extra line end for
	  updated header info!

2011-03-05 10:28  thor

	* src/libmpg123/mpeghead.h, src/libmpg123/parse.c: Simplified free
	  format frame size search: Just compare the important bits of the
	  prospective following header.

2011-03-05 09:26  thor

	* src/libmpg123/Makefile.am, src/libmpg123/frame.h,
	  src/libmpg123/mpeghead.h, src/libmpg123/parse.c: Taking some
	  insanity out of the parser: Central definition of MPEG header bit
	  masks and shifts.

2011-03-05 09:24  thor

	* doc/parse_refactor.txt: A remark and a typo.

2011-03-01 08:00  thor

	* doc/parse_refactor.txt: More about upcoming parser structure.

2011-02-26 09:57  thor

	* doc/parse_refactor.txt: Thoughts about cleaning up central parts
	  of the operation ... probably to arrive at something he raw API
	  wanted to be.

2011-02-24 11:23  jon_y

	* configure.ac, ports/Sony_PSP/config.h, src/libmpg123/debug.h:
	  Rename NO_ERROR macro to NO_ERRORMSG, patch by Ozkan Sezer.

2011-02-19 23:33  thor

	* NEWS, src/libmpg123/libmpg123.c: An idea to get to the
	  concatenated-stream-with-rogure-gapless-info issue.
	  
	  But no solution. This hack breaks mpg123 in other ways.

2011-02-19 19:11  thor

	* NEWS: Including JonY's autoconf silencer in 1.13.2 .

2011-02-19 18:57  thor

	* NEWS: Preparing the NEWS for the to-be 1.13.2 ... remember: I am
	  going to merge in the following revisions:
	  
	  2827, 2828, 2829, 2842, 2843, 2846, 2850, 2851, 2858, 2868

2011-02-19 15:03  patr3ck

	* ports/MSVC++/2008clr/mpg123clr/AssemblyInfo.cpp,
	  ports/MSVC++/2008clr/mpg123clr/ReadMe.txt,
	  ports/MSVC++/2008clr/mpg123clr/enum.h,
	  ports/MSVC++/2008clr/mpg123clr/mpg123clr.cpp,
	  ports/MSVC++/2008clr/mpg123clr/mpg123clr.h,
	  ports/MSVC++/2008clr/mpg123clr/mpg123clr.rc,
	  ports/MSVC++/2008clr/mpg123clr/string.cpp,
	  ports/MSVC++/2008clr/mpg123clr/string.h: Add support for 1.13
	  features to .NET wrapper.
	  MPG123_SKIP_ID3V2, encsize and mpg123_strlen functions
	  Patch provided by Malcolm Boczek, mboczek at cfindustries dot com

2011-02-14 07:42  thor

	* doc/doxy_examples.c: More specific description of mpglib.c .

2011-02-12 19:03  thor

	* configure.ac, src/libmpg123/libmpg123.c, src/libmpg123/parse.c:
	  Prevent too early calling of decode_update. This triggered a
	  segfault when calling mpg123_decoder() before having decoded
	  something already.
	  
	  It is apparent that I already marked the concerned code for some
	  needed revision a long time ago... Yes, libmpg123.c needs some
	  cleanup. When? Who knows...

2011-02-09 09:36  thor

	* src/libmpg123/mpg123.h.in: Add more description to the format
	  stuff ... hopefully that helps people to avoid the usual
	  misconceptions.

2011-02-09 09:10  thor

	* src/mpg123.c: Repeat MPEG header on console on each format
	  change. Format changes usually are because of header changes...

2011-02-09 09:09  thor

	* configure.ac: The last change means patchlevel.

2011-02-09 09:09  thor

	* src/libmpg123/parse.c: Fix header sample rate comparison to look
	  for MPEG version changes. Not layer, version.
	  
	  This fixes playback of certain (artificial) concatenated mp3
	  streams with differing sampling rates by communicating the
	  sampling rate changes properly.

2011-02-07 09:12  thor

	* src/libmpg123/format.c: Fix build warning without 32/24 bit
	  output formats by omitting the unused byte chopping function.

2011-01-30 10:43  patr3ck

	* src/libmpg123/format.c: Fix the signed / unsigned warning
	  correctly

2011-01-30 10:01  patr3ck

	* src/libmpg123/format.c: Fix two signed / unsigned warnings given
	  by MSVC++

2011-01-30 00:39  jon_y

	* configure.ac: Use AC_LANG_SOURCE correctly in AC_LINK_IFELSE.

2011-01-29 14:16  jon_y

	* src/win32_support.c: Reorder code so WaitForSingleObjectEx only
	  used when reconnecting.

2011-01-29 13:42  jon_y

	* src/win32_support.c: Add more debugging codes.

2011-01-29 13:25  jon_y

	* src/win32_support.c: Add more debugging codes.

2011-01-29 11:35  jon_y

	* src/libmpg123/compat.c, src/libmpg123/compat.h,
	  src/win32_support.c: Simplify and harden utf-16/utf-8 conversion
	  routines for windows.

2011-01-29 06:11  jon_y

	* src/control_generic.c, src/win32_support.c, src/win32_support.h:
	  Fix live lock on FIFO.

2011-01-29 05:33  jon_y

	* src/control_generic.c, src/win32_support.c, src/win32_support.h:
	  Non blocking pipe fifo for Windows.

2011-01-29 04:25  jon_y

	* src/win32_support.c: Move printfs into debug print, return mkfifo
	  early if out of memory.

2011-01-28 14:58  jon_y

	* configure.ac, src/control_generic.c, src/mpg123.c,
	  src/win32_support.c, src/win32_support.h: Preliminary FIFO
	  support for windows.

2011-01-12 18:45  thor

	* src/audio.c: Only try to apply pitch if there is a current audio
	  format.
	  
	  This is a first measure to circumvent the regression bug 3154889,
	  introduced in 1.12.2 because of the track closing safeguard which
	  resets data like the file sample rate...

2011-01-08 09:36  thor

	* doc/examples/feedseek.c, doc/examples/mpg123_to_wav.c: Fix a
	  memory leak each. Examples should'n have those... even if it is
	  just on death because of error.

2011-01-08 09:30  thor

	* src/module.c: Fix a little memory leak with module_type.

2011-01-06 08:57  thor

	* NEWS: typo in NEWS

2011-01-06 08:54  thor

	* configure.ac: increment library patchlevel for the recent fixes

2011-01-05 13:03  thor

	* NEWS, src/libmpg123/parse.c: Allow variation of the private
	  header bit.

2011-01-05 13:02  thor

	* NEWS, src/libmpg123/format.c: Fix MPG123_FORCE_FLOAT and
	  MPG123_FORCE_8BIT (bug 3151597).

2010-12-21 08:33  thor

	* NEWS, src/mpg123.c: Added --ignore-streamlenght to work around
	  certain web streams.

2010-12-08 10:59  thor

	* NEWS: NEWS fixup

2010-12-07 11:34  thor

	* ports/README: A note about port bitrot.

2010-12-02 14:23  thor

	* NEWS, configure.ac, src/libmpg123/Makefile.am,
	  src/libmpg123/aligncheck.h, src/libmpg123/lfs_wrap.c,
	  src/libmpg123/libmpg123.c: Remove the alignment checks.

2010-10-25 09:51  jon_y

	* src/libmpg123/compat.c: Replace __MSVCRT__ check with
	  (defined(WIN32) && !defined (__CYGWIN__)).

2010-10-24 17:24  thor

	* configure.ac, src/libmpg123/format.c, src/output/alsa.c: Add
	  endian detection to configure script to support the 24 bit
	  chopping; fix up the ALSA output. There's S24 and S24_3; that was
	  my mistake.

2010-10-24 16:42  jon_y

	* src/libmpg123/compat.c: Fixup _open usage.

2010-10-24 16:42  jon_y

	* configure.ac: Make cygwin not use alias automatically.

2010-10-24 12:51  thor

	* src/output/alsa.c, windows-builds.sh: fix plugdir for windows
	  script, was accidentally deleted

2010-10-24 12:31  thor

	* src/streamdump.c: use compat_close, remove debugging line

2010-10-24 12:25  thor

	* src/libmpg123/compat.c, src/libmpg123/compat.h, src/streamdump.c:
	  Hide the file permission mode mask from win32, use compat_open()
	  in streamdump.
	  
	  Also, fix the naming of the compat_open() second parameter. It's
	  flags, not mode.

2010-10-24 11:42  thor

	* src/audio.c, src/wav.c: Add signed 24 bit WAV output. ALSA still
	  behaves weird, though.

2010-10-23 22:29  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/audio.c,
	  src/libmpg123/format.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/optimize.c, src/output/alsa.c: Initial support for
	  24 bit integer output (truncation of 32 bit).

2010-10-18 01:03  thor

	* NEWS: Add more to that growing NEWS for the next release.
	  
	  There grows some suspicion that again, we got too much useful
	  stuff accumulated to wait for raw API things getting merged:-/

2010-10-18 00:59  thor

	* configure.ac, src/module.c, windows-builds.sh: Add
	  --with-module-suffix to configure to give a way out of libtool
	  hell with those sometimes pesky .la files.
	  
	  One application is to drop .la files in the windows build script,
	  directly loading .dlls (testing needed).

2010-10-18 00:36  thor

	* configure.ac: At least bump the patchlevel for the new assembly
	  fun.

2010-10-17 08:37  taihei

	* configure.ac, src/libmpg123/Makefile.am,
	  src/libmpg123/dct64_neon.S, src/libmpg123/dct64_neon_float.S,
	  src/libmpg123/decode.h, src/libmpg123/intsym.h,
	  src/libmpg123/optimize.c, src/libmpg123/optimize.h,
	  src/libmpg123/synth.c, src/libmpg123/synth_neon.S,
	  src/libmpg123/synth_neon_accurate.S,
	  src/libmpg123/synth_neon_float.S, src/libmpg123/synth_neon_s32.S,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c,
	  src/libmpg123/synth_stereo_neon.S,
	  src/libmpg123/synth_stereo_neon_accurate.S,
	  src/libmpg123/synth_stereo_neon_float.S,
	  src/libmpg123/synth_stereo_neon_s32.S, src/libmpg123/tabinit.c:
	  Introducing a brand-new ARM NEON optimization stuff

2010-10-04 06:30  thor

	* NEWS, configure.ac, src/metaprint.c: Fix a buffer overflow in
	  utf8_ascii(), introduced with the change to use mpg123_strlen()
	  -- where it's not appropriate.

2010-10-04 06:19  thor

	* NEWS: Add the news for 1.12.4 .

2010-09-23 17:14  jon_y

	* configure.ac: Switch most grep to $GREP, fixed for busybox
	  systems.

2010-08-20 09:23  thor

	* src/metaprint.c: Don't chop off the last character in non-UTF-8
	  output.

2010-08-19 09:16  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/mpg123.h.in,
	  src/libmpg123/stringbuf.c, src/metaprint.c: Fix formatting of
	  output with UTF-8 strings, mainly via introduction of
	  mpg123_strlen().
	  
	  This is debian bug 516510 ... I don't quite remember being
	  notified about this one, just stumbled over it (again?).
	  Open question: Should one rather filter terminal escape sequences
	  / non-printing characters in general?

2010-08-15 19:01  thor

	* NEWS: Another spelling change.

2010-08-15 19:01  thor

	* scripts/benchmark-cpu.pl: Consistency: US English "optimization".

2010-08-15 18:58  thor

	* README, configure.ac: Some orthography fixes by "western". Yes,
	  he really read the README! ;-)

2010-08-15 18:57  thor

	* src/libmpg123/id3.c: Silence id3.c when the reading error is
	  actuall MPG123_NEED_MORE.

2010-07-17 14:26  jon_y

	* configure.ac: Fix typo

2010-07-06 07:06  thor

	* src/libmpg123/id3.h: Fix NO_ID3V2 for the renamed internal
	  symbols.

2010-07-06 06:49  thor

	* configure.ac, src/libmpg123/id3.c: Move a variable into the
	  #ifndef NO_ID3V2 block, fixing a warning (bug 3025665).

2010-07-04 22:10  thor

	* NEWS, configure.ac, src/libmpg123/readers.c: Fixing bug 3022850,
	  preparing 1.12.3 release for that.

2010-06-30 06:41  thor

	* src/libmpg123/readers.c: Yeah, I was not awake. The ICY streams
	  need to have seeking disabled from the beginning.

2010-06-29 22:03  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/readers.c,
	  src/mpg123.c, src/mpg123app.h: Added --icy-interval and tried to
	  make it work ... but doesn't work with stream dumps yet.

2010-06-29 21:28  thor

	* NEWS, src/Makefile.am, src/mpg123.c, src/mpg123app.h,
	  src/streamdump.c, src/streamdump.h: Adding --streamdump to get a
	  copy of mpg123's input data.
	  
	  This shall help debugging those pesky bugs between http/icecast
	  servers and mpg123.

2010-06-22 22:41  thor

	* src/output/jack.c: Mark the FIXMEs in the JACK output: We need to
	  take care of audio stuffed into the ringbuffer... of the problems
	  on Mac and win32 are similar?

2010-06-22 22:03  thor

	* ChangeLog: Autotools want a ChangeLog file unless specially
	  configured to be less strict. So give 'em that, but without any
	  intention to put the real ChangeLog back in there for releases.

2010-06-20 20:16  thor

	* ChangeLog, NEWS: Remove ChangeLog... no added value, really.

2010-06-20 15:04  patr3ck

	* Makefile.am: Add clr examples to distribution tarball

2010-06-20 08:40  patr3ck

	* Makefile.am: Prevent early line ending

2010-06-18 06:55  thor

	* ., src/libmpg123/feature.c, src/libmpg123/lfs_alias.c,
	  src/libmpg123/ntom.c, src/libmpg123/synth.c,
	  src/libmpg123/synth.h, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_ntom.h,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c,
	  src/wavhead.h: fix the bad merge of lfs_alias.c

2010-06-18 06:51  thor

	* NEWS: import message about clr

2010-06-18 06:43  thor

	* ., INSTALL, NEWS, configure.ac, src/libmpg123/dct36_3dnow.S,
	  src/libmpg123/dct36_3dnowext.S, src/libmpg123/dct64_3dnow.S,
	  src/libmpg123/dct64_3dnowext.S, src/libmpg123/dct64_mmx.S,
	  src/libmpg123/dct64_sse.S, src/libmpg123/dct64_sse_float.S,
	  src/libmpg123/dct64_x86_64.S, src/libmpg123/dct64_x86_64_float.S,
	  src/libmpg123/equalizer_3dnow.S, src/libmpg123/feature.c,
	  src/libmpg123/getcpuflags.S, src/libmpg123/lfs_alias.c,
	  src/libmpg123/mangle.h, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/ntom.c, src/libmpg123/synth.c,
	  src/libmpg123/synth.h, src/libmpg123/synth_3dnow.S,
	  src/libmpg123/synth_3dnowext.S, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_ntom.h,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c,
	  src/libmpg123/synth_sse.S, src/libmpg123/synth_sse3d.h,
	  src/libmpg123/synth_sse_accurate.S,
	  src/libmpg123/synth_sse_float.S, src/libmpg123/synth_sse_s32.S,
	  src/libmpg123/synth_stereo_sse_accurate.S,
	  src/libmpg123/synth_stereo_sse_float.S,
	  src/libmpg123/synth_stereo_sse_s32.S,
	  src/libmpg123/synth_stereo_x86_64.S,
	  src/libmpg123/synth_stereo_x86_64_accurate.S,
	  src/libmpg123/synth_stereo_x86_64_float.S,
	  src/libmpg123/synth_stereo_x86_64_s32.S,
	  src/libmpg123/synth_x86_64.S,
	  src/libmpg123/synth_x86_64_accurate.S,
	  src/libmpg123/synth_x86_64_float.S,
	  src/libmpg123/synth_x86_64_s32.S, src/libmpg123/tabinit_mmx.S,
	  src/output/alsa.c, src/wavhead.h: Merge in the poratbility
	  enhancements from the 1.12.2 tag (yes, it's more of a branch
	  now).
	  
	  Main things are the dual-way of LFS aliases, the move of the
	  nonexec-stack markers into mangle.h.

2010-06-17 18:29  patr3ck

	* Makefile.am: Add the .NET wrapper to the tarball

2010-06-13 11:14  thor

	* NEWS: Note upcoming removal of the aligned(..) cruft.

2010-06-08 09:33  patr3ck

	* src/libmpg123/format.c: Remove const from encoding parameter of
	  the mpg123_encsize function to make it match the declaration.
	  This fixes a warning using MSVC++.

2010-06-08 09:06  thor

	* src/libmpg123/format.c, src/libmpg123/mpg123.h.in: Don't define
	  const int parameter in the header, but still use it in the
	  implementation (since, the function is not supposed to change the
	  value).

2010-06-08 09:06  thor

	* src/libmpg123/optimize.c: Don't define cpu_flags as variable
	  that's never used.

2010-06-08 09:05  thor

	* src/libmpg123/mangle.h: An attempt to rationalize mangle.h facing
	  trouble the Sun compiler has with the code... but to no avail,
	  yet:
	  It defines __USER_LABEL_PREFIX__ to an empty value on Linux ...
	  which leaves ## in the code instead of concatenation with
	  nothing.
	  
	  Plus, the Sun compiler chokes on the GNU exec stack section...
	  fun never stops.

2010-06-06 23:53  thor

	* NEWS: That news was missing: 3DNow builds fixed.

2010-06-06 08:29  thor

	* doc/examples/Makefile, doc/examples/mpg123_to_wav_replaced_io.c:
	  Add example for replaced handle I/O.

2010-06-06 08:29  thor

	* configure.ac: Increase patchlevel of the library.

2010-06-06 08:27  thor

	* NEWS, src/libmpg123/lfs_wrap.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/parse.c: Fix the LFS-wrapped handle I/O by ensuring
	  that frame_reset is called on mpg123_close (hybrid_bcl went in
	  uninitialized and wrecked havoc).
	  
	  This fixes the crashes xulfer encountered (at least his test case
	  suggests that).

2010-06-05 23:35  thor

	* src/libmpg123/mpg123.h.in: Close the comment to enable the
	  definition of mpg123_encsize().

2010-06-04 00:21  thor

	* NEWS, configure.ac, src/libmpg123/libmpg123.c: Fix return values
	  of getformat (didn't route anything but MPG123_ERR).

2010-05-29 23:33  thor

	* src/libmpg123/lfs_alias.c: Remove bogus macro value. Harmless.
	  Hopefully.

2010-05-29 23:19  thor

	* src/libmpg123/lfs_alias.c: Add missing _64 aliases for open
	  functions.

2010-05-29 23:07  thor

	* src/libmpg123/frame.h, src/libmpg123/optimize.c,
	  src/libmpg123/optimize.h: Fix 3dnowext_alone (and 3dnow) build.

2010-05-29 14:24  thor

	* doc/libmpg123_speed.txt: Insights about K6-3+ performance...
	  namely the miracle of improved 3DNowExt for combined builds since
	  mpg123 1.8 .

2010-05-26 10:07  jon_y

	* src/libmpg123/mangle.h: Use __USER_LABEL_PREFIX__ and prevent
	  WIN64 from using "_" prefixed asm symbols

2010-05-25 20:43  patr3ck

	* src/libmpg123/mangle.h: Fix compile time error because of typo

2010-05-25 20:36  thor

	* src/libmpg123/mangle.h: Fix macro concatenation in mangle.h .

2010-05-23 21:04  patr3ck

	* Makefile.am: Add missing dumpseekindex MSVC project file

2010-05-23 21:01  thor

	* src/libmpg123/optimize.c: Also hide the pseudo cpu_flags.

2010-05-23 20:51  thor

	* src/libmpg123/getcpuflags.h: That definition of cpu_flags is not
	  needed.

2010-05-23 20:39  thor

	* NEWS, configure.ac: Announce the symbol cleanup.

2010-05-23 20:37  thor

	* scripts/intsym.pl, src/libmpg123/frame.c, src/libmpg123/id3.c,
	  src/libmpg123/intsym.h, src/libmpg123/layer3.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/optimize.c,
	  src/libmpg123/parse.c, src/libmpg123/readers.c: More smartness in
	  the renamer script, taking care of non-obvious global symbols and
	  no-nos. Also, a bunch of variables/functions turned static.

2010-05-23 20:00  thor

	* scripts/intsym.pl, src/libmpg123/Makefile.am,
	  src/libmpg123/compat.h, src/libmpg123/intsym.h,
	  src/libmpg123/mangle.h, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/synth.c, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c,
	  src/libmpg123/synth_stereo_sse_accurate.S,
	  src/libmpg123/synth_stereo_sse_float.S,
	  src/libmpg123/synth_stereo_sse_s32.S,
	  src/libmpg123/synth_stereo_x86_64.S,
	  src/libmpg123/synth_stereo_x86_64_accurate.S,
	  src/libmpg123/synth_stereo_x86_64_float.S,
	  src/libmpg123/synth_stereo_x86_64_s32.S: Start renaming internal
	  symbols with a prefix (INT123_) that makes it unlikely that they
	  screw up in a static lib.
	  
	  The renaming itself is done via a header that in turn is
	  generated by scripts/intsym.pl . Some symbols needed shortening
	  for the 31 char limit.

2010-05-23 19:57  thor

	* src/libmpg123/dither.c: dither seed is local

2010-05-23 19:21  thor

	* src/libmpg123/l2tables.h: Those alloc tables are local.

2010-05-23 19:00  thor

	* src/libmpg123/decode.h, src/libmpg123/frame.h,
	  src/libmpg123/optimize.c, src/libmpg123/synth.c,
	  src/libmpg123/synth_8bit.c, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/libmpg123/synths.h: Shorten
	  mono2stereo function names to be able to hold the 31 char limit
	  on differing symbol names when adding a prefix for internal
	  symbols.

2010-05-23 18:28  thor

	* src/libmpg123/layer1.c, src/libmpg123/layer2.c: More static
	  functions.

2010-05-23 10:12  thor

	* ., src/libmpg123/feature.c, src/libmpg123/frame.c,
	  src/libmpg123/ntom.c, src/libmpg123/synth.c,
	  src/libmpg123/synth.h, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_ntom.h,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c,
	  src/wavhead.h: Make the pointer alignment static, it's local.

2010-05-23 03:38  thor

	* ., NEWS, configure.ac, src/libmpg123/feature.c,
	  src/libmpg123/frame.c, src/libmpg123/ntom.c,
	  src/libmpg123/synth.c, src/libmpg123/synth.h,
	  src/libmpg123/synth_i486.c, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586_dither.S, src/libmpg123/synth_mmx.S,
	  src/libmpg123/synth_ntom.h, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/wavhead.h: Import the fix for
	  pointer alignment (bug 2996045).

2010-05-20 08:38  thor

	* src/libmpg123/layer3.c: Editor strangeness ... the maxbandl I
	  deleted was still there.

2010-05-20 08:26  thor

	* NEWS, src/libmpg123/layer3.c: Add workaround for compiler bugs,
	  as suggested by Doug Gilmore in bug
	  3004396, though changing both maxband[3] and maxbandl to int.

2010-05-16 16:42  thor

	* NEWS, NEWS.libmpg123, src/libmpg123/id3.c,
	  src/libmpg123/mpg123.h.in, src/mpg123.c: Add flag
	  MPG123_SKIP_ID3V2 to enable runtime choice about parsing ID3v2 or
	  not.

2010-05-16 16:25  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/format.c,
	  src/libmpg123/mpg123.h.in: Add mpg123_encsize() to external API
	  ... that marks the border from mpg123 1.12.x ... now the question
	  is open if 1.12.2 will ever be released.
	  Still waiting for that debian bugfix.

2010-05-16 15:53  thor

	* NEWS, src/libmpg123/reader.h, src/libmpg123/readers.c: Improve
	  throughput performance of feeder mode by making the buffer chain
	  work with blocks of at least 4K size.

2010-05-16 15:35  thor

	* NEWS, src/libmpg123/Makefile.am: Add the alias code to the build
	  system, update NEWS for LFS hackery.

2010-05-16 14:17  thor

	* configure.ac, src/libmpg123/lfs_alias.c: Add alias functions for
	  the native large file bitness, that is functions with _32 suffix
	  on 32 bit systems, with _64 bit suffix on 64 bit systems.
	  
	  That should help people that define _LARGE_FILE_BITS where it
	  doesn't really make sense, but glibc supports it nevertheless.

2010-05-16 10:39  thor

	* src/libmpg123/mpg123.h.in: More header large file flexibility and
	  comment cleanup for dual mode.
	  
	  Now mpg123.h listens to MPG123_NO_LARGENAME and
	  MPG123_LARGESUFFIX. That gives a way to hack around any
	  automatism... you might also want to #define off_t for special
	  purpose (to get the 64 bit off_t API on 32 bit systems without
	  having _FILE_OFFSET_BITS in place).

2010-05-16 10:05  thor

	* src/common.c: Typo in variable name.

2010-05-12 10:03  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in,
	  src/libmpg123/optimize.c: Fix up some function declarations,
	  func(void) instead of func().

2010-05-09 21:48  thor

	* src/libmpg123/mpg123.h.in: Add a note about the bad type of the
	  mpeg flags in frameinfo. Shall I change that to int? In practice,
	  that shouldn't touch the ABI.

2010-04-27 17:09  thor

	* doc/Makefile.am, doc/examples/Makefile: Add dump_seekindex to
	  distribution and example Makefile.

2010-04-26 21:15  patr3ck

	* NEWS: Add entries for updated mpg123clr and dump_seekindex
	  example

2010-04-26 20:50  patr3ck

	* ports/MSVC++/2008clr/examples/ReplaceReaderclr/Program.cs,
	  ports/MSVC++/2008clr/mpg123clr/AssemblyInfo.cpp,
	  ports/MSVC++/2008clr/mpg123clr/ReadMe.txt,
	  ports/MSVC++/2008clr/mpg123clr/enum.h,
	  ports/MSVC++/2008clr/mpg123clr/error.h,
	  ports/MSVC++/2008clr/mpg123clr/mpg123clr.cpp,
	  ports/MSVC++/2008clr/mpg123clr/mpg123clr.h,
	  ports/MSVC++/2008clr/mpg123clr/mpg123clr.rc: Sync mpg123clr to
	  version 1.12, patch by Malcolm Boczek

2010-04-26 20:27  patr3ck

	* doc/examples/dump_seekindex.c, ports/MSVC++/2008/dump_seekindex,
	  ports/MSVC++/2008/dump_seekindex/dump_seekindex.vcproj,
	  ports/MSVC++/2008/mpg123.sln, ports/MSVC++/2010/dump_seekindex,
	  ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj,
	  ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj.filters,
	  ports/MSVC++/2010/mpg123.sln: dump_seekindex example

2010-04-26 20:19  patr3ck

	* ports/MSVC++/2008/feedseek/feedseek.vcproj,
	  ports/MSVC++/2008/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2008/mpglib/mpglib.vcproj,
	  ports/MSVC++/2008/scan/scan.vcproj,
	  ports/MSVC++/2010/libmpg123/libmpg123.vcxproj: Use consistent
	  build settings for floating point model and use of SIMD
	  instruction set

2010-04-26 19:55  patr3ck

	* ports/MSVC++/2010/feedseek/feedseek.vcxproj: Fix double ; in
	  preprocessor flags

2010-04-26 19:03  patr3ck

	* ports/MSVC++/2010/feedseek/feedseek.vcxproj: Remove double ; in
	  preprocessor flags

2010-04-23 23:25  thor

	* doc/examples/feedseek.c: Honor errors during feedseek stage...
	  prompted by segfaults in libmpg123 that got --disable-real.
	  
	  Now there is a question: Should libmpg123 refuse to work with
	  handles that have an error state? Should there be some cleanup to
	  bring the handle in a consistent state?
	  The latter might be it... close the file...

2010-04-21 00:15  thor

	* NEWS, src/libmpg123/decode.h, src/libmpg123/optimize.c,
	  src/libmpg123/synth.c: Make build with --disable-16bit work...
	  ntom_set_ntom was falsely not defined, stereo synth wrapper is
	  now in optimize.c, where it's always present.

2010-04-21 00:13  thor

	* src/mpg123.c: Typo in encoding help.

2010-04-19 14:53  thor

	* configure.ac: Remove outdated note about largefile lib name.
	  Replaced by note about dual-mode.

2010-04-19 14:51  thor

	* configure.ac: Remove grep -q usage. Non-portable.

2010-04-15 18:58  jon_y

	* src/libmpg123/feature.c, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/parse.c, src/libmpg123/readers.c: Cleanup recent
	  TIMEOUT_READ define for Cygwin

2010-04-14 08:21  thor

	* configure.ac, src/libmpg123/feature.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/readers.c: Fix build with --disable-network, unify
	  the preprocessor switching for timeout_read and add the missing
	  feature query for that.
	  Cygwin might need verification... I tested only Linux.

2010-04-14 08:15  thor

	* INSTALL: Add note about libltdl.

2010-04-12 14:55  patr3ck

	* ports/MSVC++/msvc.c: Cache filept before calling mpg123_close,
	  fixes bug 2985901

2010-03-31 09:30  patr3ck

	* src/libmpg123/synth_arm.S, src/libmpg123/synth_arm_accurate.S:
	  Change .global to .globl to fix an compile error on the Xcode gcc
	  toolchain

2010-03-31 08:32  thor

	* INSTALL, NEWS, configure.ac: Forgot to update INSTALL for 1.12.0
	  ... re-releasing as 1.12.1 now.

2010-03-29 01:41  thor

	* src/libmpg123/Makefile.am: Add aligncheck.h to Makefile.am .

2010-03-29 01:38  thor

	* Makefile.am, NEWS, NEWS.libmpg123, configure.ac,
	  libmpg123_large.pc.in, src/Makefile.am,
	  src/libmpg123/Makefile.am, src/libmpg123/frame.c,
	  src/libmpg123/frame.h, src/libmpg123/lfs_wrap.c: Here it is:
	  Proof that I don't want a normal life, apparently.
	  
	  mpg123 1.12.0 will switch to a dual-mode library for large file
	  support. I have it all:
	  - simple argument conversion
	  - overflow detection
	  - temporary storage for arrays of off_t / long
	  - crazy callback-stacking to get that dual-modal, too
	  
	  What I don't have:
	  - sleep

2010-03-29 01:27  thor

	* src/control_generic.c: Check for error in sample offset
	  operation.

2010-03-29 01:26  thor

	* src/libmpg123/aligncheck.h, src/libmpg123/libmpg123.c: Outsource
	  aligncheck.

2010-03-28 23:42  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in: Add
	  MPG123_LFS_OVERFLOW, cleanup a debugging print.

2010-03-28 23:41  thor

	* src/libmpg123/readers.c: Fix a debugging print for type.

2010-03-28 21:13  thor

	* NEWS.libmpg123, src/libmpg123/mpg123.h.in: Add
	  mpg123_framebyframe_decode to the off_t-sensitive functions, to
	  be renamed with LFS.

2010-03-28 21:10  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in: Enforce
	  mpg123_close() on the replace_reader calls, introduce new error
	  for ill-prepared handle I/O.

2010-03-28 10:55  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/frame.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in,
	  src/libmpg123/reader.h, src/libmpg123/readers.c: Introduce
	  handle-based custom I/O.

2010-03-26 12:40  thor

	* INSTALL: fix typo

2010-03-23 15:39  thor

	* Makefile.am: Add libmpg123_@LARGEFILE_BITS@.pc explicitly to
	  files to be cleaned up... it's a mystery why automake is not
	  doing that. Or isn't it?
	  
	  Now make distcheck should work again on x86 systems.

2010-03-23 08:54  thor

	* NEWS, configure.ac, m4/addrconfig.m4, src/resolver.c: Add
	  configure check for AI_ADDRCONFIG ... that hopefully makes mpg123
	  work again on OpenBSD (among others).

2010-03-21 21:34  thor

	* NEWS: Add note to NEWS ... going to re-release.

2010-03-21 21:32  thor

	* ., INSTALL, Makefile.am, NEWS, NEWS.libmpg123, configure.ac,
	  doc/examples/Makefile, libmpg123_large.pc.in, src/Makefile.am,
	  src/libmpg123/Makefile.am, src/libmpg123/feature.c,
	  src/libmpg123/ntom.c, src/libmpg123/synth.c,
	  src/libmpg123/synth.h, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_ntom.h,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c,
	  src/wavhead.h: How embarrassing... I messed up the release --
	  forgot to merge the soname change!!

2010-03-20 16:54  thor

	* NEWS, configure.ac: last rites for version 1.11.0

2010-03-10 21:03  patr3ck

	* configure.ac: increase LIBMPG123_VERSION

2010-03-10 21:02  patr3ck

	* NEWS: Add an entry for the fixed potential icy reading problem

2010-03-10 20:31  patr3ck

	* src/libmpg123/readers.c: Shoutcast reading
	  Only read the rest of the bytes if there is no possibility to
	  reach a metadata boundary

2010-03-06 12:44  thor

	* configure.ac, src/libmpg123/mpg123.h.in: Add
	  mpg123_replace_reader to the list of largefile-sensitive
	  functions.
	  Also, add some commentry... the whole thing is still a mess.
	  
	  I have the situation that libmpg123 can be binary-incompatible in
	  a new version because large file support is enabled. Now,
	  additionally, there is an incompatibility when upgrading from a
	  largefile build to the new one with mpg123_replace_reader_64().
	  That one is really nasty, but it's been an API bug in the current
	  mindset. What should one do?
	  I am contemplating making a new library interface that drops
	  usage of off_t. No backwards compatibility... though, this is a
	  pity, since this is just a custom problem of Solaris/Linux in 32
	  bit mode.
	  This SUCKS!

2010-02-28 11:10  thor

	* NEWS, src/resolver.c: Specify AI_ADDRCONFIG for new-style name
	  resolution. Helps to prevent any IPv6 action on IPv4-only
	  network.

2010-02-27 19:18  thor

	* doc/ROAD_TO_LGPL: inserted a "the"

2010-02-27 19:13  thor

	* src/libmpg123/layer1.c, src/libmpg123/layer2.c,
	  src/libmpg123/layer3.c: Update copyright years on layerN.c

2010-02-27 19:11  thor

	* src/libmpg123/layer3.c: Typo in license header.

2010-02-25 23:53  thor

	* NEWS: Note some NEWS.

2010-02-25 23:50  thor

	* NEWS: Import the complete NEWS for 1.10.1 .

2010-02-25 23:49  thor

	* configure.ac: Next version will be 1.11.0 .

2010-02-25 23:48  thor

	* ., NEWS, configure.ac, src/libmpg123/feature.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/ntom.c,
	  src/libmpg123/parse.c, src/libmpg123/synth.c,
	  src/libmpg123/synth.h, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_ntom.h,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c,
	  src/wavhead.h: Import the final (?) fix for bug 33217340 from
	  1.10.1 tag.
	  
	  More fixup for the feeder, propagation of read errors (including
	  NEED_MORE) from decode_header() and fi
	  xup of endless looping in reading again from the beginning all
	  the time.
	  The latter is correlated with dangerous memory behaviour -- now
	  we minimize storage of bytes that are n
	  ot needed again by forgetting buffers early.

2010-02-25 23:45  thor

	* ., src/libmpg123/feature.c, src/libmpg123/ntom.c,
	  src/libmpg123/parse.c, src/libmpg123/synth.c,
	  src/libmpg123/synth.h, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_ntom.h,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c,
	  src/wavhead.h: More OFF_P in debug messages... plus some
	  commenting.

2010-02-25 23:43  thor

	* ., NEWS, configure.ac, src/libmpg123/feature.c,
	  src/libmpg123/ntom.c, src/libmpg123/parse.c,
	  src/libmpg123/synth.c, src/libmpg123/synth.h,
	  src/libmpg123/synth_i486.c, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586_dither.S, src/libmpg123/synth_mmx.S,
	  src/libmpg123/synth_ntom.h, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/wavhead.h: Import fix for bug
	  2951334 from 1.10.1 tag.

2010-02-25 23:40  thor

	* ., NEWS, configure.ac, src/libmpg123/feature.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/ntom.c,
	  src/libmpg123/synth.c, src/libmpg123/synth.h,
	  src/libmpg123/synth_i486.c, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586_dither.S, src/libmpg123/synth_mmx.S,
	  src/libmpg123/synth_ntom.h, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/wavhead.h: Import largefile
	  changes from 1.10.1 tag. The header is not tied to the actual
	  library build anymore.

2010-02-15 20:19  patr3ck

	* ports/MSVC++/mpg123.h: only include inttypes.h for non msvc++
	  compilers and manually define the needed types

2010-02-14 20:16  thor

	* configure.ac: Lib changed... version is not 1.10.0.

2010-02-14 20:15  thor

	* src/libmpg123/readers.c: Finally found that bug that troubled
	  Patrick: The optimization for seeks into data that is alread in
	  the feeder bufferchain was flawed:
	  It incorrectly always demanded data to be fed one buffer size
	  after the current position... where it should be the length of
	  that part of the buffer that has not been decoded yet.
	  
	  Totally my fault, I guess... well, all I can do is to see it and
	  finally fix it. Plus, we now do have at least that regression
	  test now.

2010-02-14 20:11  thor

	* src/libmpg123/frame.c: Explicitly invalidate bit reservoir on
	  seek.

2010-02-14 20:09  thor

	* src/libmpg123/parse.c: Fixup some debugging lines for off_t.

2010-02-13 14:04  thor

	* src/libmpg123/libmpg123.c: Been changed in 2010.

2010-02-13 13:51  thor

	* src/libmpg123/libmpg123.c: Correct gapless code when firstframe
	  == lastframe (bug 2950218).
	  
	  The fix is rather simple: Just do the lastframe cut before the
	  firstframe cut.

2010-02-10 17:06  jon_y

	* src/win32_net.c: Fix some warnings when -Wall and DEBUG mode is
	  used for win64

2010-02-07 18:44  thor

	* src/libmpg123/compat.c: Another accidental commit reverted...
	  debugging statements in compat.c .

2010-02-07 16:53  thor

	* src/libmpg123/readers.c: Some code change in the reader slipped
	  through... it is not for the public.

2010-02-07 16:52  thor

	* src/httpget.c, src/libmpg123/compat.c, src/libmpg123/readers.c:
	  Fix some pedantic compiler complaints.

2010-02-07 16:51  thor

	* src/mpg123.c: Fix preprocessor logic for timeout parameter...
	  please double check, JonY.

2010-02-07 16:50  thor

	* src/output/openal.c: Force a type cast to make nagging build
	  succeed.

2010-02-07 15:15  jon_y

	* ., configure.ac, src/Makefile.am, src/httpget.c, src/httpget.h,
	  src/libmpg123/feature.c, src/libmpg123/frame.c,
	  src/libmpg123/frame.h, src/libmpg123/libmpg123.c,
	  src/libmpg123/ntom.c, src/libmpg123/reader.h,
	  src/libmpg123/readers.c, src/libmpg123/synth.c,
	  src/libmpg123/synth.h, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_ntom.h,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c,
	  src/mpg123.c, src/mpg123app.h, src/output/Makefile.am,
	  src/playlist.c, src/playlist.h, src/resolver.c, src/wavhead.h,
	  src/win32_net.c, src/win32_support.c, src/win32_support.h: merge
	  win32_networking branch

2009-12-30 19:01  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj: Enable image
	  relocation again, fixing it causes problems in some environments

2009-12-30 18:44  patr3ck

	* ports/MSVC++/config.h: We use c style comments

2009-12-30 18:40  patr3ck

	* ports/MSVC++/2008clr/examples/ReplaceReaderclr/ReplaceReaderclr.csproj,
	  ports/MSVC++/2008clr/examples/feedseekclr/feedseekclr.csproj,
	  ports/MSVC++/2008clr/examples/scanclr/scanclr.csproj,
	  ports/MSVC++/config.h: Change clr examples build target from any
	  cpu to x86 to prevent problems on 64bit cpus

2009-12-30 15:46  patr3ck

	* src/libmpg123/readers.c: Remove leftover comment end

2009-12-29 22:59  patr3ck

	* src/libmpg123/libmpg123.c, src/libmpg123/parse.c: Only take
	  gapless into account if it is runtime-activated

2009-12-29 16:00  patr3ck

	* src/libmpg123/readers.c: Don't try to decode partial mp3 frames
	  at the end of a file

2009-12-29 15:58  patr3ck

	* src/libmpg123/libmpg123.c: Reset fresh also if GAPLESS is not
	  defined

2009-12-29 13:05  patr3ck

	* src/libmpg123/mpg123.h.in, src/libmpg123/parse.c: New runtime
	  flag MPG123_IGNORE_STREAMLENGTH. If this flag is set the frames
	  and bytes
	  information from Xing headers will be ignored

2009-12-28 16:00  thor

	* src/libmpg123/frame.c, src/libmpg123/libmpg123.c: A step towards
	  nailing the issue about inconsistent gapless info... fragments of
	  formely gapless mpeg files. It is just a step, stuff is still
	  broken for feeder, where we cannot detect track end inside
	  libmpg123 without help.
	  
	  But even after scanning, we don't get the correct number of
	  samples predicted. Further investigation follows.

2009-12-28 14:25  thor

	* src/libmpg123/libmpg123.c: Fix end sample ignoring for padding
	  that's larger than one frame. But that again throws up the issue
	  of validating / adapting gapless setup when the stream does not
	  match the gapless info from the header frame, like, it is longer.
	  We need to revisit that stuff, gapless code should generally be
	  restructured to be more clear.

2009-12-23 08:03  patr3ck

	* src/libmpg123/parse.c: jon_y pointed out that win32 socket code
	  needs the include of winsock2 not winsock 1.x

2009-12-22 20:01  patr3ck

	* src/libmpg123/parse.c: VS2005 wants the winsock.h instead of
	  ws2tcpip.h. All other MSVC versions still compile properly with
	  winsock.h

2009-12-22 19:36  patr3ck

	* ports/MSVC++/2005/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2008/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2010/libmpg123/libmpg123.vcxproj: The new file
	  feature.c was missing from the project files. This fixes tracker
	  item with id 2919416.

2009-12-18 13:22  jon_y

	* src/mpg123.c: Fix GENERIG typo

2009-12-10 15:57  patr3ck

	* ports/MSVC++/config.h, src/libmpg123/compat.c: Add HAVE_WINDOWS_H
	  define for msvc++ builds
	  Add WANT_WIN32_UNICODE for unicode msvc++ builds
	  Move win32 unicode related includes to the top of compat.c,
	  defining them inline gave compile time errors on msvc++

2009-12-08 15:43  thor

	* src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/layer1.c, src/libmpg123/layer2.c,
	  src/libmpg123/layer3.c: Remove the last ALIGNED() stack variabls
	  in favor of manually-aligned heap blocks. That helps som
	  compilers (Sun Studio) work with our assembly codes, as they
	  don't do stack alignment.
	  This also speeds up mpg123 by about 9% on my Linux/x86-64 box!
	  
	  The code is probably not that pretty... I'm adding to the growing
	  frame handle, funny pointer casting. But it works.

2009-12-05 20:38  thor

	* NEWS: Note about autotools change.

2009-12-05 20:27  thor

	* NEWS: updated NEWS

2009-12-05 20:26  thor

	* configure.ac: There been changes in lib.

2009-12-05 14:13  thor

	* configure.ac: More stuff for the os2me.h detection.

2009-12-03 15:38  jon_y

	* src/win32_support.h: Update header details

2009-12-03 15:21  thor

	* src/libmpg123/parse.c: Change || for &&, prevent that windows
	  header on unix.

2009-12-03 14:15  jon_y

	* src/win32_support.h: Add missing header includes

2009-12-03 14:05  jon_y

	* configure.ac, src/common.c, src/control_generic.c,
	  src/libmpg123/frame.h, src/libmpg123/libmpg123.c,
	  src/libmpg123/parse.c, src/libmpg123/reader.h,
	  src/libmpg123/readers.c, src/mpg123.c, src/mpg123app.h,
	  src/term.c, src/term.h: * Add support for Cygwin builds
	  * Remove --enable-win32_unicode, check now based on _wopen being
	  available
	  * Use ws2tcpip.h instead of winsock.h

2009-12-03 09:50  thor

	* src/libmpg123/id3.c: Don't complain about empty ID3 tags. Jamendo
	  does those for some reason.

2009-12-02 17:33  thor

	* configure.ac: More elaborate header check for OS/2, with os2.h as
	  prerequesite of os2me.h.

2009-12-02 16:01  patr3ck

	* ports/MSVC++/2008clr/mpg123clr/AssemblyInfo.cpp,
	  ports/MSVC++/2008clr/mpg123clr/enum.h,
	  ports/MSVC++/2008clr/mpg123clr/id3v2.cpp,
	  ports/MSVC++/2008clr/mpg123clr/mpg123clr.cpp,
	  ports/MSVC++/2008clr/mpg123clr/mpg123clr.h,
	  ports/MSVC++/2008clr/mpg123clr/mpg123clr.rc: Added mpg123_feature
	  and check for uninitialized string pointer.
	  Patch by Malcolm Boczek.

2009-12-02 12:06  thor

	* configure.ac: Assembly doesn't work as such on our OS/2 setup:
	  
	  08:06 < TeLLie> synth_i586.S: Assembler messages:
	  08:06 < TeLLie> synth_i586.S:37: Error: unknown pseudo-op:
	  `.section'
	  
	  So let's focus on streamlined build for generic CPU for now.

2009-12-01 23:38  thor

	* NEWS, configure.ac: Improve OS/2 support according to latest
	  report from Tellie, added heuristic for detecting OS/2 where the
	  buffering is buildable.

2009-11-30 15:27  patr3ck

	* AUTHORS: Add JonY, Malcolm and fix Taihei

2009-11-30 10:40  thor

	* src/win32_support.h: Don't define preprocessor symbols starting
	  with _.

2009-11-30 10:39  thor

	* src/libmpg123/compat.h: Tellie was missing socklen_t on OS/2
	  (with klibc), added to compat.h .

2009-11-30 10:37  thor

	* AUTHORS: Add a line for Tellie as OS/2 guy.

2009-11-30 10:32  thor

	* src/output/os2.c: OS/2 audio fixes from Tellie.

2009-11-30 10:30  thor

	* src/output/os2.c: Convert os2.c to UNIX line ending.

2009-11-29 12:12  thor

	* src/libmpg123/mpg123.h.in: Add experimentality markers to
	  framebyframe functions.

2009-11-28 22:10  patr3ck

	* NEWS: Add win32 related new

2009-11-28 21:56  thor

	* NEWS, src/mpg123.c: Use debunk_mime() also for plain file URLs.
	  In future playlist or file should be detected automatically and
	  the need for the -@ option be removed.

2009-11-28 21:52  thor

	* src/httpget.c: At last, incorporate the suggestion from bug
	  2836904, ignoring auxilliary info of MIME types (like charset).
	  A warning is emitted, though, because there could be playlists in
	  funny encoding that should be handled for real by mpg123.
	  

2009-11-28 21:37  thor

	* NEWS, src/httpget.c: Make HTTP header field parsing (and MIME
	  types, while at it) case-insensitive. Fixes bug 2904736.

2009-11-28 21:23  thor

	* NEWS: Decision: We are doing 1.10, updated NEWS.

2009-11-28 21:03  thor

	* NEWS.libmpg123, configure.ac: increasing lib version

2009-11-28 21:01  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in: Merge
	  Patrick's framebyframe functions. This is an experimental API
	  add-on for now.

2009-11-28 20:53  thor

	* src/win32conv.c, src/win32conv.h: Remove obsolete win32conv,
	  stuff moved.

2009-11-28 20:53  thor

	* configure.ac, src/Makefile.am, src/mpg123.c, src/mpg123app.h,
	  src/win32_support.c, src/win32_support.h, src/win32conv.c,
	  src/win32conv.h: Merge JonY's Win32 priority patch.

2009-11-28 16:48  thor

	* configure.ac, src/Makefile.am: Prevent -export-dynamic for the
	  mpg123 binary ... it borks up LTO build.

2009-11-27 17:47  patr3ck

	* ., ports/MSVC++/2008clr, src/libmpg123/feature.c,
	  src/libmpg123/ntom.c, src/libmpg123/synth.c,
	  src/libmpg123/synth.h, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_ntom.h,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c,
	  src/wavhead.h: A brand new common language runtime wrapper
	  written by Malcolm Boczek

2009-11-27 11:01  thor

	* src/httpget.c: More verbosity on HTTP action (print all server
	  responses with -vvv) and bail out early when relocation headers
	  don't provide a new location.
	  
	  This is related to issue 2904736: The server in that case does
	  not give
	  
	  Location: http://some/place
	  
	  but
	  
	  location: http://some/place
	  
	  All other headers are uppercase as it should be, so, rather than
	  making mpg123 fuzzy match the broken header, I decided to make it
	  quickly error out with a better assessment of the situation.
	  The server should be fixed to put out correct headers.

2009-11-26 01:12  thor

	* src/output/Makefile.am: Export only mpg123_* symbol(s) from
	  modules. That prevents export of spurious LTO-symbols from gcc.
	  (Patch by JonY.)

2009-11-23 10:42  thor

	* NEWS, src/module.c: Fix modules with libtool 2.2.6b, see issue
	  2901661.
	  
	  What I wonder about: Seems like libdir in .la files is now
	  ingnored? Does that work in Windows, too?

2009-11-23 10:13  thor

	* NEWS: Import NEWS from 1.9.2 tag.

2009-11-18 17:20  thor

	* NEWS, configure.ac, src/libmpg123/libmpg123.c: Fix gapless logic
	  to cut trailing silence also on multiple decodings of one file.

2009-11-07 06:15  taihei

	* configure.ac: Changed linker flags for OSX 10.6
	  Good, 10.6 linker seems to be compatible with non-PIC assembly
	  code!

2009-10-22 07:36  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/parse.c: Do not
	  anticipate track end on reaching an expected number of frames
	  (from Xing header). Only end when there is nothing to read
	  anymore.
	  
	  This is to support http streams that like to prepend an intro
	  piece with Xing header (that tells mpg123 that the stream is
	  about to end in a few seconds).
	  An optimal solution would check for that case in the parser
	  (seeing that we are done with a sub-track and thus look out anew
	  for a first frame and Xing/Lame header, tags), but there is
	  potential trouble with gapless state... and audio_start .. seek
	  index. Well, one might get away with non-seekable streams, but
	  when you dump the webradio, you got a seekable file on disk.

2009-10-21 20:24  patr3ck

	* ports/MSVC++/2010/scan/scan.vcxproj,
	  ports/MSVC++/2010/scan/scan.vcxproj.filters: Visual Studio 2010
	  project files

2009-10-21 15:20  patr3ck

	* ports/MSVC++/2010, ports/MSVC++/2010/feedseek,
	  ports/MSVC++/2010/feedseek/feedseek.vcxproj,
	  ports/MSVC++/2010/feedseek/feedseek.vcxproj.filters,
	  ports/MSVC++/2010/libmpg123,
	  ports/MSVC++/2010/libmpg123/libmpg123.vcxproj,
	  ports/MSVC++/2010/mpg123.sln, ports/MSVC++/2010/scan,
	  ports/MSVC++/2010/scan/scan.vcxproj,
	  ports/MSVC++/2010/scan/scan.vcxproj.filters: Visual Studio 2010
	  project files for libmpg123 itself and the feedseek example.
	  scan and mpglib examples are still a work in progress.

2009-10-20 20:31  patr3ck

	* src/mpg123.c: Switch stdin to binary mode on win32. Patch
	  provided by smack32.

2009-10-16 00:18  thor

	* src/libmpg123/dct64_sse.S, src/libmpg123/dct64_sse_float.S,
	  src/libmpg123/dct64_x86_64.S, src/libmpg123/dct64_x86_64_float.S,
	  src/libmpg123/synth_3dnow.S, src/libmpg123/synth_sse_accurate.S,
	  src/libmpg123/synth_sse_float.S, src/libmpg123/synth_sse_s32.S,
	  src/libmpg123/synth_stereo_sse_accurate.S,
	  src/libmpg123/synth_stereo_sse_float.S,
	  src/libmpg123/synth_stereo_sse_s32.S,
	  src/libmpg123/synth_stereo_x86_64.S,
	  src/libmpg123/synth_stereo_x86_64_accurate.S,
	  src/libmpg123/synth_stereo_x86_64_float.S,
	  src/libmpg123/synth_stereo_x86_64_s32.S,
	  src/libmpg123/synth_x86_64.S,
	  src/libmpg123/synth_x86_64_accurate.S,
	  src/libmpg123/synth_x86_64_float.S,
	  src/libmpg123/synth_x86_64_s32.S: remove redundant alignment
	  extra arguments (that also disturb some assemblers)

2009-10-14 13:33  thor

	* configure.ac: Add entries to choose default CPU on solaris/x86.

2009-10-14 13:32  thor

	* configure.ac: Reshuffle some checks, namely get socket libraries
	  sorted out before checking for IPv6 support.

2009-10-08 22:48  thor

	* ., NEWS, src/libmpg123/ntom.c, src/libmpg123/synth.c,
	  src/libmpg123/synth.h, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_ntom.h,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c,
	  src/wavhead.h: import NEWS for 1.9.1

2009-10-08 22:37  thor

	* ., src/libmpg123/compat.c, src/libmpg123/ntom.c,
	  src/libmpg123/readers.c, src/libmpg123/synth.c,
	  src/libmpg123/synth.h, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_i586.S, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_mmx.S, src/libmpg123/synth_ntom.h,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_s32.c,
	  src/wavhead.h: Typo in debugging message, bc-> was missing.

2009-10-08 12:41  thor

	* src/libmpg123/compat.c: Include fcntl.h so that open() and
	  close() are defined properly on UNIX.

2009-10-08 12:40  thor

	* src/libmpg123/index.c: no C++ comments

2009-10-08 08:44  jon_y

	* src/libmpg123/compat.c, src/libmpg123/compat.h,
	  src/libmpg123/readers.c: * src/libmpg123/compat.c (compat_open):
	  Use _open() instead of open() for windows hosts.
	  (compat_close): New.
	  * src/libmpg123/compat.h (compat_close): Declared and documented.
	  * src/libmpg123/readers.c (stream_close): Use compat_close()
	  instead of close().

2009-10-06 06:27  thor

	* NEWS: update NEWS about RVA from ID3

2009-10-06 06:25  thor

	* src/libmpg123/id3.c: Got the do-not-translate flag to
	  store_id3_text wrong! Since the MPG123_PLAIN_ID3TEXT feature
	  additon, the parsing of RVA info from comments and TXXX has been
	  broken. Splendit. Thanks to Jeroen for spotting the breakage.

2009-10-06 05:50  thor

	* src/libmpg123/readers.c: Oops, someone been in C++ mode while
	  adding a comment...

2009-10-06 05:49  thor

	* src/libmpg123/frame.h: Adding descripton of
	  frame_expect_outsamples.
	  
	  Plus note to self: gcc can't be arsed to complain about the
	  missing declaration unless -Wall is specified.

2009-10-05 13:18  patr3ck

	* src/libmpg123/frame.h: Add missing frame_expect_outsamples
	  function declaration

2009-10-04 22:30  thor

	* AUTHORS, NEWS, doc/README.remote, src/audio.c, src/audio.h,
	  src/control_generic.c, src/term.c: Add the pitch command to the
	  control interface, like envisioned by Jeroen.

2009-10-04 13:18  thor

	* NEWS, configure.ac, src/libmpg123/decode.h,
	  src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/ntom.c,
	  src/tests/seek_accuracy.c: Fix the CPU creep with NtoM decoding
	  by introducing simpler computation of the expected output samples
	  per frame.
	  Also made the seek_accuracy test a bit more verbose while
	  verifying that it yields the same results as before.

2009-09-30 11:17  jon_y

	* configure.ac: Remove some bashism

2009-09-28 21:11  thor

	* src/libmpg123/readers.c: Fix back-to-beginning for feed_skip
	  (fixes bug 2859531)/

2009-09-26 12:24  thor

	* src/module.c: Be more verbose (on request) about module
	  failures... mainly to remind me about that nonsense with absolute
	  paths in .la files.

2009-09-26 08:53  thor

	* src/libmpg123/mpg123.h.in: update the year

2009-09-24 21:36  patr3ck

	* src/libmpg123/layer3.c: Add NOQUIET where it was missing, patch
	  provided by Christian Heckendorf

2009-09-22 19:59  patr3ck

	* src/libmpg123/index.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in: mpg123_set_index
	  Setting offsets to NULL and fill > 0 will allocate space for fill
	  entries in the index.
	  Setting offsets to NULL and fill to 0 will clear the index and
	  free the allocated memory.

2009-09-22 15:11  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2008/mpg123.sln: Remove decoder build targets bloat.
	  Keep only Generic, Generic Dll, X86, X86 dll and Minimal Dll
	  builds in Debug and Release configurations.

2009-09-16 09:26  jon_y

	* configure.ac, src/libmpg123/Makefile.am,
	  src/libmpg123/libmpg123.sym.in: Simplify libmpg123 export
	  mechanism and make feature report optional.

2009-09-15 15:37  patr3ck

	* src/libmpg123/mpg123.h.in: Update the documentation of
	  MPG123_BAD_INDEX_PAR to reflect its use in mpg123_set_index

2009-09-15 12:51  patr3ck

	* src/libmpg123/feature.c: Cosmetics: Remove unneeded indent
	  whitespace

2009-09-15 12:11  patr3ck

	* src/libmpg123/feature.c, src/libmpg123/index.c,
	  src/libmpg123/index.h, src/libmpg123/libmpg123.c,
	  src/libmpg123/libmpg123.sym.in, src/libmpg123/mpg123.h.in: New
	  mpg123_set_index function which allows replacing of the formerly
	  internal seek index

2009-09-14 01:56  jon_y

	* src/win32conv.c, src/win32conv.h: Add missing win32 utf8
	  conversion files.

2009-09-13 15:27  jon_y

	* src/libmpg123/feature.c: fix lots of typos

2009-09-13 15:04  jon_y

	* src/libmpg123/feature.c, src/libmpg123/mpg123.h.in: expand
	  feature report function

2009-09-12 14:01  patr3ck

	* src/libmpg123/compat.c: Cosmetics: line endings

2009-09-12 13:53  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj: Minimal build: Make
	  sure the new VS2008 SP1 c runtime is used if VS2008SP1 is
	  installed. This prevents a obscure binding problem in
	  side-by-side installation scenarios

2009-09-12 13:48  patr3ck

	* src/libmpg123/compat.c: MSVC wants io.h if plain open is used

2009-09-08 15:35  jon_y

	* src/libmpg123/libmpg123.sym.in: Cosmetics: sort in alphabetical
	  order.

2009-09-07 07:17  thor

	* configure.ac, src/libmpg123/libmpg123.c: Prevent possible
	  discarding of decoded output when new format is discovered ...
	  remember: the bytes done until you get NEW_FORMAT are there to be
	  handled with the old format, these number of bytes does not have
	  to be zero.

2009-09-06 10:28  thor

	* NEWS: Add first NEWS for next release, win32 unicode.

2009-09-06 10:23  thor

	* ., NEWS.libmpg123, configure.ac, ports/MSVC++/CMP3Stream/INCLUDE,
	  ports/MSVC++/CMP3Stream/README, ports/MSVC++/CMP3Stream/SOURCE,
	  ports/MSVC++/CMP3Stream/libMPG123, src/Makefile.am,
	  src/libmpg123/Makefile.am, src/libmpg123/compat.c,
	  src/libmpg123/compat.h, src/libmpg123/feature.c,
	  src/libmpg123/libmpg123.sym.in, src/libmpg123/mpg123.h.in,
	  src/libmpg123/ntom.c, src/libmpg123/readers.c,
	  src/libmpg123/synth.c, src/libmpg123/synth.h,
	  src/libmpg123/synth_3dnow.S, src/libmpg123/synth_3dnowext.S,
	  src/libmpg123/synth_8bit.c, src/libmpg123/synth_altivec.c,
	  src/libmpg123/synth_i486.c, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586_dither.S, src/libmpg123/synth_mmx.S,
	  src/libmpg123/synth_ntom.h, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/libmpg123/synth_sse.S,
	  src/libmpg123/synth_sse3d.h, src/mpg123.c, src/tests/plain_id3.c,
	  src/tests/testtext.h, src/tests/testtext.sh, src/tests/text.c,
	  src/wavhead.h, windows-builds.sh: Merge in the win32 unicode
	  feature branch.

2009-09-03 13:07  patr3ck

	* src/libmpg123/id3.c: Fix a signed/unsigned mismatch compiler
	  warning on VS2008

2009-09-03 05:50  thor

	* Makefile.am, autogen.sh, configure.ac: Resorting to mpg123.spec
	  generation in configure, while still distributing the result
	  (thanks to Leandro Nini to push us in that direction). Also,
	  preparing for next version.

2009-09-03 05:49  thor

	* TODO: feeder and free format

2009-08-25 21:02  taihei

	* configure.ac: buildsystem fix for upcoming OSX 10.6
	  10.6 is weird, host is "i386-apple-darwin10.0.0" but the default
	  target of gcc is x86-64 on 64-bit CPUs. so we should detect
	  x86-64 capability dynamically.
	  still broken on 32-bit CPUs with the default gcc(4.2); 32-bit
	  users should use gcc-4.0 instead.

2009-08-19 09:40  taihei

	* src/output/openal.c: fix for the issue of openal output (Bug
	  2840085)
	  get_formats_openal() returned an invalid value due to the wrong
	  operator priority.
	  I don't know why this didn't happen on x86 gccs...

2009-08-14 11:53  jon_y

	* windows-builds.sh: Make windows-builds.sh executable.

2009-08-13 23:38  thor

	* autogen.sh: Simplifying autogen.sh to use autoreconf ... and this
	  seems to solve the issue of including the m4 directory in the
	  distribution.

2009-08-13 10:45  thor

	* src/libmpg123/id3.c: typo in comment

2009-08-12 13:40  thor

	* ., NEWS, ports/MSVC++/CMP3Stream/INCLUDE,
	  ports/MSVC++/CMP3Stream/README, ports/MSVC++/CMP3Stream/SOURCE,
	  ports/MSVC++/CMP3Stream/libMPG123, src/libmpg123/ntom.c,
	  src/libmpg123/synth.c, src/libmpg123/synth.h,
	  src/libmpg123/synth_3dnow.S, src/libmpg123/synth_3dnowext.S,
	  src/libmpg123/synth_8bit.c, src/libmpg123/synth_altivec.c,
	  src/libmpg123/synth_i486.c, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586_dither.S, src/libmpg123/synth_mmx.S,
	  src/libmpg123/synth_ntom.h, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/libmpg123/synth_sse.S,
	  src/libmpg123/synth_sse3d.h, src/wavhead.h: Merging in the NEWS
	  typo fix.
	  
	  ...and a lot of very strange svn:mergeinfo updates.
	  What's the deal about these nonexistent paths in mhipp/ ?

2009-08-10 01:12  thor

	* TODO: note about JACK isue

2009-08-10 00:27  thor

	* NEWS, src/libmpg123/id3.c: handle bug 2834636: misdetection of
	  string separator in id3

2009-08-10 00:03  thor

	* NEWS: typo

2009-08-05 13:19  thor

	* NEWS: little nudging of NEWS

2009-08-04 20:52  thor

	* windows-builds.sh: Less builds for windows (dithering is inside
	  now).

2009-08-04 20:51  thor

	* NEWS, configure.ac, src/libmpg123/sample.h,
	  src/libmpg123/synth.c: Make generic dither always use accurate
	  rounding.

2009-08-02 17:08  thor

	* configure.ac: Yes, one needs to remove duplicates from the
	  list(s)... now with grep -w (is that portable?)

2009-08-02 16:28  thor

	* configure.ac: fix configure.ac for dither.lo ... why was that
	  grep there anyway?

2009-08-02 16:01  thor

	* NEWS: dithering needs fix

2009-08-02 15:26  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/Makefile.am,
	  src/libmpg123/icy2utf8.c, src/libmpg123/icy2utf8.h,
	  src/libmpg123/id3.c, src/libmpg123/id3.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/libmpg123.sym.in,
	  src/libmpg123/mpg123.h.in, src/metaprint.c,
	  src/tests/plain_id3.c, src/tests/testtext.h,
	  src/tests/testtext.sh, src/tests/text.c: It started out simple
	  :-/ ... A switch to preserve the original data in ID3v2 text
	  fields, with accompanied API additions to access the encoding
	  translations libmpg123 can do.
	  
	  With tests. Some testing at least...

2009-08-02 09:11  thor

	* src/libmpg123/id3.c: Yeah, make it const, does not really
	  matter...

2009-08-02 09:11  thor

	* configure.ac: More platforms defaulting to x86-64_all (linux,
	  too;-).

2009-08-02 08:50  thor

	* configure.ac: Make combined builds with dithering the default,
	  now, that this does not add this bload anymore.
	  

2009-08-02 00:33  thor

	* configure.ac: Lib bugfix version increased with the unicode
	  stuff, among others...

2009-08-02 00:32  thor

	* Makefile.am, configure.ac, m4: Silence some warnings from
	  libtool... it is happier with m4/ present (merge from r2252).

2009-08-02 00:24  thor

	* configure.ac: Merge in r2251: Use host instead of target in
	  configure; the book suggests that.

2009-08-01 22:14  thor

	* NEWS, src/libmpg123/id3.c: Be more tolerant with UTF16: always
	  check for BOM, in case of multiple BOMs, always use the last one.

2009-08-01 21:43  thor

	* src/legacy_module.c: cleanup a debugging line

2009-07-29 14:13  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj: Fix a compile error
	  on VS2008 in SSE related release builds. The object file for
	  synth_sse_accurate.asm was picked up from debug folder instead of
	  the release folder.

2009-07-29 05:08  taihei

	* configure.ac: fixed a compiling issue of altivec decoder on
	  macosx

2009-07-28 12:07  thor

	* NEWS: newer NEWS

2009-07-28 11:54  thor

	* configure.ac: Increase bugfix number for the lib, respecting the
	  zero fill for 8bit encodings.

2009-07-28 11:54  thor

	* NEWS: announce the term_hint

2009-07-28 11:52  thor

	* src/mpg123.c, src/term.c, src/term.h: handle bug 2800832 (feature
	  request): give note about terminal control being active and how
	  to get help

2009-07-28 11:33  thor

	* configure.ac: try to apply -faltivec only on macos, so that
	  altivec compile works under linux

2009-07-27 23:50  thor

	* NEWS: some news

2009-07-27 23:37  thor

	* src/libmpg123/libmpg123.c: fix bug 2805665: zero fillup was wrong
	  for unsigned 8 bit

2009-07-26 09:43  taihei

	* src/libmpg123/dither.c: comment about the IIR generator

2009-07-26 08:42  thor

	* src/tests/noise, src/tests/noise.c: Of course adding the _source_
	  of the test program!

2009-07-26 08:41  thor

	* src/Makefile.am, src/libmpg123/dither.c, src/libmpg123/dither.h,
	  src/tests/noise: Structure noise stuff a bit... add hooks to
	  export the noise, with test program using that.
	  This could become part of the mpg123 API...

2009-07-26 06:45  taihei

	* src/libmpg123/dither.c: code cleanup

2009-07-25 20:36  taihei

	* src/libmpg123/dither.c: fixed a discontinuity issue in the dither
	  noise table, and adjusted IIR coeffs a bit

2009-07-25 07:22  taihei

	* src/libmpg123/synth_arm.S: fixed a dumb mistake in arm asm code,
	  a cause for cracklings in some files

2009-07-23 11:45  patr3ck

	* ports/MSVC++/examples/feedseek.c: Support all samplerates
	  libmpg123 supports, not only 44100.

2009-07-22 22:28  thor

	* src/libmpg123/dnoise.dat, src/libmpg123/dnoise.sh: remove old
	  dnoise files

2009-07-22 22:25  thor

	* src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/optimize.c: Allocate dither table only on demand.
	  
	  Still missing: Some sampling-frequency mojo. And proper
	  evaluation of the dithering.

2009-07-22 22:07  thor

	* src/libmpg123/dither.c: add boilerplate

2009-07-22 22:06  thor

	* configure.ac, src/libmpg123/Makefile.am, src/libmpg123/dither.c,
	  src/libmpg123/dither.h, src/libmpg123/frame.c,
	  src/libmpg123/frame.h, src/libmpg123/optimize.h: Move dither
	  noise generation code to separate files.

2009-07-07 18:33  thor

	* AUTHORS, src/libmpg123/id3.c: Integrating patch from Andy Hefner
	  to fix another crash for (invalid) UTF16 strings.
	  
	  One modification: I replaced (l & ~1) with (l / 2)*2, because I
	  am wary of bit operations with the rather unspecific type size_t
	  (will every compiler make a 64bit ~1 if it's needed?).

2009-07-04 09:40  taihei

	* src/libmpg123/mpg123lib_intern.h, src/libmpg123/synth_arm.S,
	  src/libmpg123/synth_arm_accurate.S: replaced ARM pseudo asm
	  instructions, which are not supported by older gccs

2009-07-01 00:47  thor

	* src/Makefile.am, src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c, src/tests/seek_whence.c: An attempt to
	  fix trouble with files that do not have gapless info in
	  headers... mpg123_seek with SEEK_END issues a scan if possible,
	  scans update gapless info so that we have at least some value for
	  the "end of samples".
	  SEEK_END used to be just broken for files without gapless info
	  (though there's an easy workaroudn with SEEK_SET and
	  mpg123_length...).

2009-06-25 11:24  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj: Use the correct
	  build directory in the new minimal dll build
	  Make sure the dependency is the new VS2008 SP1 c runtime if
	  VS2008SP1 is installed. This prevents a obscure binding problem
	  in side-by-side installation scenarios

2009-06-23 06:35  taihei

	* src/libmpg123/frame.c: dither_table_init should be activated only
	  when OPT_DITHER is defined

2009-06-22 20:11  taihei

	* src/libmpg123/frame.c: dither table initialization is separated
	  out, and better frequency response of the noise

2009-06-22 17:28  taihei

	* configure.ac, src/libmpg123/Makefile.am, src/libmpg123/frame.c,
	  src/libmpg123/frame.h, src/libmpg123/optimize.h: run-time dither
	  noise generation: no more binary bloating!
	  
	  at this moment high pass TPDF noise is applied, but still there
	  will be a room for argument about the optimum shape of the noise.

2009-06-20 15:41  thor

	* configure.ac, src/libmpg123/parse.c: Some cleaning work for free
	  format:
	  
	  - Remove now defunct check for un-supported free format header.
	  - Initialize the header variable in the free format framesize
	  guesser.
	  - Also let the free format code fail early for non-seekable
	  unbuffered streams.
	  - Mark this as new lib version... new format support is a new
	  feature.
	  
	  FIXME: We need to ensure correct behaviour for feeder API
	  (MPG123_NEED_MORE).

2009-06-20 14:49  thor

	* src/libmpg123/parse.c: little typo

2009-06-20 14:46  thor

	* src/output/Makefile.am: add openal to the generator script in
	  Makefile.am

2009-06-20 14:08  taihei

	* configure.ac, src/common.c, src/output/Makefile.am,
	  src/output/openal.c: a new output module: OpenAL
	  currently tested on Linux and OSX

2009-06-20 13:07  taihei

	* src/common.c: print_header now shows bitrate of freeformat files
	  correctly

2009-06-20 06:16  taihei

	* src/libmpg123/mpg123lib_intern.h, src/libmpg123/synth.h: sorry,
	  the previous commit included some garbages

2009-06-20 06:11  taihei

	* src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/mpg123lib_intern.h, src/libmpg123/parse.c,
	  src/libmpg123/synth.h: first attempt to support freeformat

2009-06-14 20:26  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj: Add a minimal
	  decoding only dll build.

2009-06-14 12:39  thor

	* NEWS, ports/Sony_PSP/Makefile.psp, ports/Sony_PSP/config.h:
	  update Sony PSP build files

2009-06-14 12:37  thor

	* configure.ac: we are working on 1.9.0

2009-06-14 12:37  thor

	* NEWS: import NEWS for 1.8.1

2009-06-14 12:13  thor

	* README: update README for accuracy and x86-64 stuff

2009-06-14 11:59  thor

	* configure.ac: Merge r2182: really fix configure with modules...

2009-06-14 11:11  taihei

	* src/libmpg123/synth_altivec.c: fix for the compilation failure on
	  older gcc

2009-06-13 10:40  thor

	* src/mpg123.c: Combine conflicting code for binpath and program
	  name extraction into one piece of code that works together. See
	  bug #2805663.

2009-06-11 09:29  thor

	* configure.ac: fixup of libltdl stuff with --enable-modules, that
	  had been broken...

2009-06-10 08:00  thor

	* src/libmpg123/mpg123.h.in: reminder about return codes also for
	  decoding routines specifically

2009-06-10 07:55  thor

	* NEWS, doc/examples/dumb_decoder.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in: Fix MPG123_NEW_FORMAT behaviour ...
	  clients are not forced to call mpg123_getformat(), it is just a
	  one-time hint.

2009-06-08 17:51  taihei

	* src/libmpg123/l12_integer_tables.h,
	  src/libmpg123/l3_integer_tables.h: missing files for the previous
	  commit...

2009-06-08 17:48  taihei

	* src/libmpg123/Makefile.am, src/libmpg123/decode.h,
	  src/libmpg123/layer2.c, src/libmpg123/layer3.c,
	  src/libmpg123/mpg123lib_intern.h, src/libmpg123/tabinit.c: -
	  introduced pre-calculated tables for integer decoders
	  run-time table initialization which includes many expensive FP
	  operations is a very heavy task for the CPUs without FPU
	  (sometimes takes more cpu time than decoding itself, the cause of
	  stuttering at startup). the binary size increases(about +32KB),
	  but significantly faster on those CPUs. undef PRECALC_TABLES
	  macro in mpg123lib_intern.h to suppress this behavior.
	  - faster decwin table initialization for integer decoders
	  we can't adopt pre-calculation for this table due to RVA, so
	  replaced some floating-point maths with fixed-point ones for
	  faster initialization.
	  - removed COS1 table from layer3.c, which is no longer used
	  anywhere.

2009-06-08 03:02  taihei

	* src/libmpg123/synth_stereo_x86_64_s32.S: a fix for the crash in
	  s32 stereo synth, on win64

2009-06-07 12:31  taihei

	* src/libmpg123/synth_arm.S, src/libmpg123/synth_arm_accurate.S:
	  ...and software pipelining

2009-06-07 11:43  taihei

	* src/libmpg123/mpg123lib_intern.h, src/libmpg123/synth_arm.S,
	  src/libmpg123/synth_arm_accurate.S: minor optimizations for arm
	  decoder

2009-06-06 20:51  thor

	* configure.ac: another attempt to keep up with lib version

2009-06-06 18:49  taihei

	* configure.ac, src/libmpg123/Makefile.am, src/libmpg123/decode.h,
	  src/libmpg123/frame.c, src/libmpg123/optimize.c,
	  src/libmpg123/optimize.h, src/libmpg123/synth.c,
	  src/libmpg123/synth_arm.S, src/libmpg123/synth_arm_accurate.S,
	  src/libmpg123/tabinit.c: "full" asm optimized synths for ARM
	  processors

2009-06-05 15:34  taihei

	* src/libmpg123/synth_stereo_x86_64.S: fix for the 16bit stereo
	  synth bug, in win64

2009-06-04 16:43  taihei

	* configure.ac: slight change of the arm target name

2009-06-03 12:27  taihei

	* configure.ac: arm code works (confirmed on qemu), change the
	  default decoder for arm

2009-06-03 11:18  taihei

	* configure.ac, src/libmpg123/mpg123lib_intern.h: added asm
	  optimizations for ppc and arm, enabled with
	  --with-cpu={ppc|arm}_nofpu. ppc code is tested and works, but arm
	  code isn't tested yet.

2009-06-03 05:03  taihei

	* src/libmpg123/mpg123lib_intern.h: faster inline asm

2009-06-02 21:53  thor

	* NEWS: could not resist the lame pun

2009-06-02 21:32  thor

	* NEWS: note some NEWS for tomorriw

2009-06-02 18:37  thor

	* configure.ac: new lib version... there have been changes

2009-06-02 18:36  thor

	* NEWS: note OS/2 state

2009-06-02 16:48  taihei

	* src/libmpg123/mpg123lib_intern.h: use macro style inline asm

2009-06-01 19:43  taihei

	* src/libmpg123/mpg123lib_intern.h, src/libmpg123/sample.h: tuned
	  the fast fixed-point decoder; now fully compliant in layer3 test

2009-06-01 17:50  taihei

	* src/libmpg123/dct64.c, src/libmpg123/dct64_i386.c,
	  src/libmpg123/mpg123lib_intern.h, src/libmpg123/sample.h,
	  src/libmpg123/synth.h, src/libmpg123/synth_ntom.h,
	  src/libmpg123/tabinit.c: introducing the same technique as the
	  MMX/SSE integer decoder. now limited accracy, but faster decoder
	  is used for the fixed-point decoders when the
	  "--enable-int-quality" switch is not specified.

2009-06-01 15:56  taihei

	* src/libmpg123/mpg123lib_intern.h: faster i386_nofpu decoder with
	  inline asm; about 20% faster on core2

2009-06-01 08:01  thor

	* configure.ac: more lib changes... now fully compliant integer
	  code

2009-06-01 07:53  taihei

	* src/libmpg123/mpg123lib_intern.h: more accurate double-to-int
	  rounding

2009-06-01 05:45  taihei

	* src/libmpg123/mpg123lib_intern.h, src/libmpg123/sample.h:
	  finally, fully compliant fixed point decoder

2009-05-31 18:57  taihei

	* src/libmpg123/dct64.c, src/libmpg123/dct64_i386.c,
	  src/libmpg123/layer1.c, src/libmpg123/layer2.c,
	  src/libmpg123/layer3.c, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/sample.h, src/libmpg123/tabinit.c: tuned integer
	  decoder again; significantly better than the previous one.

2009-05-31 17:05  thor

	* man1/mpg123.1, src/mpg123.c: The --gain parameter is deprecated
	  (works, but only there for backwards compatibility).
	  
	  Applied patch from Andreas Neustifter (with one added witty
	  bootnote in the man page).

2009-05-31 09:35  thor

	* configure.ac: increase version for the past integer decoder fixes

2009-05-31 04:46  taihei

	* src/libmpg123/mpg123lib_intern.h: fixed a bug in integer layer2
	  decoder; should be correct now.

2009-05-30 19:06  taihei

	* src/libmpg123/dct64.c, src/libmpg123/dct64_i386.c,
	  src/libmpg123/layer3.c, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/sample.h, src/libmpg123/tabinit.c: improve accuracy
	  of integer decoders

2009-05-30 15:49  thor

	* NEWS, src/audio.c, src/mpg123.c, src/mpg123app.h: re-enable the
	  gain parameter... neets testing on a system that actually
	  features hardware gain

2009-05-30 14:53  thor

	* configure.ac, src/libmpg123/layer3.c: increase library version,
	  plus one small piece of conditional code for REAL_IS_FIXED

2009-05-30 14:09  thor

	* src/audio.c, src/buffer.c: enable buffer to work with any audio
	  output type (that actually helped me debugging for the previous
	  commit)

2009-05-30 14:05  thor

	* NEWS, src/audio.c, src/buffer.c, src/xfermem.c, src/xfermem.h:
	  fix bug 2796802 (awaiting confirmation): we need to wait for the
	  buffer to be ready, not just let it loose

2009-05-30 07:11  taihei

	* src/libmpg123/layer1.c, src/libmpg123/layer2.c,
	  src/libmpg123/layer3.c, src/libmpg123/mpg123lib_intern.h: more
	  accurate fixed point decoder; still not perfect, but quite good.
	  also fixes totally broken fixed point layer 1/2 decoder.

2009-05-27 16:18  taihei

	* configure.ac, src/libmpg123/dct64_i386.c: fix for i386_nofpu
	  decoder; real and s32 output should be disabled for it, and
	  dct64_i386 should use REAL_MUL macro for multiplications

2009-05-26 06:26  thor

	* man1/mpg123.1: add space between --pitch and its parameter

2009-05-24 00:37  thor

	* configure.ac: that is a new lib version

2009-05-24 00:30  thor

	* configure.ac: provide means to enable buffer where system
	  whitelist fails (we do not have proper tests for the needed
	  features yet)

2009-05-23 11:48  taihei

	* src/libmpg123/dct64_x86_64.S, src/libmpg123/dct64_x86_64_float.S,
	  src/libmpg123/synth_stereo_x86_64.S,
	  src/libmpg123/synth_stereo_x86_64_accurate.S,
	  src/libmpg123/synth_stereo_x86_64_float.S,
	  src/libmpg123/synth_stereo_x86_64_s32.S,
	  src/libmpg123/synth_x86_64.S,
	  src/libmpg123/synth_x86_64_accurate.S,
	  src/libmpg123/synth_x86_64_float.S,
	  src/libmpg123/synth_x86_64_s32.S: added support for windows x64
	  calling convention (why is it totally different from the standard
	  one? :p) in x86-64 asm functions; I'm not sure if this works
	  well, but I hope this helps...

2009-05-21 22:39  thor

	* Makefile.am, NEWS.libmpg123, doc/Makefile.am: merge changes from
	  1.8rc1 branch: Makefile.am updates, libmpg123 17.0.17 news

2009-05-21 20:32  thor

	* doc/libmpg123_speed.txt: update speed notes

2009-05-21 11:03  thor

	* doc/THANKS: at least some thanks to JonY

2009-05-21 10:56  thor

	* src/module.c, src/mpg123.c: proper fix for the no-path case, this
	  time

2009-05-21 10:08  thor

	* src/module.c: actually tell the complete current moddir to be
	  tested in debug output

2009-05-21 09:54  thor

	* src/module.c, src/mpg123.c: Try to handle empty binary path for
	  finding modules (windows needs it? -- we want testing).

2009-05-20 22:01  thor

	* TODO: Some TODOs are done.

2009-05-20 21:57  thor

	* doc/ACCURACY, doc/README.WIN32: doc update
	  
	  Remove outdated win32 README, update accuracy info.

2009-05-20 21:57  thor

	* doc/THANKS: More alphabetical, a small passage to cover people I
	  did not name.

2009-05-19 22:39  patr3ck

	* ports/MSVC++/config.h, src/libmpg123/sample.h: define __inline as
	  inline in config.h to make static inline declarations work as
	  sugested by sobukus

2009-05-19 22:38  thor

	* NEWS: An attempt to get the NEWS for 1.8.0 written down.

2009-05-19 22:38  thor

	* AUTHORS: be more specific about Taihei;-)

2009-05-19 21:33  thor

	* src/tests: ignore

2009-05-19 21:31  thor

	* xmms2-plugin: xmms2 plugin is in xmms2 upstream source

2009-05-19 21:14  thor

	* src/libmpg123/readers.c: also do nott check for anticipated file
	  end in the ICY reader...

2009-05-19 14:35  thor

	* src/libmpg123/readers.c: Do not anticipate file end, always wait
	  for read() indicating real EOF (hopefully fixes bug 2793677 with
	  embedded ID3v1).

2009-05-19 09:55  thor

	* src/mpg123.c: do nott included unnecessary headers in mpg123.c

2009-05-18 14:15  thor

	* src/libmpg123/mpg123lib_intern.h: load config.h earlier to make
	  the ABI_ALIGN_FUN work again, thanks to Leandro for spotting this
	  (still needs testing)

2009-05-18 08:21  taihei

	* src/libmpg123/synth_3dnow.S: supported accurate rounding for
	  3dnow decoder

2009-05-17 21:42  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj: Catch up with
	  Taihai's latest additions to SSE optimized decoding

2009-05-17 19:38  thor

	* configure.ac: there is no synth_stereo_sse.S

2009-05-17 13:29  thor

	* configure.ac: organize the --with-int-quality code... choose
	  either set of sources, not always both

2009-05-17 11:19  thor

	* src/libmpg123/Makefile.am: Enable RPATH builds for dithering
	  decoders by using full path to dnoise.sh. Just a note again, for
	  funny paths: Spaces in source path will blow up with autoconf. Do
	  not forget that.

2009-05-17 06:21  taihei

	* configure.ac, src/libmpg123/Makefile.am, src/libmpg123/decode.h,
	  src/libmpg123/optimize.c, src/libmpg123/synth.c,
	  src/libmpg123/synth_s32.c, src/libmpg123/synth_sse_accurate.S,
	  src/libmpg123/synth_sse_s32.S,
	  src/libmpg123/synth_stereo_sse_accurate.S,
	  src/libmpg123/synth_stereo_sse_s32.S,
	  src/libmpg123/synth_stereo_x86_64_accurate.S,
	  src/libmpg123/synth_x86_64_accurate.S: - added accurate 16bit
	  decoder for SSE and x86-64 -- should be used when
	  --enable-int-quality=yes is specified
	  - added optimized s32 synth for SSE

2009-05-17 00:36  thor

	* man1/mpg123.1, src/mpg123.c, src/mpg123app.h: add --preframes,
	  update documentation

2009-05-17 00:22  thor

	* src/libmpg123/readers.c: do not seek back to an index position
	  when we are already closer to the aim

2009-05-16 23:44  thor

	* configure.ac, src/libmpg123/libmpg123.c: Be smarter about
	  seeking.. prevent unnecessary back-seeks when we are on track
	  already.

2009-05-16 22:58  thor

	* src/libmpg123/format.c: reduce verbosity of format matching
	  code... people get irritated by mentioning of resampling where
	  there is no resampling

2009-05-16 22:26  thor

	* configure.ac, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/sample.h: compile-time choice for integer accuracy
	  
	  default is the truncation as before, as it's the fastest and
	  casual people won't notice, but there is
	  ./configure --enable-int-quality
	  to make integer conversion more proper and improve the accuracy
	  in the LSB.

2009-05-16 09:25  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in,
	  src/libmpg123/readers.c: Non-seekable streams can still go
	  forwards, that idea has been in the code, but not used.
	  
	  This is hard on the border for things one should not add during
	  stabilizing a release.
	  I know.

2009-05-16 09:23  thor

	* src/mpg123.c: Do not try to skip 0 frames, that can unnecessarily
	  break playback of non-seekable streams.

2009-05-16 09:17  thor

	* src/libmpg123/id3.c: fix ID3v2 RVA2 parsing of negative values,
	  see bug #2792417

2009-05-16 09:14  thor

	* configure.ac: for completeness, add int16_t

2009-05-14 15:49  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj: Add .S files and
	  mpg123.h.in to the project to make MSVC SVN plugins work
	  correctly. Suggested by TheVinn.

2009-05-14 14:43  patr3ck

	* src/libmpg123/mpg123lib_intern.h: I should have removed the
	  inline and leave the static in place.

2009-05-14 14:41  patr3ck

	* src/libmpg123/mpg123lib_intern.h: Removed static before inline.
	  It gave compile errors on MSVC++. Spotted and fix suggested by
	  TheVinn on IRC.

2009-05-14 07:25  taihei

	* src/libmpg123/mpg123lib_intern.h: faster accurate rounding

2009-05-13 07:47  taihei

	* src/libmpg123/mpg123lib_intern.h, src/libmpg123/synth_altivec.c:
	  REAL_TO_SHORT should round fp value to the nearest integer,
	  without truncation. This makes 16-bit integer output of the
	  generic (and altivec) decoder fully compliant with the standard
	  (but slower).
	  
	  ==== Layer 1 ====
	  layer 1 16bit compliance (unlikely...)
	  RMS=4.36437e-06 (PASS) maxdiff=7.62939e-06 (PASS)
	  layer 1 float compliance (hopefully fine)
	  RMS=1.97436e-08 (PASS) maxdiff=1.49012e-07 (PASS)
	  
	  ==== Layer 2 ====
	  layer 2 16bit compliance (unlikely...)
	  RMS=3.5121e-06 (PASS) maxdiff=7.62939e-06 (PASS)
	  layer 2 float compliance (hopefully fine)
	  RMS=1.78736e-08 (PASS) maxdiff=8.28877e-08 (PASS)
	  
	  ==== Layer 3 ====
	  layer 3 16bit compliance (unlikely...)
	  RMS=4.30092e-06 (PASS) maxdiff=7.689e-06 (PASS)
	  layer 3 float compliance (hopefully fine)
	  RMS=2.14814e-08 (PASS) maxdiff=1.67638e-07 (PASS)

2009-05-12 08:38  taihei

	* src/libmpg123/layer3.c: a fix for the HF cutoff problem

2009-05-12 07:10  thor

	* src/libmpg123/parse.c: document that I did test the halfspeed
	  stuff

2009-05-11 12:19  thor

	* NEWS, src/playlist.c: Wow, the last playlist fix disabled random
	  play! Man, you have to test that stuff...
	  
	  Now hopefully fine and also the randomness enhancement
	  documented.

2009-05-11 12:16  thor

	* NEWS.libmpg123: lib news... MPG123_PREFRAMES

2009-05-11 12:16  thor

	* configure.ac: fix nofpu decoder build (disable 32bit and float
	  output in configure already)

2009-05-10 23:36  thor

	* src/libmpg123/mpg123lib_intern.h, src/libmpg123/optimize.c,
	  src/libmpg123/optimize.h: fix configure for generic_nofpu

2009-05-10 22:17  thor

	* src/libmpg123/frame.c: Settling on preframes=4 per default, with
	  fixed upper limit of 2 for layer 1 and 2, as well as lower limit
	  1 for layer 3.

2009-05-10 21:56  thor

	* src/libmpg123/libmpg123.c: Reset frame buffers before seeks.
	  
	  That helps to get the first sample accurately... and generally.
	  Now I need 2 preframes for layer 1 and 2 compliance bitstreams, 4
	  for layer 3.

2009-05-10 21:46  thor

	* src/libmpg123/frame.c, src/tests/seek_accuracy.c: Resuming work
	  on seek accuracy.
	  
	  Layer 3 is mostly fine, layer 1 and 2 gives me creeps. They work
	  now basically, but also only with certain preframes values.
	  Also, getting the first sample again always fails.
	  Will try to reinit decoder for that case... or in any case...

2009-05-10 21:20  thor

	* src/libmpg123/getbits.h: Importing a C version of getbits. That
	  fixes layer1 decoding.
	  
	  I am not sure what exactly went wrong with the macro, but the C
	  code makes mpg123 a compliant layer 1 decoder again.
	  This should be no performance regression, at least it is none on
	  my system. The C code is still in the header, ready to be inlined
	  for the same result.
	  Maybe I will move all getbits macros to static C functions...

2009-05-10 21:17  thor

	* src/libmpg123/libmpg123.c: does not need getbits

2009-05-10 19:27  thor

	* configure.ac, src/libmpg123/parse.c: Fix the breakage that the
	  layer2 testing brought to light: The parser screamed header
	  change on changes between stereo modes.
	  
	  I got that check wrong... funny, that this doesn't jump on your
	  feet with real world files... that much, at least.
	  To elaborate a bit: The breakage meant too many decoder buffer
	  reinitializations during the stream, introducing some tickling,
	  and, of course, breaking seek sample value accuracy.

2009-05-04 09:07  thor

	* NEWS.libmpg123: working on the libmpg123 version jump NEWS

2009-05-04 09:06  thor

	* src/tests/seek_accuracy.c: more informative test report

2009-05-03 21:46  thor

	* NEWS: import the NEWS for the 1.7.x bugfix releases

2009-05-03 19:38  patr3ck

	* ports/MSVC++/2008/mpg123.sln: Switch default build from x86 to
	  generic.

2009-05-03 15:36  taihei

	* configure.ac: a fix for configure help message

2009-05-03 13:14  thor

	* configure.ac, src/libmpg123/optimize.c: move SSE up in the list
	  of decoders as shown to the outside workd

2009-05-02 07:33  thor

	* Makefile.am: include the CPU benchmark script in distribution

2009-05-01 16:08  taihei

	* configure.ac: disable modules automatically when libltdl not
	  found

2009-05-01 06:02  taihei

	* src/libmpg123/dct64_sse.S, src/libmpg123/dct64_sse_float.S,
	  src/libmpg123/synth_sse3d.h: a new dct64 with SSE optimization,
	  written from scratch

2009-05-01 00:06  thor

	* scripts/benchmark-cpu.pl: update the CPU benchmark... producing
	  some formatted text output (for plotting, for example)

2009-04-30 23:24  thor

	* configure.ac, src/libmpg123/optimize.c: Make SSE the first choice
	  for x86.
	  
	  It is generally faster than 3DNowExt on AMD CPUs that support
	  both (especially once Taihei brings in the improved dct64 for
	  SSE).
	  The optimized dct36 seems even to make it _slower_ for K7 and K8.
	  On K6 it is faster than plain dct36.
	  Need to check how it is on early K7 without SSE unit.

2009-04-30 14:50  thor

	* configure.ac: further fixing of configure... now runs with
	  --disable-shared again

2009-04-30 14:28  thor

	* configure.ac: check for sys/types.h explicitly

2009-04-30 14:21  thor

	* Makefile.am, src/Makefile.am: Remove legacy build system from
	  distribution, too.

2009-04-30 14:17  thor

	* INSTALL, MakeLegacy.sh, src/Makefile.legacy, src/Makefile.win32,
	  src/config.h.legacy: Legacy build system is gone for now.

2009-04-30 14:10  thor

	* configure.ac: Quickfix for configure... libtool uses $EGREP
	  without checking for it.
	  This is apparently collateral damage from libltdl removal ... and
	  it seems wrong having to check for that program manually.

2009-04-29 10:17  thor

	* src/libmpg123/optimize.c: Use the SSE-optimized real synths in
	  3DNowExt decoder when CPU can do SSE, too.
	  Still open is the question of SSE being faster on some CPUs that
	  can do 3DNowExt (namely AMD64).
	  AthlonXPs are a bit faster on 3DNowExt... but the margin is so
	  tigth that some tweaked optimization to the SSE code would
	  overcome it easily, I guess.

2009-04-29 10:13  thor

	* windows-builds.sh: x86-64, not x86_64

2009-04-28 22:02  patr3ck

	* src/libmpg123/layer2.c, src/libmpg123/layer3.c,
	  src/libmpg123/tabinit.c: Fix a few MSVC++ compiler warnings.

2009-04-28 21:44  patr3ck

	* ports/MSVC++/2008/libmpg123,
	  ports/MSVC++/2008/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2008/mpg123.sln: Add MSVC builds with combined,
	  runtime selected optimizations in Debug/Release Dll/Lib variants.
	  Dither optimizations are not yet included.

2009-04-28 21:38  patr3ck

	* ports/MSVC++/examples/feedseek.c: Make feedseek output more
	  verbose

2009-04-28 21:37  patr3ck

	* src/libmpg123/synth_i586_dither.S: Change fadd to fadds to make
	  yasm happy

2009-04-28 16:28  thor

	* windows-builds.sh: switch to manual libltdl copying for now...

2009-04-28 15:34  patr3ck

	* ports/MSVC++/2008/feedseek/feedseek.vcproj,
	  ports/MSVC++/2008/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2008/mpg123.sln,
	  ports/MSVC++/2008/mpglib/mpglib.vcproj,
	  ports/MSVC++/2008/scan/scan.vcproj: Add more assembler optimized
	  builds in preparation for the combining OPT_MULTI build.
	  
	  We now have the following builds in MSVC++ 2008:
	  OPT_GENERIC (Debug/Release, Dll/Lib)
	  OPT_I386 (Debug/Release, Dll/Lib)
	  OPT_I586 (Debug/Release, Dll/Lib)
	  OPT_MMX (Debug/Release, Dll/Lib)
	  OPT_MULTI OPT_3DNOW (Debug/Release, Dll/Lib)
	  OPT_MULTI OPT_3DNOWEXT (Debug/Release, Dll/Lib)
	  OPT_SSE (Debug/Release, Dll/Lib)

2009-04-28 14:35  patr3ck

	* windows-builds.sh: Adapt 64bit cross-compiler settings

2009-04-27 23:49  thor

	* NEWS.libmpg123: do not forget...

2009-04-27 23:44  thor

	* Makefile.am, configure.ac, src/libmpg123/frame.c,
	  src/libmpg123/frame.h, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/tests/seek_accuracy.c: Making the
	  preframes count (aka IGNORESHIFT) runtime-tunable via
	  MPG123_PREFRAMES paramter.
	  There is no command-line paramter for the mpg123 app yet.
	  
	  Also, increasing the default preframes count to 13, based on
	  observation of another Queens$
	  Perhaps I need to make the test check _every_ sample position...
	  anyhow:
	  
	  Think about the best default value for the 1.8.0 realease! 13 is
	  quite big, where 3 may be fine for th$
	  Slow machines would prefer 1 or 2, I guess. Of course mpg123
	  needs a command line parameter, too.

2009-04-27 23:25  thor

	* autogen.sh: Bye, bye libltdl part 2: autogen.sh

2009-04-27 23:25  thor

	* configure.ac, libltdl: Bye, bye, libtldl.
	  
	  Really, get it installed in your system or forget about it. It is
	  mostly harmful to have the libltdl as a copy in mpg123.
	  We seem to get rpms with libltdl in it where there is a libtool
	  rpm for that... needless nuisance. Get your libltdl and then
	  mpg123 -- it's Free!

2009-04-27 07:01  thor

	* configure.ac, src/libmpg123/frame.c: Increasing IGNORESHIFT to
	  stay sample-accurate on seeks also for some more tricky layer 3
	  files.
	  
	  I am still not sure what the theoretical/practical maximum number
	  of intermangled (via bit reservoir) frames is.

2009-04-27 06:55  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in: Documenting
	  the fallacy of MPG123_UPSPEED and friends together with
	  sample-accurate seeking.

2009-04-27 06:53  thor

	* configure.ac: increase lib version for last fix

2009-04-27 06:53  thor

	* src/Makefile.am, src/tests, src/tests/seek_accuracy.c: Now
	  properly working with seek accuracy: There is a test!

2009-04-27 05:43  thor

	* src/libmpg123/libmpg123.c: Another thing broke with the
	  doublespeed fix: minimal-glitch seeking! Fixing that regression
	  from 1.6.x series.
	  
	  Now it should be as good/bad as before...

2009-04-22 19:48  patr3ck

	* src/libmpg123/parse.c: Discard bitreservoir of previous frames if
	  a resync is needed

2009-04-20 12:43  taihei

	* src/libmpg123/synth_stereo_x86_64_s32.S,
	  src/libmpg123/synth_x86_64_s32.S: a bit more optimum way for the
	  previous commit

2009-04-20 11:37  taihei

	* src/libmpg123/synth_altivec.c,
	  src/libmpg123/synth_stereo_x86_64_s32.S,
	  src/libmpg123/synth_x86_64_s32.S: Fixed optimized s32 synth
	  functions to detect and treat clipped samples more accurately;
	  positive overflow should be rounded to 2147483647

2009-04-18 16:20  taihei

	* configure.ac, src/audio.c, src/libmpg123/Makefile.am,
	  src/libmpg123/decode.h, src/libmpg123/optimize.c,
	  src/libmpg123/synth_altivec.c, src/libmpg123/synth_s32.c,
	  src/libmpg123/synth_stereo_x86_64_s32.S,
	  src/libmpg123/synth_x86_64_s32.S, src/wav.c: - Added x86-64 &
	  AltiVec optimizations for s32 output
	  - Added support for s32 output in wav writer module
	  - Cleaned up AltiVec synth functions

2009-04-18 08:09  taihei

	* src/output/coreaudio.c: updated coreaudio module to support float
	  and s32 output

2009-04-17 17:22  taihei

	* src/libmpg123/synth_stereo_x86_64.S: fixed an issue in clip
	  sample counting

2009-04-17 06:36  taihei

	* src/libmpg123/synth_altivec.c: Also fixed an alignment issue in
	  altivec stereo synths

2009-04-16 18:35  taihei

	* src/libmpg123/synth_stereo_sse_float.S,
	  src/libmpg123/synth_stereo_x86_64.S,
	  src/libmpg123/synth_stereo_x86_64_float.S: fixed stereo synth
	  functions to assume unaligned output buffers; a bit slower, but
	  safe

2009-04-16 09:40  patr3ck

	* ports/MSVC++/2008/feedseek/feedseek.vcproj,
	  ports/MSVC++/2008/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2008/mpg123.sln,
	  ports/MSVC++/2008/mpglib/mpglib.vcproj,
	  ports/MSVC++/2008/scan/scan.vcproj: Update the MSVC++ SSE build
	  to include the new 32 bit float optimizations, this is only
	  working in the debug build at the moment
	  Add new Debug_SSE_Dll build
	  Remove the invalid "Debug Asm" build that should not be part of
	  the project files
	  Add debug symbols to the release builds where it was missing

2009-04-15 15:08  taihei

	* configure.ac, src/libmpg123/Makefile.am, src/libmpg123/decode.h,
	  src/libmpg123/optimize.c, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_stereo_sse_float.S,
	  src/libmpg123/synth_stereo_x86_64.S,
	  src/libmpg123/synth_stereo_x86_64_float.S,
	  src/libmpg123/synth_x86_64.S, src/libmpg123/synth_x86_64_float.S:
	  Added stereo version of SSE float synth

2009-04-15 12:08  taihei

	* configure.ac, src/libmpg123/Makefile.am,
	  src/libmpg123/dct64_sse_float.S,
	  src/libmpg123/dct64_x86_64_float.S, src/libmpg123/decode.h,
	  src/libmpg123/optimize.c, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_sse_float.S, src/libmpg123/tabinit.c: - Added
	  32-bit version of SSE optimized synth for float output
	  - Optimized x86-64 float dct64 a bit

2009-04-14 11:04  taihei

	* src/libmpg123/synth_stereo_x86_64.S,
	  src/libmpg123/synth_stereo_x86_64_float.S,
	  src/libmpg123/synth_x86_64.S, src/libmpg123/synth_x86_64_float.S:
	  optimized x86-64 synth a bit

2009-04-14 08:38  taihei

	* src/libmpg123/decode.h, src/libmpg123/optimize.c,
	  src/libmpg123/synth_altivec.c: added stereo optimized synth for
	  altvec

2009-04-13 20:28  thor

	* configure.ac, src/libmpg123/optimize.c: A single comma, its
	  absence causing trouble for standalone 3DNowExt build.

2009-04-13 00:45  thor

	* configure.ac: Another merge from Taihei's branch: MacOS build
	  fixes (configure).

2009-04-13 00:37  thor

	* INSTALL: note about incomplete configure (wrt minimal builds with
	  optimizations)

2009-04-13 00:30  thor

	* configure.ac, src/libmpg123/Makefile.am, src/libmpg123/decode.h,
	  src/libmpg123/optimize.c, src/libmpg123/synth.c,
	  src/libmpg123/synth_real.c, src/libmpg123/synth_stereo_x86_64.S,
	  src/libmpg123/synth_stereo_x86_64_float.S: Merge from Taihei's
	  branch: The x86-64 stereo synths.
	  
	  The huge benefit is to be observed for the float stereo synth,
	  but it is also noticable for the 16bit one.
	  In any case: We are _fast_!

2009-04-13 00:04  thor

	* configure.ac: give this a unique library version

2009-04-13 00:03  thor

	* src/libmpg123/dct64_altivec.c, src/libmpg123/decode.h,
	  src/libmpg123/frame.c, src/libmpg123/optimize.c,
	  src/libmpg123/synth_altivec.c,
	  src/libmpg123/synth_x86_64_float.S, src/libmpg123/tabinit.c:
	  Merges from Taihei's branch:
	  
	  - modified decwin initialization code for float SSE and AltiVec
	  - improved float SSE synth
	  - improved AltiVec synth and dct64, including a new float output
	  function
	  
	  This includes adaptions to the improved synth selection
	  structure, so in effect the AltiVec code is untested currently.

2009-04-12 23:31  thor

	* configure.ac, src/libmpg123/decode.h, src/libmpg123/frame.h,
	  src/libmpg123/layer1.c, src/libmpg123/layer2.c,
	  src/libmpg123/layer3.c, src/libmpg123/optimize.c,
	  src/libmpg123/synth.c, src/libmpg123/synths.h: prepare for
	  Taihei's stereo optimizations
	  
	  ... using one generic stereo wrapper instead of lots of specific
	  ones.

2009-04-12 22:36  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/config.h, src/libmpg123/dct64_sse.S: MSVC SSE build
	  Move REAL_IS_FLOAT from project defines into config.h

2009-04-12 22:00  thor

	* configure.ac, src/libmpg123/optimize.c: fix / clean up active
	  decoder detection
	  
	  This helps the sse-only x86 build to work with float output...

2009-04-12 21:41  thor

	* configure.ac: yeah, there have been changes to libmpg123

2009-04-12 21:41  thor

	* Makefile.am: do not include test/ stuff anymore

2009-04-12 20:44  thor

	* test: moving the test stuff to its own place

2009-04-12 20:41  thor

	* src/libmpg123/Makefile.am, src/libmpg123/frame.h,
	  src/libmpg123/optimize.c, src/libmpg123/optimize.h,
	  src/libmpg123/synth.c, src/libmpg123/synth_8bit.c,
	  src/libmpg123/synth_8bit.h, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/libmpg123/synths.h: Restructure
	  the synth function choosing; removing a good deal of ugly code.
	  
	  After realizing that the synth function calls are via the pointer
	  in fr->synth (usually), the opt_synth_ macros have been
	  eliminated.
	  The frame struct now hosts a struct with arrays of all synth
	  functions that are available for the chosen decoder -- instead of
	  lots if individual pointer variables. That way, the code in
	  optimize.c could be simplified.
	  
	  Also, the changes for stereo synths are hopefully small, and even
	  the i486 code should then be able to be integrated in a x86
	  build; though one can debate on how much sense this makes.

2009-04-12 20:04  thor

	* test/compliance.sh, test/rmsdouble.c: update rmsdouble and
	  include script for instant ISO MPEG compliance testing

2009-04-12 19:46  thor

	* src/libmpg123/dct64_3dnowext.S, src/libmpg123/dct64_mmx.S,
	  src/libmpg123/mangle.h, src/libmpg123/synth_i586_dither.S: Remove
	  occurences of $ASM_NAME, use a fixed ASM_VALUE instead.

2009-04-12 19:12  thor

	* src/libmpg123/tabinit.c: explicit debug message for MMX tables

2009-04-12 19:11  thor

	* src/playlist.c: fix breakage with --loop introduced with my
	  changes to random mode

2009-04-09 07:44  thor

	* src/libmpg123/synth_sse3d.h: make proper comments out of the APP
	  markers, msvc did not like it

2009-04-09 07:29  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj: Use project instead
	  of solution relative path's to generate and compile asm files.

2009-04-09 00:06  patr3ck

	* ports/MSVC++/examples/feedseek.c: Undo the last commit for
	  feedseek.c, it should have not been included

2009-04-08 23:51  patr3ck

	* windows-builds.sh: Add missing in, spotted by jon_y

2009-04-08 23:27  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/examples/feedseek.c, ports/README: First asm build
	  for MSVC++ using the yasm compiler. Thanks go to jon_y for the
	  idea how to integrate this build into MSVC++.

2009-04-08 23:09  patr3ck

	* src/libmpg123/dct64_mmx.S: Replace all fistp/fist with
	  fistps/fists to make yasm happy, thanks go to Taihei Monma for
	  the solution suggestion

2009-04-08 20:07  patr3ck

	* src/output/win32.c: Don't swallow output buffers at the end of
	  playing an audio. One buffer is still not played.

2009-04-08 15:19  patr3ck

	* src/libmpg123/mangle.h: Add assembler-preprocessor support for
	  MSVC (courtesy of JonY).

2009-04-07 10:16  thor

	* src/playlist.c, src/playlist.h: Increasing perceived randomness
	  of random play by decreasing mathematical randomness (prevent
	  repetition of tracks within half of total playlist size).

2009-04-06 22:28  thor

	* windows-builds.sh: untested attempt to merge in the x86-64 cross
	  compilation script from JonY

2009-04-05 17:45  thor

	* src/libmpg123/dct64_x86_64_float.S,
	  src/libmpg123/synth_x86_64_float.S: add the missing assembler
	  files for floating point x86-64 SSE

2009-04-05 17:32  thor

	* src/libmpg123/id3.c: again, printf format for the unsigned
	  encoding

2009-04-05 17:31  thor

	* src/libmpg123/id3.c: proper format for unsigned encoding value

2009-04-05 16:41  thor

	* src/libmpg123/optimize.c: Oh, yeah... let the floating-point SSE
	  use the floating-point tables!
	  
	  The float output with x86-64 optimization works fine now, also
	  passes MPEG 1 layer 3 ISO conformity.
	  A note on that: Indeed, x86-64 looks a bit worse here than x86
	  (also the generic code) because of the switch from x87's internal
	  80 bits.

2009-04-05 16:32  thor

	* test/s16_double.c: faster s16_double too

2009-04-05 15:38  thor

	* configure.ac, src/libmpg123/Makefile.am, src/libmpg123/decode.h,
	  src/libmpg123/optimize.c, src/libmpg123/optimize.h,
	  src/libmpg123/synth_real.c: Add x86_64 decoder with float output
	  form Taihei.
	  
	  It is about 10% faster than generic, and not net properly working
	  (high-pitch noise in output).

2009-04-05 15:37  thor

	* test/f32_double.c, test/rmsdouble.c: Speed up the RMS and float
	  conversion stuff.

2009-04-05 14:04  thor

	* src/libmpg123/synth.c: code formatting

2009-04-05 12:25  thor

	* src/libmpg123/id3.c: fix potential invalid buffer access with
	  negative encoding values

2009-04-05 11:02  thor

	* configure.ac: increase lib patchlevel

2009-04-05 11:01  thor

	* src/libmpg123/libmpg123.c: prevent multiple needless
	  mpg123_init() work

2009-04-05 11:01  thor

	* src/libmpg123/frame.c: Fix weird performance issue by increasing
	  decwin alignment to 64 bytes, matching (effective) cacheline size
	  of current x86 CPUs.
	  
	  Have to wonder if
	  a) one should make this (compile time, run time?) tunable
	  b) system malloc() should actually take care of this.

2009-04-04 07:37  thor

	* src/libmpg123/id3.c: catch l==0 earlier in the UTF16 conversion;
	  this was a possible crash/overflow

2009-04-03 09:20  thor

	* src/control_generic.c: the same RVA fix for generic control

2009-04-03 09:12  thor

	* src/term.c: fix the silence on RVA change, stupid bug

2009-04-03 08:37  thor

	* NEWS: note x86-64

2009-04-03 08:30  thor

	* configure.ac: fix help message to mention correct x86-64 decoder
	  choice

2009-04-03 07:11  thor

	* src/libmpg123/synth_x86_64.S: a little fix from Taihei

2009-04-02 22:31  thor

	* AUTHORS, configure.ac, src/libmpg123/Makefile.am,
	  src/libmpg123/dct64_x86_64.S, src/libmpg123/decode.h,
	  src/libmpg123/optimize.c, src/libmpg123/optimize.h,
	  src/libmpg123/synth.c, src/libmpg123/synth_x86_64.S,
	  src/libmpg123/tabinit.c: add shiny new x86-64 SSE optimizations
	  by Taihai Monma

2009-04-02 20:18  thor

	* src/libmpg123/frame.c, src/libmpg123/id3.c,
	  src/libmpg123/layer1.c, src/libmpg123/layer2.c,
	  src/libmpg123/layer3.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/parse.c, src/libmpg123/readers.c: by Patrick: add
	  various casts and type corrections to make compilers feel more
	  comfy

2009-03-29 23:10  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj: Add debug symbols

2009-03-29 23:05  patr3ck

	* ports/MSVC++/2008/mpglib/mpglib.vcproj: Disable warning 4996
	  (deprecated open/close etc)

2009-03-29 10:55  thor

	* NEWS, configure.ac: update version for next target, lib changed a
	  bit again, too

2009-03-29 10:53  thor

	* src/module.c: Optional environment variable MPG123_MODDIR to
	  replace the compiled-in PKGLIBDIR for finding modules... still, a
	  module build does not work from the source directory and that
	  sucks.

2009-03-29 10:26  patr3ck

	* src/libmpg123/synth_ntom.h: Fix a few C4018: signed/unsigned
	  mismatch warnings on MSVC

2009-03-27 07:10  thor

	* src/output/arts.c: Fix arts custom data type... use a proper
	  storage place of the correct type and size instead of ao->fn.
	  Also using arts_free now, what does not prevent the artsc lib
	  from leaking memory.
	  Well, arts is dead anyway.

2009-03-27 07:08  thor

	* src/audio.c: fix output types for WAV

2009-03-25 23:34  patr3ck

	* src/libmpg123/sample.h: Fix the C4146 compiler warnings as
	  suggested by Thomas

2009-03-25 18:09  thor

	* src/libmpg123/dnoise.sh: fix dither noise script portability
	  (Solaris)

2009-03-23 11:51  patr3ck

	* Makefile.am: Include the new feedseek.c to source distributions

2009-03-23 11:39  patr3ck

	* ports/MSVC++/2005/feedseek/feedseek.vcproj,
	  ports/MSVC++/2008/feedseek/feedseek.vcproj,
	  ports/MSVC++/examples/feedseek.c: Add unicode feedseek to MSVC++
	  2005/ 2008 projects.
	  Patch contributed by JonY (10walls@gmail.com).

2009-03-23 11:31  patr3ck

	* src/libmpg123/mpg123lib_intern.h: Add explicit cast in the
	  DOUBLE_TO_REAL and REAL_TO_SHORT macros as sugested by Thomas.
	  This fixes around 30 warnings on MSVC.

2009-03-23 11:08  thor

	* src/output/aix.c, src/output/jack.c, src/output/sun.c: remove
	  usage of the mpg123 param struct in modules... we need a proper
	  interface for that

2009-03-23 11:04  thor

	* src/libmpg123/sample.h: remove unneeded sample macro

2009-03-22 23:41  thor

	* configure.ac, src/libmpg123/decode.h, src/libmpg123/optimize.c:
	  hotfix for build without 8bit

2009-03-22 22:44  thor

	* configure.ac, src/libmpg123/layer3.c: less verbose

2009-03-22 08:55  thor

	* src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c: Make the combination of doublespeed
	  and halfspeed work as with 0.59r: -d 2 -h 2 is a noop again.
	  The other variant where that is every 2nd frame repeated is also
	  a valid interpretation, of course.

2009-03-21 15:40  thor

	* src/output/Makefile.am, src/output/coreaudio.c: include sfifo in
	  coreaudio like for the other modules that need it to reduce link
	  issues, extra flags not needed (hopefully)

2009-03-21 14:50  thor

	* src/libmpg123/optimize.c, src/output/Makefile.am: MacOS fixes by
	  Taihai Monma

2009-03-21 11:20  thor

	* NEWS, NEWS.libmpg123: news update

2009-03-21 11:13  thor

	* configure.ac, src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c: Fix the decoding bug that surfaced
	  with the doublespeed action -- a set_pointer(512) has been
	  removed where it was needed when skipping frames.

2009-03-11 10:41  thor

	* NEWS: added NEWS about sndio

2009-03-11 10:12  thor

	* configure.ac: giving the lib a new verison, marking the first
	  libmpg123 with actually working MPG123_UPSPEED

2009-03-11 07:51  thor

	* NEWS, src/libmpg123/libmpg123.c: fix doublespeed paramter, was a
	  no-op in all 1.x mpg123 so far

2009-03-10 22:27  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2008/mpg123.sln: Added dll builds
	  Removed i486 builds
	  Got rid of the many different output directories. Build results
	  can now be found in a Debug/Release directory

2009-03-10 22:05  thor

	* windows-builds.sh: .dll, not .so

2009-03-09 01:01  thor

	* configure.ac, src/libmpg123/libmpg123.c, src/mpg123.c: Prevent
	  error message for setting frame index when frame index is
	  disabled.
	  Now you only get the error when actually trying to set the index
	  size to something non-zero.

2009-03-09 00:48  thor

	* src/libmpg123/decode.h, src/libmpg123/mpg123lib_intern.h: fixed
	  point decoder builds again... OUT_REAL and OUT_S32 are always
	  needed

2009-03-09 00:47  thor

	* windows-builds.sh: trying to get the needed libltdl.dll into the
	  win32 binpacks

2009-03-05 09:50  thor

	* configure.ac: repair the modules switch, deleted too much earlier

2009-03-05 08:22  thor

	* configure.ac: do not disable modules on windows anymore

2009-03-05 08:20  thor

	* Makefile.am: include the msvc example stuff in distribution

2009-03-03 22:26  patr3ck

	* doc/examples/scan.c, ports/MSVC++/2008/scan/scan.vcproj,
	  ports/MSVC++/examples, ports/MSVC++/examples/scan.c: Split scan.c
	  into a general and a MSVC specific one to get rid of #ifdefs

2009-03-03 13:14  thor

	* NEWS: document sizes of libmpg123 with reduced features

2009-03-03 12:57  thor

	* NEWS, TODO: updated NEWS and TODO for immanent 1.7.0

2009-03-03 12:53  thor

	* configure.ac: Added --disable-messages.

2009-03-03 12:40  thor

	* configure.ac: patchlevel

2009-03-03 12:33  thor

	* src/libmpg123/format.c, src/module.c: (c) 2009

2009-03-03 12:32  thor

	* windows-builds.sh: Added plugin handling to the windows build
	  script.
	  Needs testing.

2009-03-03 11:57  thor

	* NEWS, src/module.c: More flexible search for plugin dirs, now
	  working on a list (added "plugins" relative to binary).

2009-03-02 14:11  patr3ck

	* doc/examples/scan.c,
	  ports/MSVC++/2008/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2008/mpg123.sln, ports/MSVC++/2008/scan,
	  ports/MSVC++/2008/scan/scan.vcproj, ports/MSVC++/mpg123.h,
	  ports/MSVC++/msvc.c: Handles which are opened by _topen must be
	  used with _read and _close functions
	  Added a MSVC++ scan project for the scan.c example

2009-03-02 13:57  thor

	* src/module.c: more module verbosity on error

2009-02-19 11:36  thor

	* src/libmpg123/Makefile.am, src/libmpg123/dct36_3dnow.S,
	  src/libmpg123/dct36_3dnow.sx, src/libmpg123/dct36_3dnowext.S,
	  src/libmpg123/dct36_3dnowext.sx, src/libmpg123/dct64_3dnow.S,
	  src/libmpg123/dct64_3dnow.sx, src/libmpg123/dct64_3dnowext.S,
	  src/libmpg123/dct64_3dnowext.sx, src/libmpg123/dct64_mmx.S,
	  src/libmpg123/dct64_mmx.sx, src/libmpg123/dct64_sse.S,
	  src/libmpg123/dct64_sse.sx, src/libmpg123/equalizer_3dnow.S,
	  src/libmpg123/equalizer_3dnow.sx, src/libmpg123/getcpuflags.S,
	  src/libmpg123/getcpuflags.sx, src/libmpg123/synth_3dnow.S,
	  src/libmpg123/synth_3dnow.sx, src/libmpg123/synth_3dnowext.S,
	  src/libmpg123/synth_3dnowext.sx, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586.sx, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_i586_dither.sx, src/libmpg123/synth_mmx.S,
	  src/libmpg123/synth_mmx.sx, src/libmpg123/synth_sse.S,
	  src/libmpg123/synth_sse.sx, src/libmpg123/tabinit_mmx.S,
	  src/libmpg123/tabinit_mmx.sx: Revert the rename of .S to .sx.
	  This .sx ending only works with current gcc, older gccs choke
	  badly on the files, thinking there's some linker fodder.
	  While directly calling cpp on these files works fine,
	  libtool/automake insist on calling gcc -E, which does _not_ work.
	  What's the portable way to handle this? I am sick of this mess.
	  Users of MinGW please use csmake, that hoepfully detects the big
	  .S .
	  We do not support assembler optimizations on systems that cannot
	  handle .S (and the possible temporary file with .s).

2009-02-18 15:07  thor

	* autogen.sh, src/libmpg123/Makefile.am,
	  src/libmpg123/dct36_3dnow.S, src/libmpg123/dct36_3dnow.sx,
	  src/libmpg123/dct36_3dnowext.S, src/libmpg123/dct36_3dnowext.sx,
	  src/libmpg123/dct64_3dnow.S, src/libmpg123/dct64_3dnow.sx,
	  src/libmpg123/dct64_3dnowext.S, src/libmpg123/dct64_3dnowext.sx,
	  src/libmpg123/dct64_mmx.S, src/libmpg123/dct64_mmx.sx,
	  src/libmpg123/dct64_sse.S, src/libmpg123/dct64_sse.sx,
	  src/libmpg123/equalizer_3dnow.S,
	  src/libmpg123/equalizer_3dnow.sx, src/libmpg123/getcpuflags.S,
	  src/libmpg123/getcpuflags.sx, src/libmpg123/synth_3dnow.S,
	  src/libmpg123/synth_3dnow.sx, src/libmpg123/synth_3dnowext.S,
	  src/libmpg123/synth_3dnowext.sx, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586.sx, src/libmpg123/synth_i586_dither.S,
	  src/libmpg123/synth_i586_dither.sx, src/libmpg123/synth_mmx.S,
	  src/libmpg123/synth_mmx.sx, src/libmpg123/synth_sse.S,
	  src/libmpg123/synth_sse.sx, src/libmpg123/tabinit_mmx.S,
	  src/libmpg123/tabinit_mmx.sx: Rename the .S files to .sx,
	  preventing trouble on non-case-sensitive platforms.
	  Now we also don't need the explicit .S preprocessing rule anymore
	  and thus automake-1.10 is no problem.

2009-02-17 10:10  thor

	* configure.ac: try to autodetect -lnsl and -lsocket (for solaris,
	  gethostbyname is() in one, socket() in the other)

2009-02-15 10:00  thor

	* NEWS, configure.ac, src/output/Makefile.am: Supposedly, modules
	  work out of the box under MinGW when one includes the
	  -no-undefined flag...

2009-02-15 00:55  thor

	* src/buffer.c, src/libmpg123/frame.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/optimize.c, src/libmpg123/parse.c, src/mpg123.c,
	  src/mpg123app.h, src/output/portaudio.c, src/output/pulse.c,
	  src/output/sdl.c: update some years to 2009

2009-02-15 00:53  thor

	* NEWS, man1/mpg123.1, src/buffer.c, src/mpg123.c, src/mpg123app.h:
	  add that preload tuning parameter

2009-02-14 19:38  thor

	* src/libmpg123/Makefile.am: re-enable RPATH builds, libmpg123.sym
	  is a local file now, being generated

2009-02-14 19:27  thor

	* configure.ac: add win32 to default audio help, sort
	  alphabetically

2009-02-14 19:09  thor

	* configure.ac: try to settle the socket library issue (note: one
	  could make it conditional on ipv6 usage)

2009-02-14 18:53  thor

	* configure.ac: Will not disable posix/callback input so soon...
	  not that much gain anyway

2009-02-14 18:53  thor

	* src/output/sdl.c: include windows.h for Sleep()

2009-02-14 18:44  thor

	* configure.ac, src/libmpg123/readers.c: Make the feeder/buffer
	  code disable-able.

2009-02-14 18:42  thor

	* src/output/win32.c: Try to fix the HWAVEOUT mess... it's no
	  integer!

2009-02-14 18:03  thor

	* configure.ac: Only enable the ABI alignment stuff on i386
	  arches... (together with the change in mpg123lib_intern.h from
	  last commit)

2009-02-14 18:02  thor

	* src/audio.c, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/optimize.c: C90 fixes

2009-02-14 17:50  thor

	* configure.ac, src/libmpg123/readers.c: prevent timeout reader
	  setup with user-replaced read function

2009-02-14 17:39  thor

	* configure.ac: yeah, bugfix happened, increment version

2009-02-14 17:39  thor

	* src/libmpg123/readers.c: Let the feed reader error out on open
	  when ICY interval is set.
	  It is not that trivial to support this and handle
	  MPG123_NEED_MORE properly.
	  I advise users to employ mpg123_replace_reader when custom I/O
	  and ICY is needed.
	  If that's not possible... well, gotta filter ICY yourself:-/

2009-02-14 17:19  thor

	* src/libmpg123/layer3.c, src/libmpg123/libmpg123.c: a bit less
	  default verbosity

2009-02-14 17:14  thor

	* src/Makefile.am, src/output/portaudio.c, src/output/sdl.c,
	  src/sfifo.c, src/sfifo.h: MAke the sfifo code statically local to
	  the few output modules that need it.

2009-02-14 16:43  thor

	* src/output/alsa.c, src/output/os2.c, src/output/pulse.c,
	  src/output/sgi.c, src/output/win32.c: internal module functions
	  are static, marking leftovers

2009-02-14 10:38  thor

	* ports/MSVC++/2005/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2008/libmpg123/libmpg123.vcproj: attempt to update
	  the project files for added sample.h

2009-02-14 10:34  thor

	* src/libmpg123/frame.c, src/libmpg123/frame.h: Reuse rawdecwin if
	  possible (realloc-like, like rawbuffs).

2009-02-14 10:13  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/optimize.c: Make sure
	  that frame_buffers is only called in the synth function setup,
	  where it's followed by make_decode_tables.
	  Also, changed the error of frame_buffers failing in
	  set_synth_functions to indicate buffer (memory) problem.

2009-02-14 10:06  thor

	* src/libmpg123/optimize.c: Most probably pinned bug 2472726.
	  I finally have been able to reproduce it with the help of
	  valgrind, which changed the memory management.
	  After a resync, the frame buffers get (re)allocated, in case of
	  the decwin, that's a free() of the old and immediately malloc()
	  of the new.
	  With normal glibc memory management that resulted in the same
	  block of memory than before being assigned (when the size did not
	  change).
	  Thus, the failure to call make_decode_tables on the new memory ws
	  hidden because the old values were still there.
	  
	  So, the easy fix is to call make_decode_tables everytime after
	  changing the frame buffers. Waiting for confirmation from the
	  Windows folks...

2009-02-14 10:00  thor

	* src/libmpg123/frame.c: error protection got not initialized

2009-02-14 09:59  thor

	* src/libmpg123/libmpg123.c: debug message format fixed

2009-02-13 15:41  thor

	* src/libmpg123/Makefile.am: also distribute the sample.h...

2009-02-13 15:40  thor

	* src/libmpg123/decode.h, src/libmpg123/sample.h,
	  src/libmpg123/synth.c, src/libmpg123/synth_8bit.c,
	  src/libmpg123/synth_altivec.c, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c: Extract the WRITE_SAMPLE macros out of
	  decode.h into sample.h,
	  only the synth functions need these.

2009-01-10 18:07  thor

	* src/output/jack.c: Add named connections to JACK output (the -a
	  parameter can now take a comma-separated list of output ports).
	  When you choose only one port, stereo output gets mixed down into
	  this one by jackd.

2009-01-10 17:21  thor

	* src/mpg123.c: That hint about resampling is not true anymore.

2009-01-10 16:38  thor

	* scripts/debugdef.pl, src/libmpg123/debug.h: Add new preprocessor
	  flags to disable error / warning messages.
	  That can save around 9K on libmpg123.

2009-01-10 16:37  thor

	* NEWS: also the news entry for the ntom fix

2009-01-10 16:36  thor

	* configure.ac, src/libmpg123/libmpg123.c: Include the fix (from
	  1.6.4) for ntom + seeking + frame fillup, and ntom consistency
	  with seeking as side effect.

2009-01-10 14:17  thor

	* src/libmpg123/layer3.c: Fix resampling modes for i486 (the
	  special optimization only applies to 1to1 synth).

2009-01-10 10:45  thor

	* src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/synth_i486.c: fix i486 decoder with the bo business

2009-01-10 10:18  thor

	* src/libmpg123/synth_altivec.c: fix altivec's fr->bo usage
	  (theoretically, need someone with an apple box to test)

2009-01-09 14:30  patr3ck

	* ports/MSVC++/2005/feedseek,
	  ports/MSVC++/2005/feedseek/feedseek.vcproj,
	  ports/MSVC++/2005/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2005/mpg123.sln, ports/MSVC++/2005/mpglib,
	  ports/MSVC++/2005/mpglib/mpglib.vcproj,
	  ports/MSVC++/2008/feedseek/feedseek.vcproj,
	  ports/MSVC++/2008/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2008/mpg123.sln: VS2005 build environment catchup
	  including examples and release optimization settings.
	  Additionally fix a few VS2008 compiler settings along the way.

2008-12-29 22:36  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/Makefile.am,
	  src/libmpg123/decode.h, src/libmpg123/format.c,
	  src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/icy.h, src/libmpg123/icy2utf8.h,
	  src/libmpg123/id3.c, src/libmpg123/id3.h, src/libmpg123/layer2.c,
	  src/libmpg123/layer3.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/optimize.c,
	  src/libmpg123/optimize.h, src/libmpg123/parse.c,
	  src/libmpg123/readers.c, src/libmpg123/synth.c,
	  src/libmpg123/synth_8bit.c, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/libmpg123/tabinit.c: Massive
	  commit. That's holiday season for you.
	  This one is all about reducing libmpg123 size via --disable
	  switches to configure.
	  id3v2 handling, icy, output formats, MPEG layers ... have fun!

2008-12-29 22:32  thor

	* src/legacy_module.c: typos

2008-12-20 16:35  thor

	* .: ignore changes in ChangeLog

2008-12-20 16:34  thor

	* NEWS: add notes for 1.6.3

2008-12-20 16:33  thor

	* configure.ac: again... a fix for configure default: really enable
	  fifo when autodetected

2008-12-19 19:19  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/mpg123.h: Add int32_t and uint32_t definitions to
	  MSVC++ mpg123.h

2008-12-15 10:00  thor

	* src/metaprint.c: Actually use the output stream argument of
	  print_icy (no user-visible change, though).

2008-12-14 19:12  thor

	* .: ignore

2008-12-14 19:07  thor

	* src/libmpg123: ignore

2008-12-14 19:05  thor

	* doc/examples: ignore

2008-12-14 19:04  thor

	* test/README: mention forkfaint

2008-12-14 19:02  thor

	* test/hex24_s32.c: hex 24bit ASCII -> native signed 32bit integer

2008-12-14 19:01  thor

	* test/README: Notes about test/

2008-12-14 18:23  thor

	* AUTHORS, configure.ac, src/Makefile.am, src/output/Makefile.am,
	  src/output/sndio.c: Adding sndio output, contributed by Christian
	  Weisgerber.
	  Not tested by self, lacking an OpenBSD install.

2008-12-12 14:46  thor

	* test/s16_double.c: note about s16 scaling

2008-12-12 14:46  thor

	* test/rmsdouble.c: Interpret the limits as already being relative
	  to full scale. Makes sense.

2008-12-12 14:33  thor

	* src/audio.c, src/audio.h, src/mpg123.c: Give proper help for
	  --encoding with list of encodings.
	  Also fixed s8 u8 nlen value to 2.

2008-12-12 14:12  thor

	* configure.ac, src/audio.c, src/config.h.legacy,
	  src/libmpg123/Makefile.am, src/libmpg123/decode.h,
	  src/libmpg123/format.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in,
	  src/libmpg123/mpg123lib_intern.h, src/libmpg123/optimize.c,
	  src/libmpg123/optimize.h, src/libmpg123/synth.c,
	  src/libmpg123/synth_8bit.c, src/libmpg123/synth_real.c,
	  src/libmpg123/synth_s32.c, src/mpg123.c, src/mpg123app.h,
	  src/output/alsa.c: A tale about output.
	  - Signed 32bit integer output (generic/i386).
	  - Postprocessing for unsigned 16 or 32 bit integer.
	  - Fixing 32bit integer encoding flags (sorry... but they didn't
	  do anything before anyway).
	  - Split synth stuff into some files according to output format.
	  Trying to be easier on compilers.
	  - Alsa output supports 32bit and float formats now.
	  - New mpg123 command line parameter to force a specific output
	  encoding (--encoding) ... not yet documented.

2008-12-12 14:07  thor

	* test/Makefile, test/s32_double.c: Also add signed 32bit handling.

2008-12-12 13:44  thor

	* test, test/Makefile, test/f32_double.c, test/hex24_double.c,
	  test/rms32.c, test/rmsdouble.c, test/s16_double.c: Some system
	  work for compliance testing.
	  I can reproduce
	  http://www.underbit.com/resources/mpeg/audio/compliance/ for
	  layer3 and generic decoder, the numbers.
	  Only, that I interpret the compliance restriction differently.
	  Anyhow: When using f32 output, mpg123 is clearly compliant. the
	  16bit truncation is a bit of a question.

2008-12-12 13:42  thor

	* test/1000Hz/work.sh: updated / corrected lame options

2008-12-10 19:18  thor

	* src/libmpg123/id3.c, src/libmpg123/mpg123.h.in: Hacking a variant
	  of the USLT idea from sf.net issue #1883610 .
	  Untested.

2008-12-10 16:48  thor

	* src/libmpg123/format.c, src/libmpg123/frame.c,
	  src/libmpg123/frame.h, src/libmpg123/libmpg123.c: Fix sf.net bug
	  #2413608: The new_format flag got lost when you close the track
	  without querying it.
	  Now the output format gets cleared on that occasion so that
	  format newness arises anew on next track.

2008-12-10 00:51  thor

	* src/term.c: remove unused variable

2008-12-10 00:51  thor

	* src/libmpg123/optimize.c: fix optimize.c, with leftover DEBUG,
	  too

2008-12-09 23:43  thor

	* configure.ac, src/libmpg123/mpg123.h.in,
	  src/libmpg123/optimize.c, src/libmpg123/optimize.h, src/term.c: -
	  WIP API change: mpg123_current_decoder returns a const char*, not
	  an index
	  - some cleaning up (can I really call it like that?) in
	  optimize.c
	  - fixing up single i586_dither build

2008-12-09 23:04  thor

	* src/libmpg123/synth_i586_dither.S: Fixing a bug with two faces in
	  i586 dither code: Wrong stack variable access for ditherindex and
	  dithernoise.
	  The latter has been new, the former must have been there from the
	  beginning but harmless.
	  Hm.. but how much of the noise has been used before?

2008-12-09 17:50  thor

	* src/libmpg123/decode.h, src/libmpg123/optimize.c,
	  src/libmpg123/optimize.h, src/libmpg123/synth.c,
	  src/libmpg123/synth.h: Adding 2to1 and 4to1 dithered synth with
	  generic code.
	  Also used for i586_dither decoder's downsampling.

2008-12-09 11:53  thor

	* configure.ac, src/libmpg123/decode.h, src/libmpg123/dnoise.sh,
	  src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/optimize.c, src/libmpg123/optimize.h,
	  src/libmpg123/synth.c, src/libmpg123/synth.h,
	  src/libmpg123/synth_i586_dither.S, src/libmpg123/synth_ntom.h:
	  More experiment: First steps to prepare outsourcing of the
	  dithernoise, adding a generic_dither decoder offering a portable
	  alternative to synth_1to1_i586_dither.

2008-11-30 14:39  thor

	* doc/examples/feedseek.c: fix a bit off_t versus size_t

2008-11-30 14:38  thor

	* doc/examples/Makefile: give it some space
	  Note: that simple makefile won't work with static linking.

2008-11-28 20:24  patr3ck

	* Makefile.am, doc/Makefile.am, doc/examples/Makefile: Add feedseek
	  example to makefile and distribution
	  Add new MSVC solution and project files to distribution

2008-11-28 17:29  patr3ck

	* ports/MSVC++/2008/mpg123.sln: Add MSVC++ solution file that holds
	  the library and example projects

2008-11-28 17:27  patr3ck

	* ports/MSVC++/2008/mpglib, ports/MSVC++/2008/mpglib/mpglib.vcproj:
	  add MSVC++ project file for mpglib example

2008-11-28 17:27  patr3ck

	* doc/examples/feedseek.c, ports/MSVC++/2008/feedseek,
	  ports/MSVC++/2008/feedseek/feedseek.vcproj: new programming
	  example fuzzy seeking in feeder mode

2008-11-27 22:58  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj: Add optimize flags
	  to the rest of the release builds, all release builds are now
	  tuned for speed

2008-11-27 22:55  patr3ck

	* doc/examples/mpglib.c: Make it compile under MSVC++

2008-11-25 23:57  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj: Enable some
	  compiler optimizations for the i486 release build

2008-11-21 13:25  thor

	* Makefile.am: add msvc.c to distribution

2008-11-18 00:44  patr3ck

	* ports/MSVC++/2005/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2008/libmpg123/libmpg123.vcproj: add REAL_IS_FLOAT
	  to all builds to make float output with MPG123_ENC_FLOAT_32
	  working

2008-11-17 20:40  patr3ck

	* src/libmpg123/libmpg123.c: mpg123_length now returns mpg123_tell
	  if nothing else works

2008-11-12 10:18  thor

	* Makefile.am, NEWS: added equalize.dat to the distribution, been
	  missing

2008-11-11 23:08  thor

	* src/libmpg123/libmpg123.c: not mh here

2008-11-11 23:05  thor

	* src/libmpg123/libmpg123.c: Restore buffer initialization for
	  mpg123 handle on initial mpg123_parnew()
	  The whole think with mpg123_parnew() / mpg123_decoder() /
	  decode_update() has to be cleaned up!

2008-11-11 23:04  thor

	* NEWS, configure.ac: import the 1.6.2 fix for IPv6 auto detection
	  in configure

2008-11-10 20:57  patr3ck

	* ports/MSVC++/2005/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2008/libmpg123/libmpg123.vcproj: Catch up to latest
	  code restructuring

2008-11-10 01:04  thor

	* src/libmpg123/format.c: remove that debugging line

2008-11-10 00:58  thor

	* src/libmpg123/synth_i486.c: Ah, alright, it was just a missing i
	  ... absynth_1to1_i486 instead of absynth_1to1_486!

2008-11-10 00:55  thor

	* src/Makefile.legacy: legacy built sort of working again; but also
	  has trouble with i486

2008-11-10 00:53  thor

	* src/libmpg123/optimize.c: code fixup for non-multi ... i486 still
	  broken strangely

2008-11-10 00:34  thor

	* NEWS: NEW sync and update

2008-11-09 23:55  thor

	* configure.ac, src/libmpg123/Makefile.am: build system fixup for
	  the synth_ rename

2008-11-09 23:47  thor

	* src/libmpg123/synth_float.c: removed synth_float.c, it's in
	  synth.c

2008-11-09 23:45  thor

	* configure.ac: remove bashisms, thanks to Christian Weisgerber

2008-11-09 23:30  thor

	* src/libmpg123/decode_3dnow.S, src/libmpg123/decode_3dnowext.S,
	  src/libmpg123/decode_float.c, src/libmpg123/decode_i586.S,
	  src/libmpg123/decode_i586_dither.S, src/libmpg123/decode_mmx.S,
	  src/libmpg123/decode_sse.S, src/libmpg123/decode_sse3d.h,
	  src/libmpg123/synth_3dnow.S, src/libmpg123/synth_3dnowext.S,
	  src/libmpg123/synth_float.c, src/libmpg123/synth_i586.S,
	  src/libmpg123/synth_i586_dither.S, src/libmpg123/synth_mmx.S,
	  src/libmpg123/synth_sse.S, src/libmpg123/synth_sse3d.h: Complete
	  the rename of decode_ files to synth_ files.
	  They contain synth functions.

2008-11-09 23:30  thor

	* src/libmpg123/optimize.c: oh, some random keypress went in...

2008-11-09 23:26  thor

	* src/libmpg123/optimize.c: missed a ;

2008-11-09 23:22  thor

	* src/libmpg123/synth_1to1.h: synth_1to1.h is gone

2008-11-09 23:20  thor

	* src/libmpg123/decode.h: update copyright on decode.h

2008-11-09 23:19  thor

	* src/libmpg123/decode_2to1.c, src/libmpg123/decode_4to1.c: Removed
	  more obsolete decode_*, they are gone into synth.c and associated
	  headers.

2008-11-09 23:18  thor

	* src/libmpg123/decode_ntom.c: removed decode_ntom.c

2008-11-09 23:18  thor

	* src/libmpg123/format.c, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/parse.c, src/libmpg123/parse.h: Move the
	  sample<->byte conversion to format.c .

2008-11-09 23:12  thor

	* src/libmpg123/format.c: Don't offer float for fixed build.

2008-11-09 23:12  thor

	* NEWS.libmpg123: updating for 12.0.12

2008-11-09 23:08  thor

	* src/libmpg123/Makefile.am: synth_8bit been missing

2008-11-09 23:05  thor

	* src/output/jack.c: Update the JACK output to also work with float
	  samples as JACK likes it.

2008-11-09 23:05  thor

	* src/mpg123.c: - const char* for decoder names
	  - added --float option (will be documented...)

2008-11-09 23:04  thor

	* src/term.c, src/term.h: Add a key to check for currently active
	  decoder.

2008-11-09 23:02  thor

	* configure.ac, src/libmpg123/Makefile.am, src/libmpg123/compat.h,
	  src/libmpg123/decode.c, src/libmpg123/decode.h,
	  src/libmpg123/decode_altivec.c, src/libmpg123/decode_i386.c,
	  src/libmpg123/decode_i486.c, src/libmpg123/format.c,
	  src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/index.c, src/libmpg123/layer1.c,
	  src/libmpg123/layer2.c, src/libmpg123/layer3.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/libmpg123.sym.in,
	  src/libmpg123/mpg123.h.in, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/optimize.c, src/libmpg123/optimize.h,
	  src/libmpg123/parse.c, src/libmpg123/parse.h,
	  src/libmpg123/synth.c, src/libmpg123/synth.h,
	  src/libmpg123/synth_1to1.h, src/libmpg123/synth_2to1.h,
	  src/libmpg123/synth_4to1.h, src/libmpg123/synth_8bit.h,
	  src/libmpg123/synth_altivec.c, src/libmpg123/synth_i486.c,
	  src/libmpg123/synth_mono.h, src/libmpg123/synth_ntom.h,
	  src/libmpg123/tabinit.c: Bigg-O-Commit: Began with cleaning up
	  layer3 ... ended in long-due overhaul of the whole synth
	  functions and optimization cruft.
	  A lot more is now how it is supposed to be:
	  - Every decoder supports all formats / resamplings, though the
	  optimization only kicks in for certain modes (1to1 16bit, 8bit).
	  - Formats include floating point output in every non-fixed-math
	  build (Yay!).
	  - Redundant code has been merged into the synth* headers.
	  - A possible downside: compiling synth.c is a bit of work, may
	  split that again into synth, synth_8bit, etc.
	  
	  One has to do some side-by-side comparison with 1.6.x with
	  respect to output and speed.
	  I could be that one should re-insert some optimized dct64 in some
	  places (apart from synth_1to1).
	  
	  Well, I hope things are a bit cleaner now... though I don't claim
	  they're less complicated;-)

2008-11-09 22:55  thor

	* NEWS: some notes

2008-11-09 22:22  patr3ck

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj: Add ntom.c to
	  VC2008 project file

2008-11-07 12:09  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/parse.c: remove
	  unreachable code

2008-11-07 12:09  thor

	* src/output/esd.c: Make sure to include config.h early enough.

2008-11-07 12:08  thor

	* autogen.sh: portable sh in autogen.sh

2008-11-07 12:08  thor

	* configure.ac: only use alignment machinery for decoders where it
	  may be useful; the sun compiler complained

2008-11-07 08:54  thor

	* NEWS, src/libmpg123/decode.h, src/libmpg123/format.c: Deactivate
	  unsigned 16bit. It is not handled.
	  Either this deactivation or a converter wrapped into libmpg123
	  will go into 1.6.1 .

2008-11-07 08:53  thor

	* src/libmpg123/layer3.c: Cleanup: reformat layer3.c to consistent
	  style (consistent by my rules;-).

2008-11-06 09:59  thor

	* NEWS, configure.ac, src/common.c, src/control_generic.c,
	  src/libmpg123/compat.h: After seeing that control_generic.c
	  forgot to cast off_t to long for a printf, realized that this is
	  the time to add proper large type printing.
	  We try to use PRIiMAX and friends if possible, else fallback to
	  long.

2008-11-06 09:46  thor

	* configure.ac, src/Makefile.am, src/libmpg123/Makefile.am,
	  src/libmpg123/decode.c, src/libmpg123/decode.h,
	  src/libmpg123/decode_2to1.c, src/libmpg123/decode_4to1.c,
	  src/libmpg123/decode_altivec.c, src/libmpg123/decode_float.c,
	  src/libmpg123/decode_i386.c, src/libmpg123/decode_ntom.c,
	  src/libmpg123/format.c, src/libmpg123/frame.c,
	  src/libmpg123/frame.h, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/ntom.c, src/libmpg123/optimize.c,
	  src/libmpg123/optimize.h, src/libmpg123/parse.c,
	  src/libmpg123/parse.h, src/libmpg123/synth_1to1.h,
	  src/libmpg123/synth_2to1.h, src/libmpg123/synth_4to1.h,
	  src/libmpg123/synth_ntom.h, src/libmpg123/tabinit.c,
	  src/mpg123.c, src/mpg123app.h, src/wav.c, src/wavhead.h: I am
	  insane. I really am. Here comes a first hack at a comined build
	  with floating point output.

2008-11-05 02:07  thor

	* configure.ac: at least a little increment in version for
	  development

2008-11-05 01:23  thor

	* doc/examples/mpglib.c, doc/examples/scan.c: include style

2008-11-04 23:45  thor

	* NEWS: Last notes for 1.6.0!

2008-11-04 18:02  thor

	* configure.ac: closing a quote, un-breaking the build again

2008-11-04 16:44  thor

	* configure.ac: configure cleanup; safer tests and another bugfix
	  for fifo (like ipv6 and network before)

2008-11-04 16:26  thor

	* configure.ac: fix network and ipv6 configuration handling, thanks
	  to Thorsten Glaser for pointers

2008-11-04 16:09  thor

	* src/libmpg123/dct64_3dnowext.S, src/libmpg123/dct64_sse.S: fix
	  remaining #APP / #NO_APP

2008-11-04 09:38  thor

	* src/libmpg123: ignore

2008-11-04 09:34  thor

	* configure.ac, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123lib_intern.h: Work on alignment issues...
	  - Made the actual check easier on compilers (old gcc will not
	  align too small blocks).
	  - Do not use the useless check when using gcc-4.2+.
	  - Some drive-by configure.ac refinement.

2008-11-03 10:36  thor

	* configure.ac, src/libmpg123/libmpg123.c: By default enable the
	  stack alignment check now. The fail case is too serious.
	  Also, it is enhanced to detect a bad build of libmpg123 itself:
	  When you give gcc -mpreferred-stack-boundary=2, it will not
	  handle __attribute__((aligned(16))) variables correctly.
	  I consider this alone to be a bug, but that may be subject to
	  discussion.
	  What is clearly a bug in gcc-4.3.1: The check fails to detect
	  stack misalignment there!
	  The % 16 is apparently optimized to zero at compile time... while
	  at runtime the result is wrong.
	  This depends on some optimization included in -O1 already, or
	  worse, a combination of some (I could not make out a single
	  option that is causing it).
	  Anyhow, gcc-3.3 and gcc-3.4 handle that fine -- at least they
	  detect the misalignment.

2008-11-03 00:39  thor

	* src/libmpg123/dct36_3dnowext.S: fix broken comments (it's
	  preprocessed now!)

2008-11-03 00:32  thor

	* src/output/esd.c: include some headers in esd.c for netbsd

2008-11-03 00:21  thor

	* configure.ac: better BSD detection

2008-11-02 23:26  thor

	* configure.ac: Weird quoting to preserve the [^0-9] as it is
	  needed, M4 swallowed the brackets.

2008-11-02 22:46  thor

	* configure.ac: only use numeric file offset bit values

2008-11-02 22:11  thor

	* configure.ac, src/control_generic.c, src/libmpg123/compat.h,
	  src/libmpg123/libmpg123.sym, src/libmpg123/libmpg123.sym.in,
	  src/libmpg123/mpg123.h.in: More work on largefile support.
	  Now we have some hacks that, at least on systems that deal with
	  _FILE_OFFSET_BITS, prevent mixture of non-largefile and largefile
	  program/library.

2008-11-02 21:27  thor

	* src/libmpg123/frame.c: intialize fr->down_sample; prevents
	  irritating error messages with debugging

2008-11-02 15:25  thor

	* src/libmpg123/parse.c: fix a seeking weirdness; audio_start has
	  been overwritten due to resyncs

2008-11-02 13:35  thor

	* src/libmpg123/frame.c: More verbosity to a theoretically
	  impossible error message that I nevertheless saw in a log from
	  Patrick.
	  What is the deal with fr->down_sample there?

2008-10-28 09:13  thor

	* ports/MSVC++/2005/libmpg123/libmpg123.vcproj: patch from Patrick:
	  update the MSVC++ 2005 project

2008-10-28 09:07  thor

	* src/mpg123.c: Quick hack to have --no-seekbuffer to disable the
	  http stream buffering.
	  Not sure if that will stay, it's for Serge to debug something.

2008-10-27 15:48  thor

	* ports/MSVC++/2008/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/mpg123.h, ports/MSVC++/msvc.c: Integrate new patch
	  from Patrick: Open unicode files for MSVC++.

2008-10-27 15:39  thor

	* src/libmpg123/readers.c: complete the "cannot open file" error
	  msg

2008-10-26 10:40  thor

	* xmms2-plugin/mpg123/mpg123.c: Add the line for fuzzy seeking to
	  the (outdated, actually) xmms2 plugin.

2008-10-26 10:36  thor

	* src/libmpg123/readers.c: (cosmetic) Return MPG123_ERR instead of
	  the return value from open() directly.
	  It's still -1, as always...

2008-10-24 19:09  thor

	* configure.ac, src/libmpg123/index.c, src/libmpg123/index.h:
	  Optimized index a little, not that it really matters.
	  The next frame number to put into is cached.

2008-10-24 10:06  thor

	* src/audio.h, src/mpg123app.h: Header fix, audio.h needs mpg123.h,
	  mpg123app does not need module.h .

2008-10-24 09:34  thor

	* MakeLegacy.sh, configure.ac, src/Makefile.legacy, src/audio.h,
	  src/common.h, src/config.h.legacy, src/httpget.h,
	  src/libmpg123/compat.h, src/libmpg123/icy.h,
	  src/libmpg123/mpg123lib_intern.h, src/local.h, src/metaprint.c,
	  src/metaprint.h, src/module.h, src/mpg123app.h, src/playlist.h,
	  src/term.h: Sort out header issues, merge more stuff into
	  compat.h.
	  Also, reactivate legacy build.

2008-10-24 08:34  thor

	* ports/MSVC++/2005/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2008/libmpg123/libmpg123.vcproj: Convert the MSVC
	  project files to DOS line ending, as they started out.
	  My patch program always strips the trailing CRs ... supposedly a
	  different patch format (unified) would help?

2008-10-24 08:32  thor

	* ports/MSVC++/2005/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/2008/libmpg123/libmpg123.vcproj: MSVC updates from
	  Patrick, mainly additon of index.c and some build cleanup.

2008-10-23 00:04  thor

	* NEWS, NEWS.libmpg123, configure.ac: doc update, lib version
	  update

2008-10-22 23:58  thor

	* src/libmpg123/Makefile.am, src/libmpg123/frame.c,
	  src/libmpg123/frame.h, src/libmpg123/index.c,
	  src/libmpg123/index.h, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/parse.c, src/mpg123.c,
	  src/mpg123app.h: When frame index is enabled, it's size is now
	  runtime-tunable.
	  Along with that, the associated code has found it's own place.
	  
	  The main API header got some comment refinements in addition to
	  the necessary changes.

2008-10-22 23:56  thor

	* configure.ac: - add largefile support detection in configure
	  This will define _FILE_OFFSET_BITS and stuff like that.
	  Users of the lib should be aware of that...
	  - always define INDEX_SIZE

2008-10-22 23:50  thor

	* src/control_generic.c: remove unused variable

2008-10-22 23:49  thor

	* src/libmpg123/compat.h, src/libmpg123/mpg123lib_intern.h:
	  compat.h is the place for system headers

2008-10-22 23:48  thor

	* src/libmpg123/readers.c: lessen default verbosity in reader

2008-10-21 22:10  thor

	* NEWS, configure.ac, src/libmpg123/parse.c: enable frame index
	  also for non-seekable streams ... among that: the feeder, that
	  can seek but differently

2008-10-19 10:44  thor

	* configure.ac, src/libmpg123/frame.c, src/libmpg123/parse.c: Add
	  handling of stream size given by Xing header; that one indeed has
	  been missing.
	  Also warn if it differs significantly from determined file size.

2008-10-19 00:59  thor

	* configure.ac, src/libmpg123/frame.c: A bit more safety with fuzzy
	  seeking, also being paranoid about positive file length with VBR
	  table.

2008-10-18 18:15  thor

	* NEWS, NEWS.libmpg123, src/control_generic.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/libmpg123.sym,
	  src/libmpg123/mpg123.h.in, src/term.c: Adding mpg123_getstate to
	  query things, like "is the current position accurate?".

2008-10-18 18:13  thor

	* src/libmpg123/frame.c: use TRUE, not 1

2008-10-18 12:20  thor

	* man1/mpg123.1: manpage update

2008-10-18 12:05  thor

	* NEWS: NEWS for 1.6.0 ... final?

2008-10-18 12:02  thor

	* configure.ac, src/libmpg123/libmpg123.c: Prevent gapless stuff
	  from fiddling while we don't have an accurate position.
	  ...also updating the patchlevel of the lib for that.

2008-10-18 00:05  thor

	* src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/parse.c: Add usage of the Xing TOC to the fuzzy
	  seeking.
	  Also, trying to silence the resync

2008-10-17 09:24  thor

	* NEWS.libmpg123, configure.ac, src/libmpg123/frame.c,
	  src/libmpg123/frame.h, src/libmpg123/mpg123.h.in,
	  src/libmpg123/parse.c, src/mpg123.c: first guess at fuzzy
	  seeking, using mean framesize as estimate

2008-10-15 09:50  thor

	* windows-builds.sh: Save the readme & co with .txt extension for
	  Windows binary packages.

2008-10-15 08:51  thor

	* windows-builds.sh: again, the hopyfully working version of the
	  script

2008-10-15 08:19  thor

	* src/libmpg123/libmpg123.c: revert the debugging stuff in
	  libmpg123.c; it is not for the repo

2008-10-15 08:17  thor

	* src/libmpg123/libmpg123.c, windows-builds.sh: still a missing
	  adaption of the windows script... hopefully complete now

2008-10-15 00:52  thor

	* INSTALL: another hint for windows (the SSE stack alignment issue)

2008-10-15 00:47  thor

	* INSTALL: hint about win32 binaries

2008-10-15 00:43  thor

	* windows-builds.sh: fix a path there

2008-10-15 00:12  thor

	* Makefile.am, windows-builds.sh: also distribute the build script

2008-10-15 00:10  thor

	* windows-builds.sh: an attempt to have automated windows builds in
	  here

2008-10-13 09:06  thor

	* ports/MSVC++/config.h: do not forget these important features:
	  gapless and seek index

2008-10-11 21:40  thor

	* ports/README: another note for the MSVCers

2008-10-11 16:03  thor

	* Makefile.am: add new ports stuff to distfiles

2008-10-11 15:59  thor

	* NEWS: a bit of credit

2008-10-11 15:57  thor

	* NEWS: doc update

2008-10-11 15:50  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/libmpg123.c,
	  src/libmpg123/libmpg123.sym, src/libmpg123/mpg123.h.in: adding
	  mpg123_tell_stream to get the current input offset

2008-10-11 15:29  thor

	* NEWS, ports/README: doc update for MSVC++ projects

2008-10-11 15:17  thor

	* ports/MSVC++/2005, ports/MSVC++/2005/libmpg123,
	  ports/MSVC++/2005/libmpg123/libmpg123.vcproj, ports/MSVC++/2008,
	  ports/MSVC++/2008/libmpg123,
	  ports/MSVC++/2008/libmpg123/libmpg123.vcproj,
	  ports/MSVC++/config.h: adding MSVC projects by Patrick Dehne

2008-10-11 14:17  thor

	* ports/README: update ports README for MSVC++

2008-10-11 14:14  thor

	* ports/mpg123_msvc.h: don't need that anymore

2008-10-11 14:13  thor

	* ports/MSVC++/mpg123.h: Add a mpg123.h wrapper header to be used
	  by all MSVC++ builds.

2008-10-11 14:10  thor

	* ports/MSVC++/CMP3Stream, ports/MSVC++/CMP3Stream/INCLUDE,
	  ports/MSVC++/CMP3Stream/README, ports/MSVC++/CMP3Stream/SOURCE,
	  ports/MSVC++/CMP3Stream/libMPG123, ports/MSVC++/INCLUDE,
	  ports/MSVC++/README, ports/MSVC++/SOURCE, ports/MSVC++/libMPG123:
	  Move the MSVC++ wrapper class to a subdirectory, preparing for
	  the new MSVC++ projects to come.

2008-10-11 13:49  thor

	* src/libmpg123/mpg123.h.in: make mpg123.h.in directly includable
	  with -DMPG123_NO_CONFIGURE

2008-10-11 13:23  thor

	* src/libmpg123/readers.c: MSVC++ needs io.h in readers.c .

2008-10-11 12:21  thor

	* src/term.c: Fix a funny regression in the loopy pause: We were
	  going backwards in time one frame at a time.

2008-10-11 12:14  thor

	* man1/mpg123.1: An attempt to clarify the terminal control with
	  respect to pausing.
	  ...in the course of that, don't mention the "pause" that is a
	  loop.

2008-10-11 12:04  thor

	* AUTHORS, NEWS, configure.ac, src/libmpg123/frame.c,
	  src/libmpg123/frame.h, src/libmpg123/layer3.c: Integrate bit
	  reservoir patch from Patrick Dehne, fixing playback of badly cut
	  MPEG layer 3 streams.

2008-10-09 11:08  thor

	* src/local.c: UTF-8 env check also using LC_ALL and LC_CTYPE

2008-10-09 10:57  thor

	* src/libmpg123/icy2utf8.c: icy2utf8: comment typo and additions to
	  test

2008-10-08 08:32  thor

	* NEWS, src/local.c, src/mpg123.c, src/mpg123app.h: Added --utf8.

2008-10-08 08:20  thor

	* AUTHORS, NEWS: doc update

2008-10-08 08:20  thor

	* configure.ac, src/Makefile.am, src/local.c, src/local.h,
	  src/mpg123.c, src/mpg123app.h: More elaborate check for UTF-8
	  locale, with setlocale and nl_langinfo.
	  In the course of applying that, moved this locale code out into
	  its own realm.
	  Structure.

2008-10-08 08:18  thor

	* src/libmpg123/icy2utf8.c: Do only convert stuff that is not
	  already UTF-8. There are streams that send UTF-8 ICY metadata...

2008-10-08 08:16  thor

	* configure.ac, src/getlopt.c, src/libmpg123/compat.c,
	  src/libmpg123/compat.h: Moved that replacement strdup to
	  commpat.c, also check for it instead of assuming some specific
	  system.

2008-10-02 13:49  thor

	* NEWS, configure.ac, src/libmpg123/decode_2to1.c,
	  src/libmpg123/decode_4to1.c, src/libmpg123/decode_ntom.c: fix
	  resampling modes for integer decoding (just use REAL_MUL,
	  stupid!)

2008-10-02 13:35  thor

	* src/libmpg123/libmpg123.c: now really fix the expected samples
	  from a frame (did not work for flexible resampling)

2008-10-02 13:06  thor

	* configure.ac, src/libmpg123/libmpg123.c: Fix the broken frame
	  filler for resampling modes (look for output sample count per
	  frame, not input).

2008-10-02 12:45  thor

	* NEWS: some news for 1.6.0

2008-10-02 12:45  thor

	* configure.ac: gah, confusion with libversion again... not ., :!

2008-10-02 12:35  thor

	* doc/README.remote: update remote control docu

2008-10-02 12:34  thor

	* src/Makefile.am, src/control_generic.c, src/equalizer.c,
	  src/mpg123.c, src/mpg123app.h: Adding EQFILE and SHOWEQ to remote
	  control, factoring out the equalizer file loading for that.
	  Realizing that the equalizer file reading did not even work with
	  the example equalize.dat and fixing this (really ignore comment
	  lines).

2008-10-02 11:55  thor

	* NEWS.libmpg123, configure.ac, src/libmpg123/libmpg123.c,
	  src/libmpg123/libmpg123.sym, src/libmpg123/mpg123.h.in: added
	  mpg123_geteq()

2008-10-02 11:53  thor

	* src/libmpg123/mpg123lib_intern.h: added REAL_TO_DOUBLE and... a
	  using (long) in DOUBLE_TO_REAL for fixed (integer) real... seems
	  right, theoretically

2008-10-02 00:58  thor

	* NEWS: an attempt to update the NEWS

2008-10-02 00:54  thor

	* configure.ac, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in: More parameter safety (checks for NULL
	  pointers users may give).

2008-10-02 00:41  thor

	* configure.ac, src/libmpg123/libmpg123.c: cleanup error return of
	  mpg123_index

2008-10-02 00:39  thor

	* configure.ac, src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/parse.c: Wrap
	  INDEX_SIZE=0 around extra #define to prevent compilers from
	  chokin on zero-sized arrays.

2008-10-01 20:27  thor

	* configure.ac, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in: Multiple issues at once (sorry):
	  - fill up broken frames (with zeros) that would otherwise screw
	  up the relation between sample offset and frame offset, breaking
	  seeks
	  - prevent reporting of negative positions
	  - deny seek if file position is screwed up
	  - some more caution with user-provided pointers to store values
	  (check for NULL)

2008-10-01 20:23  thor

	* src/resolver.c: remove an unused variable

2008-10-01 20:18  thor

	* src/libmpg123/frame.c: be prepared to find first header again
	  when there is no seek table, fresh and clean

2008-10-01 20:11  thor

	* configure.ac: version will be 1.6.0 because of added features of
	  control interface

2008-10-01 20:10  thor

	* configure.ac: be prepared to find first header again when there
	  is no seek table, fresh and clean

2008-10-01 20:04  thor

	* TODO: note about possible multiplied ID3v2 parsing

2008-10-01 19:29  thor

	* test/1000Hz/work.sh: use --no-gapless

2008-10-01 19:29  thor

	* ChangeLog: typo

2008-09-30 17:25  thor

	* src/control_generic.c, src/mpg123.c, src/mpg123app.h: adding
	  sample and scan commands to remote interface, also --keep-open

2008-09-17 13:58  thor

	* src/libmpg123/Makefile.am, src/libmpg123/dnoise.c,
	  src/libmpg123/dnoise.dat, src/libmpg123/dnoise.sh: turn dnoise.c
	  into a data file with a converter script; much saner this way

2008-09-17 13:45  thor

	* configure.ac: fixes for picky autoconf-2.62 ... it picked up the
	  spaces around variable names (actually only the space _after_) as
	  part of the variable name.
	  Great job to make me waste my time with such cruft again!!

2008-09-03 11:07  thor

	* NEWS, configure.ac: document updates

2008-09-03 11:05  thor

	* src/libmpg123/libmpg123.c: make mpg123_getformat check for NULL
	  pointers

2008-09-03 11:03  thor

	* src/libmpg123/mpg123.h.in: Clean up mpg123_channels:
	  MPG123_LEFT|MPG123_RIGHT is now a member of the enum, at least
	  per value.
	  C++ still wants to have a specific symbol instead of the binary |
	  ...

2008-09-03 10:38  thor

	* configure.ac, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/reader.h,
	  src/libmpg123/readers.c: use const char* file paths for open()

2008-08-29 06:47  thor

	* configure.ac: update library version

2008-08-22 08:43  thor

	* src/libmpg123/libmpg123.sym: add the missing export symbol for
	  mpg123_set_filesize

2008-08-21 17:18  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in: Work on bug #2064322, adding
	  mpg123_set_filesize() and controlling mpg123_length() a bit.
	  Arbitrary negative length values should be a thing of the past
	  now.

2008-08-20 09:34  thor

	* configure.ac: version will be 1.5.1

2008-08-20 09:28  thor

	* NEWS, configure.ac, src/libmpg123/dct64_sse.S: Making SSE decoder
	  thread safe (bug #2053181).
	  The local b1 and b2 variables are now handled on the stack, which
	  interestingly also seems to be slightly faster on my machine.

2008-08-19 18:20  thor

	* src/libmpg123/mpg123.h.in: API doc: make mpg123_init/exit calling
	  with threads more clear

2008-08-10 18:40  thor

	* NEWS, man1/mpg123.1: update docs

2008-08-10 18:39  thor

	* src/mpg123.c: add --no-resync to replace --resync in future

2008-08-10 18:21  thor

	* src/wav.c: Make wav/cdr/au output properly work with the special
	  file "-", aka. stdout.
	  Not closing it, not repeating headers.

2008-08-03 20:04  thor

	* src/libmpg123/dct36_3dnow.S, src/libmpg123/dct36_3dnowext.S,
	  src/libmpg123/dct64_3dnow.S, src/libmpg123/dct64_3dnowext.S,
	  src/libmpg123/dct64_mmx.S, src/libmpg123/dct64_sse.S,
	  src/libmpg123/decode_3dnow.S, src/libmpg123/decode_3dnowext.S,
	  src/libmpg123/decode_i586.S, src/libmpg123/decode_i586_dither.S,
	  src/libmpg123/decode_mmx.S, src/libmpg123/decode_sse.S,
	  src/libmpg123/equalizer_3dnow.S, src/libmpg123/getcpuflags.S,
	  src/libmpg123/tabinit_mmx.S: following gentoo advice... marking
	  stacks as non-exec for gcc

2008-08-03 08:43  thor

	* src/control_generic.c: fix help of loadpaused command

2008-08-02 11:54  thor

	* src/libmpg123/Makefile.am: include ic2utf8.h in distribution

2008-08-02 11:48  thor

	* src/resolver.c: remove the fixed DEBUG

2008-08-02 11:41  thor

	* NEWS: updated 1.5.0 NEWS

2008-08-02 11:40  thor

	* src/resolver.c: Also make the initial connection use the timeout
	  (would block forever otherwise...).

2008-08-02 11:39  thor

	* src/libmpg123/readers.c: Do the nonblock switching properly,
	  without clearing other flags.

2008-08-02 10:40  thor

	* AUTHORS, NEWS, NEWS.libmpg123, configure.ac, src/Makefile.am,
	  src/httpget.c, src/id3print.c, src/id3print.h,
	  src/libmpg123/Makefile.am, src/libmpg123/icy2utf8.c,
	  src/libmpg123/icy2utf8.h, src/libmpg123/libmpg123.c,
	  src/libmpg123/libmpg123.sym, src/libmpg123/mpg123.h.in,
	  src/metaprint.c, src/metaprint.h, src/mpg123.c, src/term.c: Added
	  the ICY decoding from Thorsten Glaser (of course wrapped it a bit
	  in mpg123 mungo;-).

2008-08-02 09:19  thor

	* src/libmpg123/reader.h, src/libmpg123/readers.c: preserve the
	  constness of input buffers

2008-08-02 09:10  thor

	* NEWS: NEWS updated for 1.5.0

2008-08-02 08:55  thor

	* src/libmpg123/layer3.c, src/libmpg123/parse.c: - remove
	  varmodesupport
	  - consistent indendation in parse.c
	  - dead code removed in parse.c

2008-08-02 08:36  thor

	* src/libmpg123/parse.c: Remove that line that stored the (bogus,
	  anyway) peak value a float number from an arbitrary buffer.
	  At least on the Wii (PowerPC), this triggered a problem due to
	  unaligned floating point operation.

2008-08-02 08:33  thor

	* src/libmpg123/mpg123.h.in, src/libmpg123/parse.c, src/mpg123.c,
	  src/mpg123app.h: Remove --force-resync again; the ICY resync mess
	  has been caused by that bug of mine...

2008-07-11 21:38  thor

	* NEWS, src/output/alsa.c: Try to resume ALSA devices after
	  suspend...

2008-07-09 08:41  thor

	* doc/doxyhead.xhtml: ...you should proofread that before the first
	  commit.
	  Anyway, added note about compatibility.

2008-07-09 08:37  thor

	* doc/doxyhead.xhtml: Eh... put that note below the mpg123
	  linkbar...

2008-07-09 08:35  thor

	* doc/doxyhead.xhtml: Added note about API being from development
	  verison.

2008-07-09 01:35  thor

	* configure.ac: Put environment CFLAGS/CPPFLAGS _after_ the
	  generated ones, to give the user the last word.

2008-07-04 08:01  thor

	* NEWS, NEWS.libmpg123, configure.ac, src/libmpg123/libmpg123.c,
	  src/libmpg123/libmpg123.sym, src/libmpg123/mpg123.h.in: Added
	  mpg123_feed() and made it take a const pointer as input buffer
	  (mpg123_decode, too).

2008-07-01 09:52  thor

	* src/httpget.c: added audio/mpegurl

2008-07-01 08:56  thor

	* src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/mpg123.h.in, src/libmpg123/parse.c, src/mpg123.c,
	  src/mpg123app.h: added --force-resync (I think it will vanish
	  soon again), by-the-way cleanup of unused fr->do_recover

2008-07-01 08:30  thor

	* NEWS, src/mpg123.c, src/mpg123app.h, src/playlist.c: Added
	  --ignore-mime.

2008-07-01 01:39  thor

	* src/httpget.c, src/mpg123.c: Remove further NETWORK blocks to
	  make it actually work for generic systems.

2008-07-01 01:20  thor

	* src/resolver.c: Give note about kind of connection being tried to
	  established (old IPv4 code, new code).

2008-07-01 01:17  thor

	* configure.ac, src/httpget.c, src/resolver.c: Give the network
	  code a dedicated configure and preprocessor switch; checking for
	  the lot of headers in configure.
	  One step further to eliminate the host OS recognition stuff.

2008-06-30 23:44  thor

	* NEWS, configure.ac, src/resolver.c: ... IPv6! Totally untested!

2008-06-30 23:41  thor

	* src/httpget.c: Re-enable the host request header (debugging...);
	  make verbosity about HTTP communication runtime-switchable.

2008-06-30 23:32  thor

	* src/httpget.c: remove a debugging line

2008-06-30 22:56  thor

	* NEWS, src/httpget.c, src/httpget.h, src/mpg123.c,
	  src/mpg123app.h, src/playlist.c, src/resolver.c: proxy fixup

2008-06-30 21:22  thor

	* NEWS: news for 1.5.0 ...

2008-06-30 21:22  thor

	* src/Makefile.am, src/httpget.c, src/httpget.h, src/resolver.c,
	  src/resolver.h: Reworked the HTTP code!
	  Apart from now using mpg123_string all around (which should at
	  least be a bit safer), the lowlevel network code is separated
	  into resolver.c .
	  This should ease the to-come IPv6 changes.

2008-06-30 21:20  thor

	* configure.ac: The new libmpg123 version

2008-06-30 21:20  thor

	* NEWS.libmpg123, src/libmpg123/libmpg123.sym,
	  src/libmpg123/mpg123.h.in, src/libmpg123/stringbuf.c: Extending
	  libmpg123's string API with substrings and growing; doc update.

2008-06-30 21:14  thor

	* src/mpg123.c: verbose error message on http_open failure

2008-06-30 20:36  thor

	* src/libmpg123/id3.c: Wondering why that didn't hit earlier: A
	  bogus null-termination of the "lang" field in comments.

2008-06-30 20:22  thor

	* src/audio.h: export print_capabilities officially

2008-06-29 10:49  thor

	* configure.ac, src/libmpg123/mpg123.h.in,
	  src/libmpg123/stringbuf.c: Safety: make the char* arguments to
	  mpg123_add_string and mpg123_set_string const char* .

2008-06-29 09:01  thor

	* src/mpg123.c: Try to be more helpful on output format errors;
	  especially cdr.

2008-06-15 20:35  thor

	* ports/Sony_PSP/README, ports/Sony_PSP/readers.c.patch: Update of
	  PSP port to current toolchain, by noapic.

2008-05-23 09:04  thor

	* src/libmpg123/libmpg123.c: Add more alignment checking.

2008-05-20 18:56  thor

	* Makefile.am, ports/README, ports/mpg123_msvc.h: add that msvc
	  header

2008-05-18 09:27  thor

	* src/libmpg123/mpg123.h.in: Oh, that missing error code in
	  mpg123.h

2008-05-18 08:24  thor

	* src/libmpg123/libmpg123.c: A li'l attempt to detect misaligned
	  stack in debug build.

2008-05-18 07:42  thor

	* NEWS: now really the news about 1.4.3 stuff

2008-05-18 07:19  thor

	* AUTHORS, src/libmpg123/format.c, src/libmpg123/frame.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/optimize.c, src/libmpg123/parse.c,
	  src/libmpg123/stringbuf.c: Import the ABI / stack alignment fixes
	  from tag 1.4.3 (rev 1484).

2008-05-18 07:15  thor

	* NEWS: news for 1.4.3

2008-05-13 20:35  thor

	* src/libmpg123/id3.c: RVA notice clarification.

2008-05-13 20:34  thor

	* src/output/win32.c: Make win32 output use the channel count to
	  support mono playback (from 1.4.3 tag).

2008-04-29 20:03  thor

	* src/libmpg123/frame.c, src/libmpg123/libmpg123.c: Fixing the
	  return value of mpg123_tell(), and thus the return value of
	  mpg123_seek() as well as the working of relative seeks.
	  The buffer offset missed a conversion from bytes to samples. This
	  should fix bug 1947373.

2008-04-28 22:51  njh

	* misc/ruby-mpg123.rb: Added ruby class for controlling mpg123

2008-04-28 09:36  thor

	* src/libmpg123/getcpuflags.S, src/libmpg123/getcpuflags.h: A fix
	  for bogus 3DNow detection on CPUs that do not support the
	  extended flag query.
	  Not yet verified on the CPU in question (IDT C6).

2008-04-20 13:19  thor

	* NEWS, src/libmpg123/readers.c, src/mpg123.c: import build fixes
	  from 1.4.2

2008-04-20 07:50  thor

	* src/control_generic.c, src/libmpg123/readers.c: One precaution
	  and one bugfix with header inclusion oder: readers.c didn't see
	  config.h before conditionally including system headers.
	  This only made trouble on Cygwin so far, apparently.

2008-04-14 06:52  thor

	* src/libmpg123/mpg123.h.in: Further clarification in encoding doc.

2008-04-14 06:48  thor

	* src/libmpg123/mpg123.h.in: clarify testing situation with floats

2008-04-14 06:43  thor

	* src/libmpg123/format.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in: Silently drop not supported formats in
	  mpg123_format(), no outright failure.

2008-04-14 06:42  thor

	* src/libmpg123/frame.c: fix printf for float

2008-04-14 00:07  thor

	* configure.ac, src/audio.c, src/libmpg123/format.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in,
	  src/libmpg123/mpg123lib_intern.h: Working on float output
	  support. Tested only 32bit float, but added API definitions for
	  64bit float and 32bit integers, too.

2008-04-07 23:04  thor

	* NEWS, configure.ac: Calling this 1.4.1.

2008-04-07 23:03  thor

	* src/mpg123.c: Fix terminal again... there was a term_restore()
	  left where it should not be.
	  This was the quick-shot regression bug 1936548

2008-04-06 23:41  thor

	* src/audio.c: Fix that info line... forgot the name!

2008-04-06 23:30  thor

	* NEWS: The forgotten NEWS update for 1.4.0 .

2008-04-06 22:58  thor

	* src/audio.c: More useful output module error message.

2008-04-06 22:48  thor

	* src/output/alsa.c: Make ALSA silent when desired (probing).

2008-04-06 22:25  thor

	* src/output/alsa.c, src/output/oss.c: Make OSS and Alsa (partly
	  silent) when probing.
	  Alsa needs some change to make the library silent...

2008-04-06 22:24  thor

	* src/audio.c: clear the quietness flag after probing output

2008-04-06 22:11  thor

	* src/audio.c, src/audio.h: - Fix nasty segfault when no working
	  module was found (ao = NULL !!!).
	  - Introduce silent init for probing.

2008-04-06 21:35  thor

	* src/output/arts.c: Fail correctly when there is no arts.

2008-04-06 20:50  thor

	* src/libmpg123/readers.c: A bit more EOF safety in skip_bytes;
	  clearness.

2008-04-04 11:59  thor

	* src/libmpg123/readers.c: Avoid a size 0 read in ICY parser...
	  that triggered EOF now.

2008-04-04 10:26  thor

	* src/mpg123.c: Enable interrupt within loop where the track
	  loading failes (which would be annoying with --loop -1, in
	  particular), further thoughts about cleanup of that SIGINT
	  business.

2008-04-04 09:46  thor

	* src/libmpg123/readers.c: fixing an endless loop in ICY reader
	  when stream actually ends in EOF and not with an error... duh

2008-04-01 19:55  thor

	* NEWS, configure.ac, man1/mpg123.1: Update stuff for 1.4.0
	  release.

2008-04-01 19:54  thor

	* src/libmpg123/readers.c: Cleanup with regard to error messages.

2008-04-01 19:51  thor

	* src/libmpg123/dnoise.c: Add that f to the float constants...
	  makes some compilers happy.

2008-03-21 22:04  thor

	* configure.ac: Now building the list of all (useful) compiled
	  modules into mpg123 as default list to try.
	  That finally does "just play" whether I got alsa or oss drivers
	  loaded without fuzz (apart from alsa error messages).

2008-03-21 21:46  thor

	* src/audio.c: Following the idea of
	  http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/mpg123-no-la.patch
	  (bug 1910500):
	  Implement a search for working output modules, extending the
	  original idea to a runtime check (opening the device).
	  Now you can give mpg123 a list of output modules from which it
	  chooses the first working one.

2008-03-21 21:44  thor

	* src/module.c: Name the module in loading error message.

2008-03-21 21:34  thor

	* src/playlist.c: Need time.h .

2008-03-21 21:31  thor

	* src/output/oss.c: Last time: debug.h!

2008-03-21 21:29  thor

	* src/output/jack.c: Here, too, include debug.h .

2008-03-21 21:29  thor

	* src/output/aix.c, src/output/alib.c, src/output/alsa.c,
	  src/output/alsa05.c, src/output/arts.c, src/output/coreaudio.c,
	  src/output/dummy.c, src/output/esd.c, src/output/hp.c,
	  src/output/libao.c, src/output/mint.c, src/output/nas.c,
	  src/output/os2.c, src/output/portaudio.c, src/output/sdl.c,
	  src/output/sgi.c, src/output/sun.c, src/output/win32.c: include
	  debug.h explicitly

2008-03-21 20:19  thor

	* src/output/dummy.c: Don't warn on dummy output usage... may be
	  intentional.

2008-03-20 13:55  thor

	* src/audio.c, src/buffer.c, src/common.c, src/control_generic.c,
	  src/getlopt.c, src/httpget.c, src/id3print.c,
	  src/legacy_module.c, src/libmpg123/decode_ntom.c,
	  src/libmpg123/format.c, src/libmpg123/frame.c,
	  src/libmpg123/id3.c, src/libmpg123/layer3.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/parse.c, src/libmpg123/readers.c,
	  src/libmpg123/stringbuf.c, src/libmpg123/system.c,
	  src/libmpg123/tabinit.c, src/module.c, src/mpg123.c,
	  src/mpg123app.h, src/playlist.c, src/term.c, src/wav.c,
	  src/xfermem.c: Update some copyright years.

2008-03-20 13:51  thor

	* src/audio.c, src/buffer.c, src/common.c, src/control_generic.c,
	  src/getlopt.c, src/httpget.c, src/id3print.c,
	  src/legacy_module.c, src/libmpg123/decode_ntom.c,
	  src/libmpg123/format.c, src/libmpg123/frame.c,
	  src/libmpg123/id3.c, src/libmpg123/layer3.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/parse.c, src/libmpg123/readers.c,
	  src/libmpg123/stringbuf.c, src/libmpg123/system.c,
	  src/libmpg123/tabinit.c, src/module.c, src/mpg123.c,
	  src/mpg123app.h, src/playlist.c, src/term.c, src/wav.c,
	  src/xfermem.c: Ensure that debug.h is included after any system
	  headers.
	  There may be funny conflicts with my generic macro names.

2008-03-19 23:52  thor

	* src/libmpg123/readers.c: Be paranoid, include the headers for
	  select() even when not needed on my system.

2008-03-19 23:46  thor

	* src/common.c, src/control_generic.c, src/libmpg123/parse.c,
	  src/libmpg123/readers.c, src/mpg123.c, src/mpg123app.h,
	  src/playlist.c, src/term.c, src/xfermem.c: Removed some
	  unnecessary #includes; centralized some in mpg123app.h
	  Still not sure about where readers.c gets its definition for
	  select() from.

2008-03-19 23:23  thor

	* src/libmpg123/dnoise.c: Making dnoise a bit smaller by omitting
	  leading zeros.
	  Still, wondering if computation at runtime would be such a bad
	  thing.

2008-03-11 22:26  thor

	* xmms2-plugin/mpg123/mpg123.c: Style fixes in xmms2 plugin +
	  removal of metadata handling.

2008-03-08 20:37  thor

	* NEWS, configure.ac: We're at 1.3.1 and have some NEWS (backmerge
	  from the tag).

2008-03-08 20:06  thor

	* src/term.c: A note about the limit of terminal controlled pitch.

2008-03-08 19:50  thor

	* src/output/alsa.c: Omit the xfer_align call only when alsa lib is
	  at least 1.0.16, where the function is deprecated.
	  This is no guarantee for --enable-nagging builds to succeed; it
	  just happens to work now on my laptop with alsa-lib 1.0.16.
	  It doesn't work on that other box with 1.0.15, where the alloca
	  fun triggers a warning.
	  Anyhow, hope to fix bug 1908603 for the poor souls with old alsa
	  libs (old meaning: half a year old) where the xfer_align setting
	  may be crucial.

2008-03-08 19:40  thor

	* src/libmpg123/readers.c: superfluous debugging code

2008-03-08 08:58  thor

	* src/audio.c, src/audio.h, src/mpg123.c, src/mpg123app.h,
	  src/term.c, src/term.h: Reacting to a wish list item... and
	  adding a kinda cool feature there:
	  A --pitch parameter as well as interactive terminal control for
	  playback speed control via the output (hardware) sample rate.
	  I first considered using the software "resampling" of libmpg123
	  but this way it has the best possible quality and the least cpu
	  impact (that is, basically none;-).
	  It is the mpg123 way!
	  Plus, if your hardware doesn't support many rates or you really,
	  really want your CPU do the work, just use an output module like
	  alsa with default (plughw) device or portaudio that will do the
	  resampling in software.
	  That being said... I just found out that my laptop's sound chip
	  can actually do a bit more than 48000Hz;-)

2008-03-08 08:52  thor

	* src/term.c: Also apply the terminal verbosity setting to the
	  library.

2008-03-02 22:31  thor

	* Makefile.am: omit dirs from Makefile.am

2008-03-02 22:23  thor

	* INSTALL, Makefile.am, NEWS, ports, ports/MSVC++,
	  ports/MSVC++/INCLUDE, ports/MSVC++/INCLUDE/CORE,
	  ports/MSVC++/INCLUDE/CORE/CORE_FileIn.H,
	  ports/MSVC++/INCLUDE/CORE/SourceFilter_MP3.H,
	  ports/MSVC++/INCLUDE/IIEP_Def.H,
	  ports/MSVC++/INCLUDE/IIEP_FileIn.H, ports/MSVC++/README,
	  ports/MSVC++/SOURCE, ports/MSVC++/SOURCE/CORE_FileIn.CPP,
	  ports/MSVC++/SOURCE/CORE_Log.CPP,
	  ports/MSVC++/SOURCE/CORE_Mutex.CPP,
	  ports/MSVC++/SOURCE/SourceFilter_MP3Stream.CPP,
	  ports/MSVC++/libMPG123,
	  ports/MSVC++/libMPG123/PLACE_LIBMPG123_SOURCES_HERE,
	  ports/MSVC++/libMPG123/libMPG123.vcproj, ports/README,
	  ports/Sony_PSP, ports/Sony_PSP/Makefile.psp,
	  ports/Sony_PSP/README, ports/Sony_PSP/config.h,
	  ports/Sony_PSP/readers.c.patch, ports/mpg123_.pas: Including the
	  ports/bindings that threatened to collect dust in my mailbox.

2008-03-02 22:22  thor

	* NEWS: More news for 1.3.0.

2008-03-02 21:34  thor

	* NEWS, TODO, src/libmpg123/id3.c: Fix that memory leak.

2008-03-02 17:04  thor

	* NEWS, NEWS.libmpg123: News for 1.3.0.

2008-03-02 16:56  thor

	* ., configure.ac, src/libmpg123/mpg123.h.in,
	  src/libmpg123/reader.h, src/libmpg123/readers.c, src/mpg123.c:
	  This is my weekend again... hacking to make http streaming work
	  better.
	  - Added MPG123_SEEKBUFFER flag, triggering re-use of the feeder
	  bufferchain code to enable some peek-ahead on non-seekable
	  streams.
	  - During hacking and finally found where the ICY code went wrong
	  (especially seen with big buffer):
	  The ICY reader didn't care for read() returning some but less
	  than the wanted bytes. Shame on me!
	  
	  A test looks good for now... going to close that memleak and make
	  1.3.0 tonight.

2008-03-02 14:02  thor

	* xmms2-plugin/mpg123/mpg123.c: Big diff just for whitespace in
	  "function (parm)", xmms2 coding style.

2008-03-02 13:49  thor

	* xmms2-plugin/mpg123/mpg123.c: adding xmms magic to make streaming
	  work

2008-03-02 13:27  thor

	* src/libmpg123/parse.c: - Report zero time/frames left for
	  non-seekable streams (without warning).
	  - Ensure that you at least get MPG123_ERR_READER when read_frame
	  goes wrong (error: no error is too confusing;-).

2008-03-02 01:02  thor

	* TODO: Added note about that memleak.

2008-03-02 00:58  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/parse.c,
	  src/libmpg123/reader.h, src/libmpg123/readers.c: Spell out the
	  buffer chain which was embedded in the feeder code; going to
	  re-use it as input buffer for supporting frame sync check wich
	  peek-ahead for non-seeable streams.

2008-03-02 00:55  thor

	* src/output/alsa.c: There's a deprecated ALSA API function...
	  shrugging and removing the call. Still gives sound, eh?

2008-03-01 14:01  thor

	* src/libmpg123/id3.c, src/term.c: Code niceness fixes.

2008-03-01 13:11  thor

	* TODO_1.0: That TODO is outdated.

2008-03-01 10:19  thor

	* src/libmpg123/layer3.c: Make that mask shift in
	  III_dequantize_sample safe (from mhipp rev 43).

2008-03-01 10:14  thor

	* src/libmpg123/layer3.c: The "r0c/r1c > 22 fix" from mhipp rev 51.

2008-03-01 10:07  thor

	* src/libmpg123/layer3.c: Importing the layer table change from
	  mhipp rev 51; that fixes the sizzling of bug 1895025.

2008-03-01 10:03  thor

	* src/libmpg123/id3.c: Another safeguard against too _large_
	  claimed frame sizes.

2008-02-29 22:32  thor

	* src/libmpg123/id3.c: Fixing a crash in the ID3v2 parser with
	  _really_ small (invalid) comment/text frame length values.

2008-02-26 09:02  thor

	* configure.ac, man1/mpg123.1, src/mpg123.c, src/mpg123app.h:
	  adding --smooth, which is a new user-visible feature, so heading
	  for 1.3.0

2008-02-25 23:29  thor

	* NEWS: update NEWS for a possible 1.2.2 release

2008-02-25 23:25  thor

	* src/mpg123.c: ICY stuff: Always clear htd on open_track, print
	  ICY-NAME and ICY-URL after loading as mpg123-0.6x did it.

2008-02-25 23:24  thor

	* src/libmpg123/parse.c: Gah, forgot a { , breaking compilation for
	  the last few days.

2008-02-20 10:02  thor

	* configure.ac: May become version 1.2.2 (maybe will add the smooth
	  buffer feature for less interrupted streaming reconnects).

2008-02-20 10:00  thor

	* configure.ac, src/libmpg123/parse.c: libmpg123 1.3.1: Don't try
	  to resync on ICY streams (mpg123 --loop -1 does a good job on
	  unreliable connections, reconnect to server instead of fiddling
	  helplessly in the data.

2008-02-19 22:26  thor

	* NEWS, configure.ac: Preparing for 1.2.1 release.

2008-02-19 11:48  thor

	* src/mpg123.c: Fixing the loosing of freshness for a track when we
	  seem to jump over the start_frame for some reason.
	  This was the cause for no verbose info being printed for some
	  internet streams... stream was always treated as fresh file
	  (before reaching first frame to be actually played).
	  Now isn't there some bug behind that in libmpg123 that causes the
	  first frame number for mpg123 to be 2, for example, instead of 0?

2008-02-11 01:58  thor

	* src/audio.c: Add an output write loop to handle SIGSTOP/CONT
	  operation (bug 1890563).

2008-02-08 10:07  thor

	* src/libmpg123/parse.c: A hack to loosen stream check
	  strictness... discarding the first header on resync.
	  That at least enables playback of the test file of bug 1889051
	  ... but may introduce other false positives again.
	  Actually, the problem of 1889051 is a false positive for the fist
	  header; which _passes_ the text for a following valid header
	  after that frame.
	  What a coincidence... Should I test for the next 2 frames?
	  MPlayer doesn't show the short distortion that mpg123 shows in
	  decoding the first (invalid, but strangely decodable) frame.
	  
	  Guess the best to do is to finally rewrite that frame
	  reading/searching function to be more consistent and tunable for
	  - bytes of junk to skip
	  - resync limit (we have that already)
	  - number of frames/headers readahead for assuring a valid stream
	  
	  I would like to have a 1.2.1 release with just the last bugfix
	  (endless loop in resync) and perhaps a variant of the current
	  hack after I spent some more thought and testing on it (does
	  mpg123 still pass the nasty test files that made me make the
	  resync that strickt?).
	  Then, for 1.3.0, the tunable resync should enter the scene.

2008-02-07 17:12  thor

	* NEWS, configure.ac, src/libmpg123/parse.c: fix resync with free
	  format headers in there... header_check did not fail for them,
	  though we do not support free format

2008-02-03 12:57  thor

	* AUTHORS: complete name of Michael in AUTHORS

2008-01-31 21:21  thor

	* NEWS, src/common.c: OK, another late change for 1.2.0 ... fix
	  mpg123 -v on Win32 (an #ifndef missing for select() on stderr).

2008-01-30 23:52  thor

	* AUTHORS, Makefile.am, NEWS, NEWS.libmpg123, doc/THANKS,
	  man1/mpg123.1: The documentation stuff for 1.2.0 ... forgot it
	  earlier.

2008-01-30 22:48  thor

	* autogen.sh, configure.ac: Fixing build on Win32 with correct
	  buffer disabling in configure and also generating the mpg123.spec
	  directly in autogen.sh (prevent regeneration by configure).
	  This is version 1.2.0 of mpg123...

2008-01-30 22:44  thor

	* src/mpg123.c: Let the library paremeter error message indicate
	  the parameter setting that failed by number.

2008-01-27 18:47  thor

	* NEWS.libmpg123: A separate file to have overview on libmpg123
	  changes.

2008-01-27 18:36  thor

	* src/libmpg123/frame.h, src/libmpg123/optimize.h: Ahem, _now_
	  remove the redundant optimize stuff from frame.h .

2008-01-27 18:35  thor

	* src/mpg123.c: Regression fix: Ignore premature end of audio
	  flushing when we got SIGINT (that showed in error/quit with OSS
	  output on Ctrl+C instead of going to next track).

2008-01-27 13:55  thor

	* Makefile.am, mpg123.spec.in: RPM stuff:
	  - Do not distribute the preliminary fedora spec file... it's
	  outdated and any additional spec file confuses rpmbuild.
	  - Remove specific BuildPrereq for making it "just work" on SuSE
	  (in case the unnamed prereq is met...).
	  - Do not force default output to alsa, as alsa may not be built!
	  Automatic selection works (worst case on linux is OSS).

2008-01-27 12:38  thor

	* ., mpg123.spec.in: Really adding that spec file.

2008-01-27 12:33  thor

	* Makefile.am, configure.ac: Add Michael's generic mpg123.spec.in .

2008-01-27 12:32  thor

	* src/audio.c: Initialize ao->is_open also for fake modules.

2008-01-27 10:16  thor

	* configure.ac: Replace AC_TYPE_ macros with direct calls to
	  AC_CHECK_TYPE, to get some easy compatibility with older
	  autoconf.

2008-01-27 10:14  thor

	* src/libmpg123/Makefile.am: Adding i486 files to Makefile.am so
	  that they are indeed in the distribution (bug 1879274).

2008-01-27 10:08  thor

	* configure.ac, src/libmpg123/decode_i386.c, src/libmpg123/frame.h,
	  src/libmpg123/optimize.h: Fix i486 build for not claiming i386
	  decoder support, removing the redundant optimization definitions
	  from frame.h along the way.

2008-01-26 15:33  thor

	* configure.ac, doc/examples/scan.c, src/libmpg123/Makefile.am,
	  src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in,
	  src/libmpg123/parse.c, src/mpg123.c, src/mpg123app.h:
	  Initializing framesize (as pointed out by "Gates Fan").
	  Adding resync limit as tunable parameter, with possible setting
	  to -1 to scan through all available data for next valid MPEG
	  frame.

2008-01-26 14:44  thor

	* src/Makefile.am: %-style patterns rules are a GNU make
	  extension... so make it compatible.

2008-01-18 13:36  thor

	* Makefile.am: adding autogen.sh to distribution

2008-01-16 17:31  thor

	* Makefile.am: remove dead entries for rpm spec

2008-01-16 17:17  thor

	* rpm/fedora4/mpg123-1.0.1.spec: another RPM spec fix

2008-01-16 17:16  thor

	* rpm/fedora4/mpg123-1.0.1-3.spec, rpm/fedora4/mpg123-1.0.1.spec:
	  another one

2008-01-16 17:15  thor

	* rpm/fedora4/mpg123-1.0.1-2.spec, rpm/fedora4/mpg123-1.0.1.spec:
	  Putting the versions together.

2008-01-16 17:14  thor

	* configure.ac: Accept --with-audio=foo,bar,bang just as well as
	  --with-audio="foo bar bang".

2008-01-16 17:13  thor

	* configure.ac, src/Makefile.am: Remove the special handling of
	  pkglibdir in configure.ac and let the Makefile define PKGLIBDIR
	  instead in AM_CPPFLAGS.
	  That is less error prone and lets the automagic properly work out
	  pkglibdir.
	  Hopefully it fixes the RPM build problems on fedora... not
	  entirely sure what kind of build they actually do.

2008-01-16 11:06  thor

	* Makefile.am, configure.ac: The next dev vesion... with the
	  forgotten rpm spec files...

2008-01-15 02:19  thor

	* NEWS, README, configure.ac: Prepare for 1.1.0 release.

2008-01-15 02:13  thor

	* rpm, rpm/fedora4, rpm/fedora4/README,
	  rpm/fedora4/mpg123-1.0.1-2.spec, rpm/fedora4/mpg123-1.0.1-3.spec,
	  rpm/fedora4/mpg123-1.0.1.spec: Store Michael's (not Hipp;-)
	  attempts at fedore RPMs.

2008-01-13 14:34  thor

	* src/mpg123.c: Soften the -q option: Now you are able to increase
	  verbosity after -q again:
	  mpg123 -v -v -v -q
	  is silent, while
	  mpg123 -v -v -q -v
	  still gives progress display.

2008-01-01 16:19  thor

	* src/term.c, src/term.h: A tribute to the commands that can
	  obliterate your screen (or the idea of running mpg123 -q -C):
	  - key for printing ID3 tag info ([t])
	  - key for printing MPEG frame header info ([m])

2008-01-01 16:06  thor

	* src/mpg123.c: Allow enabling of progress display in terminal even
	  when -q was given on command line.

2008-01-01 15:41  thor

	* src/mpg123.c, src/mpg123app.h, src/playlist.c, src/playlist.h,
	  src/term.c, src/term.h: More fun at the terminal:
	  - key for going to previous track ([d], because it's left of [f]
	  usually... this is a place where a config file makes sense).
	  - key for printing current playlist
	  - some modifications in main player and playlist code to support
	  this

2007-12-30 16:31  thor

	* src/libmpg123/id3.c: Really stop tag parsing when reaching
	  padding. Immediately.

2007-12-30 16:11  thor

	* src/libmpg123/id3.c: More quietness in id3.c .

2007-12-30 15:57  thor

	* src/libmpg123/id3.c, src/libmpg123/parse.c: More robust ID3v2
	  support; On parse error in tag, the parsing of the tag just stops
	  -- not the MPEG parsing!
	  The tag parsing function shall now return:
	  <0 for read errors only (possibly just need feed)
	  0 for unparseable tag (no new info)
	  >0 for at least some successfully parsed info (even partial)

2007-12-28 19:16  thor

	* NEWS, src/libmpg123/parse.c: - more on demand verbosity in parser
	  (lame/xing/info tag)
	  - update NEWS for next feature release

2007-12-28 18:18  thor

	* xmms2-plugin/mpg123/mpg123.c: Cleaning up the XMMS2 plugin a
	  bit... preparing for submitting it to them.

2007-12-28 14:32  thor

	* configure.ac: Introducing a scheme: The SVN trunk is the
	  development version for 1.1.0 release (1.1.0-dev).

2007-12-28 14:31  thor

	* NEWS, src/audio.c, src/module.c: Merge more module loader safety
	  changes from 1.0.1 release:
	  - Check for failure of getting working dir or module dir.
	  - Fix the module loading error check in audio.c to catch it at
	  the right time.

2007-12-28 13:57  thor

	* src/module.c: What a bug! The increased path buffer has not been
	  stored in the path buffer pointer!
	  Of course that's causing sf.net bug 1859413.
	  So I finally got the view on my blatant mistake as a late
	  christmas gift.

2007-12-23 13:58  thor

	* src/output/arts.c: the missing source!

2007-12-23 13:38  thor

	* AUTHORS, configure.ac, src/output/Makefile.am: Work on the next
	  version begins... initial aRts support now.

2007-12-23 11:32  thor

	* NEWS: Late NEWS.

2007-12-23 11:31  thor

	* src/Makefile.am, src/output/Makefile.am: Late fix: Make VPATH
	  builds find the mpg123.h in the build directory.

2007-12-23 11:03  thor

	* NEWS, configure.ac: Going to be 1.0.0!

2007-12-23 11:03  thor

	* man1/mpg123.1: Updated the man page with some command line
	  parameters.

2007-12-23 10:35  thor

	* doc/README.remote, src/control_generic.c: Update remote control
	  doc and push version of interface to v3.

2007-12-23 10:08  thor

	* configure.ac: Streamline the (experimental) floating point
	  decoder by dropping modules as no normal output modules supports
	  float as of now.

2007-12-23 09:52  thor

	* configure.ac: Initialize pkgconfig before using in configure,
	  fixes some configs (unsurprisingly)...

2007-12-23 09:47  thor

	* configure.ac: Fix copy'n'pase artifact in configure help output
	  (sse_alone).

2007-12-20 22:26  thor

	* src/output/pulse.c: Ooops, in case of error, something erroneous
	  should be returned by pulse_write().

2007-12-20 22:20  thor

	* src/output/pulse.c: Fix pulseaudio write function's return value
	  and, while being there also the initial open with default audio
	  format.

2007-12-18 10:30  thor

	* NEWS, configure.ac: Going to be 1.0rc3 with updated NEWS.

2007-12-18 10:25  thor

	* src/libmpg123/parse.c, src/libmpg123/tabinit.c: Some cleanup
	  regarding QUIETness.

2007-12-18 10:18  thor

	* src/libmpg123/getbits.c: Remove that file, it's unused and
	  distracts.

2007-12-18 10:14  thor

	* src/libmpg123/id3.c: More verbosity on level 4: Tell about ID3
	  encodings.

2007-12-18 10:14  thor

	* AUTHORS: Added ravenexp for reworked win32 output.

2007-12-13 01:10  thor

	* configure.ac: Disable buffer when compiling CoreAudio directly
	  into binary (not as module).

2007-12-10 00:51  thor

	* configure.ac: It's rc3-dev now ... release on 3rd advent? ;-)

2007-12-10 00:51  thor

	* TODO: Again: Try to note stuff to do _later_. 1.0 is first.

2007-12-10 00:50  thor

	* src/output/jack.c: Fixing that one... The capabilities inquiry
	  does not work when the open function fails out on the first one
	  where native audio settings are required via format=-1 etc.!

2007-12-09 15:12  thor

	* configure.ac: Naming it 1.0rc2.

2007-12-09 15:01  thor

	* Makefile.am, NEWS, src/audio.c, src/audio.h, src/buffer.c,
	  src/mpg123.c, src/xfermem.c, test/forkfaint.c: Completed the
	  output abstraction (also in buffer; also unified closing of
	  output stuff with exit_output).
	  Made mpg123 check for errors in output (while writing - so after
	  _opening_ was successful) so that it does't rage-decode in
	  invalid files/pipes.

2007-12-09 13:01  thor

	* src/mpg123.c: Those { } were imortant!

2007-12-09 12:48  thor

	* src/mpg123.c: Include windows.h for Sleep().

2007-12-09 12:47  thor

	* configure.ac: Disable modules per default on windows.

2007-12-09 03:12  thor

	* src/audio.c: test and fix DNOXFERMEM

2007-12-09 03:07  thor

	* src/audio.c, src/mpg123.c, src/mpg123app.h, src/wav.c: Glue the
	  wav/au/cdr and stdout writers to the module structure; allowing
	  integration with audio capabilities and easier handling in mpg123
	  code.
	  Plus, they now work again after my output changes had ruled them
	  out;-)

2007-12-08 15:10  thor

	* NEWS: more news for 1.0rc2

2007-12-08 14:47  thor

	* src/id3print.c: Wile being very overly careful on empty ID3v2
	  data, I prevented ID3v1 from filling gaps!
	  Now we have a synthesis again.

2007-12-08 14:35  thor

	* src/libmpg123/decode_ntom.c: Switch to SAFE_NTOM since I really
	  have seen the bad things that happen with 32bits integer
	  multiplication in the short formula.
	  I had the good code there... on 64bit arch, one may switch back
	  to the unsafe formula, but it remains theoretically unsafe.

2007-12-08 13:31  thor

	* src/audio.c, src/buffer.c: Buffer now says "Hey" now on succesful
	  startup and the main process checks for that.
	  A bad audio module setting now has the expected result... abort
	  at the correct place.

2007-12-08 13:19  thor

	* src/control_generic.c, src/mpg123.c: cleanup

2007-12-08 13:15  thor

	* src/audio.c: remove that debugging line

2007-12-08 13:14  thor

	* src/audio.c: Fix forced rate audio format detection... result up
	  to now was _no_ support detection at all because of comparison of
	  size_t with -1.
	  Why the heck doesn't -Wall point me at this?

2007-12-08 05:01  thor

	* NEWS: More changes noted... hope to tag this 1.0rc2 tomorrow.
	  This rc then really should only get fixes...

2007-12-08 04:58  thor

	* src/control_generic.c: Added TAG command for retrieving the whole
	  lot of ID3v2 (and ID3v1 again) data.
	  Updated help text, applied the @H { ... @H } grouping like
	  introduced for the TAG.

2007-12-08 04:09  thor

	* src/control_generic.c: Print full ID3v1.1 info and, a tad more
	  interesting, some ID3v2 data.

2007-12-08 04:07  thor

	* src/libmpg123/libmpg123.c: The seek functions now all try to init
	  the track; so that for example
	  
	  mpg123_seek(mh, 0, SEEK_SET)
	  
	  Can be used to scan to the first frame, possibly finding ID3v2
	  and Lame tag info.

2007-12-08 03:24  thor

	* NEWS: news for 1.0rc2

2007-12-08 03:11  thor

	* src/audio.c, src/audio.h, src/mpg123.c: complete the --delay

2007-12-08 03:00  thor

	* src/term.c: some debugging removed

2007-12-08 02:51  thor

	* TODO_1.0: Yes, the buffer stuff has been improved... that leaves
	  only the platform testing/fixing and that parallel make thing on
	  the list.

2007-12-08 02:50  thor

	* TODO_1.1: Yeah, funny. Tried to have the discipline to plan stuff
	  for 1.1 before 1.0 is out.
	  The improved buffer interaction is there. Now.

2007-12-08 02:48  thor

	* src/term.c: Remove the forced DEBUG. Done with that.

2007-12-08 02:46  thor

	* src/mpg123.c, src/term.c: Fix buffer behaviour with seeking, in
	  the only way that seemed workable:
	  When you press a seek key in buffer mode, the buffer is stopped
	  and you can seek in peace to your position (makes most sense to
	  have verbosity turned on).
	  After reaching the position, you have to press the stop/un-stop
	  key to restart playback.
	  
	  Seeking wile listening to the bits passing by is really, really
	  non-trivial with the buffer because of the timing between
	  keypress repeats and the buffer refilling.
	  When you want it really interactive, you don't want to have the
	  buffer in between...
	  I think the current solution is close to a local optimum for
	  this, it's the tradeoff you have to do.
	  Even seeking _inside_ the buffer won't help seeking backwards, as
	  the refill would kick in in the same way.

2007-12-08 01:20  thor

	* src/mpg123.c: Need to check command line parameters and possibly
	  give usage _before_ starting the output.

2007-12-08 01:16  thor

	* src/audio.c, src/buffer.c, src/buffer.h, src/control_generic.c,
	  src/mpg123.c, src/mpg123app.h, src/term.c, src/xfermem.c,
	  src/xfermem.h: More communicative buffer and normalized usage of
	  which.
	  No nastly killing or SIGSTOP anymore; buffer either plays or
	  waits for commands, including termination.
	  This fixes the terminal behaviour with track skip and seek when
	  stopped:
	  The buffer can be resynced while being stopped, so no forced
	  restart of playback on track skip anymore.
	  
	  The only nagging usability issue remaining with the buffer is the
	  inability to seek while playing.
	  Refilling of the buffer effects in fast-forward only.

2007-12-08 01:11  thor

	* src/libmpg123/stringbuf.c: remove a debugging line

2007-12-07 23:02  thor

	* src/output/portaudio.c: A typo broke portaudio18 for me... the
	  undefined function was just a little compiler warning; dynamic
	  modules are a bit ignorant there.
	  V18 works now (again), v19 is bitching on my box, but I have a
	  report that it works for someone else.

2007-12-07 04:18  thor

	* TODO_1.1: differe todo, now more on term.c with buffer

2007-12-07 03:43  thor

	* src/output/portaudio.c: More compatibility hacking is needed for
	  portaudio19... there are some differing definitions.
	  The detection in configure works, the conditional compilation,
	  too -- but only portaudio v19 itself gives me the creeps.
	  v18 works normally, v19 just wants to block or segfault on my
	  box.
	  The segfaul is _inside_ portaudio:-/

2007-12-07 02:57  thor

	* src/audio.c, src/audio.h, src/buffer.c, src/mpg123.c,
	  src/xfermem.h: Some audio handling rework, mainly to clean up the
	  mess with the buffer.
	  The initial reason was to install safeguards against multiple
	  ao->close() operations, which was done, too.
	  Now either the buffer or the main mpg123 process touch the audio
	  devices; in the buffered case the main program querying the
	  buffer process for audio capabilities.
	  That and some other potential bug(s) fixed.
	  
	  This is too much movement in a release candidate, but it is
	  necessary - we want some quality for 1.0!

2007-12-07 02:53  thor

	* src/id3print.c: Do the check for NULL source string earlier; it
	  is not that serious since mpg123_copy_string checks for that,
	  though.

2007-12-07 02:48  thor

	* src/libmpg123/id3.c: More safety for ID3 links: null them on
	  every id3_link run (do not rely on a new track being loaded).

2007-12-07 02:43  thor

	* src/libmpg123/id3.c, src/libmpg123/stringbuf.c: ID3
	  initialization was missing comment = NULL ... that could have
	  nasty consequences, an invalid pointer being presented if a new
	  track didn't overwrite it.

2007-12-07 02:15  thor

	* README: Some lines about the beginning.

2007-12-06 22:22  thor

	* src/audio.c: There was an initial mpg123_replace buffer there.
	  Not good.

2007-12-06 22:07  thor

	* TODO_1.1, configure.ac, man1/mpg123.1, src/mpg123.c,
	  src/mpg123app.h, src/output/portaudio.c: accidential group commit
	  of half-baken stuff...
	  - fragments of --delay
	  - portaudio v18 and v19 handling
	  - thinking about safeguarding audio output close (portaudio
	  segfauls when close is done twice)
	  - TODO for 1.1: buffer+audio rework

2007-12-06 21:53  thor

	* src/audio.c: remove unused defines

2007-12-05 01:27  thor

	* configure.ac, src/output/Makefile.am, src/output/esd.c,
	  src/output/esound.c: Renamed esound.c to esd.c again, as that's
	  the name it is referred to in places and also to keep the old
	  --with-audio=esd (everyone calls it ESD, perhaps only ESD people
	  themselves say ESounD...).
	  Also, to keep all audio output code in the distribution and to
	  ease testing/fixing, I added 6 unsupported output module configs
	  to configure.ac / Makefile.am.
	  Of course, that part of configure/build is not tested...

2007-12-04 22:33  thor

	* xmms2-plugin/mpg123/mpg123.c: Update the XMMS2 plugin for the
	  mpg123_rates change.

2007-12-04 22:31  thor

	* INSTALL, NEWS, README: Trying to update the docs a bit.

2007-12-04 21:37  thor

	* NEWS: got old news from 0.68

2007-12-04 21:37  thor

	* src/audio.c: stray debugging line

2007-12-04 16:01  thor

	* autogen.sh, configure.ac, src/audio.c, src/libmpg123/format.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/mpg123lib_intern.h,
	  src/mpg123app.h: Worked on the win32 crash... found out that the
	  access to the exported (?!) array mpg123_rates[] and/or
	  mpg123_encodings[] blows with the DLL.
	  Exporting functions to access the arrays instead seems to work;
	  and is generally the better way, perhaps.
	  So there is an API change from mpg123_rates[] to
	  mpg123_rates(const long **, size_t *) and likewise for
	  mpg123_encodings.
	  Along with the win32 hacking I actually enabled the EXPORT define
	  stuff, but this made no difference anyway (I guess libtool just
	  uses libmpg123.sym and that's it).
	  
	  Another issue, interwoven but unrelated (sorry...) is the hacking
	  of autotool stuff to omit C++, F77 compiler tests that libtool
	  macros trigger.
	  A future version of libtool shall be fixed and won't need these
	  hacks.

2007-12-04 10:54  thor

	* src/output/win32.c: That lay around for a while: proper returning
	  out of win32 write function.

2007-12-04 10:54  thor

	* src/mpg123app.h: Be more friendly to win32: unistd.h can be
	  there; use the check for signal.h

2007-12-04 10:53  thor

	* configure.ac: prepare for rc1 ... though still win32 trouble
	  there

2007-12-04 10:53  thor

	* src/playlist.c: move this index variable inside the block it is
	  needed in (was a compile warning on win32)

2007-12-03 14:38  thor

	* src/id3print.c: Oh, my. I didn't test in non-UTF shell ... now
	  the utf8ascii in
	  id3print.c copies with NULL source.
	  Perhaps I should really just let these pointers point to an empty
	  string when there is no info?
	  Even if there is an empty string, the fill should be >0 because
	  of the
	  closing zero.
	  So a string with p[0] = 0, size=1 and fill=0 could be a safe
	  alternative
	  to NULL...

2007-12-02 21:37  thor

	* src/libmpg123/id3.c: Just choose the last comment if no generic
	  comment is there.

2007-12-02 20:24  thor

	* xmms2-plugin/mpg123/mpg123.c: Fix the xmms2 plugin for changed
	  ID3v2 API.

2007-12-02 15:35  thor

	* ., doc, src/libmpg123, test: more ignores

2007-12-02 15:29  thor

	* doc/examples: ignore binaries

2007-12-02 15:29  thor

	* m4: removed that empty m4/

2007-12-02 15:28  thor

	* Makefile.am, autogen.sh, configure.ac, m4/ac_c_const.m4: OK,
	  tackled this differently.
	  Hacking of -Wno-error into CFLAGS doesn't really work (not
	  properly, at least)... and also the exiting working with CFLAGS
	  that influence the foolowing tests in configure was not good.
	  Now we are a bit more careful with the mods (also redirecting
	  -DSTUFF to CPPFLAGS instead of CFLAGS) and there is a blocker
	  check at beginning.
	  configure will just fail when there is -Werror in the flags,
	  because it is really bad with several tests.
	  Note that this also implies that make distcheck will always fail
	  in this controlled way when run after a configure that generated
	  CFLAGS with -Werror.
	  These generated CFLAGS are carried over to the configure run in
	  the distcheck dir... dunno if and how one could change that.

2007-12-02 13:17  thor

	* Makefile.am, autogen.sh, m4, m4/ac_c_const.m4: For now including
	  a private copy of AC_C_CONST that works with -Wall -Werror
	  -pedantic ... I don't know if I break the test for some obscure
	  compiler, but for now it's only the jack module that really
	  depends on this test to work - and that won't be used on old and
	  obscure systems.

2007-12-02 01:09  thor

	* doc/Makefile.am: adding some distfiles

2007-12-02 00:52  thor

	* src/libmpg123/libmpg123.c: Code conformity: There was a
	  declaration in code.

2007-12-02 00:52  thor

	* configure.ac: Separate --enable-debug from the developer CFLAGS
	  (-Wall -Werror -pedantic).
	  Some user should be able to get debugging stuff without being
	  bothered with our ISO C conformity or whatnot.
	  The full set of complaints and failues is available via
	  --enable-nagging .

2007-12-02 00:41  thor

	* src/libmpg123/id3.c: remove that debugging line

2007-12-02 00:17  thor

	* src/libmpg123/id3.c: Oops! Now the ID3v2.2 hack is complete with
	  the 3-bytes-to-long macro actually taking only 3 bytes.

2007-12-02 00:15  thor

	* src/libmpg123/id3.c: Hacked ID3v2.2 support... mapping text
	  frames to ID3v2.3 .
	  The old RVA frame is not supported (it's a bit ill-defined,
	  anyway, beginning with "What do the values mean?").
	  Important: This is not tested as I am unable to get my hands on a
	  v2.2 tagged file atm...
	  I have once encountered one on someone else's Mac where iTunes
	  created such cruft.

2007-12-02 00:12  thor

	* src/libmpg123/mpg123.h.in: Note about ID3v1.1 .

2007-12-02 00:02  thor

	* doc/examples/id3dump.c: Do not leave the data fields modified
	  after print_lines - that screwed raw tag display.

2007-12-01 22:19  thor

	* doc/examples/id3dump.c: last clean up for today.

2007-12-01 22:17  thor

	* doc/examples/id3dump.c: Oh, man... surprising how many errors you
	  can make in such a simple program.
	  While cleaning up, I found the innocent lang[3] = 0 on a variable
	  defined as char lang[3] ... just now made the program segfault.
	  Coders, you have to keep your eyes open!

2007-12-01 22:02  thor

	* doc/examples/id3dump.c: Baah! That loop was even with the wrong
	  limit! Will vanish now anyway.

2007-12-01 22:02  thor

	* doc/examples/id3dump.c: remove leftovers

2007-12-01 22:01  thor

	* doc/examples/id3dump.c: Simplify v1 printing... that looping was
	  too clever - and didn't save code lines!

2007-12-01 21:42  thor

	* doc/examples/id3dump.c, src/id3print.c, src/libmpg123/id3.c,
	  src/libmpg123/id3.h, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/libmpg123/stringbuf.c: Some things
	  relating to ID3v2 handling:
	  - the named entries for artist, album, etc in struct mpg123_id3v2
	  are now pointers...
	  - ... into the new arrays of ID3v2 text, comment and extra (TXXX)
	  data
	  - That makes a lot more info directly accessible; which id3dump
	  now does access
	  - adapted id3print.c to the pointer thing (by dropping some & ;-)
	  - mpg123_copy_string() now produces an empty string (_not_ "")
	  when copying from NULL
	  
	  id3.c got a bit of structure, but the main parsing function is
	  still to bloated.
	  In general, I hope this change of ID3v2 handling makes sense.
	  You have more data plus the possibility to easily loop through
	  the entries...

2007-12-01 17:24  thor

	* doc/examples/Makefile, doc/examples/id3dump.c, src/id3print.c,
	  src/libmpg123/id3.c, src/libmpg123/mpg123.h.in,
	  src/libmpg123/mpg123lib_intern.h, src/libmpg123/stringbuf.c: Made
	  ID3 code store all comments in a list (API change in mpg123_id3v2
	  struct!) and while doing that seen what I did wrong last time: I
	  ignored the encoding of the description field.

2007-12-01 14:08  thor

	* src/libmpg123/format.c, src/libmpg123/libmpg123.c:
	  mpg123_format() now also intiializes the track if necessary.
	  Waiting for MPG123_NEW_FORMAT to happen on read can be lame when
	  you really want to know it in advance.

2007-12-01 13:30  thor

	* doc/examples/mpg123_to_wav.c: move that comment into cleanup
	  itself

2007-12-01 13:27  thor

	* doc/examples/mpg123_to_wav.c: mpg123_to_wav with some more care.

2007-11-30 23:51  thor

	* doc/doxy_examples.c, doc/doxygen.conf: id3dump.c example file was
	  missing...

2007-11-30 23:20  thor

	* doc/doxy_examples.c, doc/doxygen.conf, doc/examples/mpglib.c:
	  Include the examples in API doc.

2007-11-30 22:09  thor

	* src/libmpg123/mpg123.h.in: a bit better english

2007-11-30 22:08  thor

	* src/libmpg123/mpg123.h.in: a list for the SEEK_*

2007-11-30 22:05  thor

	* configure.ac: 1.0rc0 now ... shall be 1.0rc1 soon.

2007-11-30 22:04  thor

	* doc/html, doc/man: Know these dirs, ignore their contents.

2007-11-30 22:04  thor

	* TODO_1.0: A lot less here:
	  - buffer crash fixed
	  - jump bug fixed
	  - make distcheck worked!

2007-11-30 22:03  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/parse.c: Fix the broken
	  first jump in remote control: mpg123_timeframe() needs to
	  initialize the track for returning something non zero.

2007-11-30 22:00  thor

	* src/libmpg123/mpg123.h.in: More functions possibly return message
	  codes...

2007-11-30 21:59  thor

	* src/mpg123.c, src/xfermem.c, src/xfermem.h: Fix the buffer crash:
	  replacing the libmpg123 buffer is no good idea when libmpg123 has
	  no idea of it being a ring buffer!
	  Now we decode normally and copy the data from mpg123 to the
	  buffer in a more appropriate manner.

2007-11-30 08:51  thor

	* src/libmpg123/mpg123.h.in: make the /todos TODOs again... should
	  vanish on release

2007-11-30 02:38  thor

	* doc/doxygen.conf, doc/doxyhead.xhtml: Fitted the doxygen stuff
	  into the website; a hacked doxygen.css does the trick.

2007-11-30 02:01  thor

	* doc/doxygen.conf: we want SSI

2007-11-30 01:59  thor

	* src/libmpg123/mpg123.h.in: that todo is official...

2007-11-30 01:58  thor

	* doc/doxygen.conf, doc/doxyhead.xhtml: Use a header to fit into
	  mpg123 website.

2007-11-30 01:48  thor

	* src/libmpg123/mpg123.h.in: just a dot

2007-11-30 01:48  thor

	* src/libmpg123/mpg123.h.in: a space line less

2007-11-30 01:46  thor

	* src/libmpg123/mpg123.h.in: a space line less

2007-11-30 01:44  thor

	* src/libmpg123/mpg123.h.in: fix the low level group

2007-11-30 01:39  thor

	* doc/doxygen.conf: Create more man ... perhaps now one can think
	  about installing all pages that start with mpg123_ (or MPG123_
	  for the constants, even?).

2007-11-30 01:21  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in: A good deal
	  of changes of mpg123.h documentation; functional change is
	  integration of status messages with error codes (also in
	  mpg123_strerror()).

2007-11-29 09:15  thor

	* Makefile.am: include makedll.sh in distribution

2007-11-28 23:39  thor

	* TODO_1.0: More thought on the Solaris/buffer/? segfault.

2007-11-28 23:29  thor

	* TODO_1.0: I had parallel make run fail and the following single
	  run being OK...

2007-11-28 23:28  thor

	* src/libmpg123/libmpg123.c: mpg123_index shall return MPG123_OK
	  when it's OK.

2007-11-28 23:27  thor

	* makedll.sh: disbale modules for dll build, as they won't do on
	  windows anyway.

2007-11-28 18:57  thor

	* TODO_1.0: more on the segfault on solaris... more likely buffer
	  bug

2007-11-28 18:18  thor

	* TODO_1.0: A bug noted in solaris (presumably a generic bug in
	  random playback),
	  note about make distcheck.

2007-11-28 15:39  thor

	* Makefile.am, configure.ac, doc/Makefile.am: fixing make dist for
	  doc/

2007-11-28 12:11  thor

	* doc/examples/scan.c: Just swapping headers to confirm that
	  stdio.h is not needed for mpg123.h anymore.

2007-11-28 12:10  thor

	* src/libmpg123/mpg123.h.in: We don't need stdio.h anymore (the
	  print function is gone).

2007-11-28 12:08  thor

	* src/libmpg123/frame.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/libmpg123.sym, src/libmpg123/mpg123.h.in,
	  src/term.c: Fix the index stuff... libmpg123 API now contains
	  mpg123_index instead of mpg123_print_index and mpg123 does the
	  printing itself.

2007-11-28 11:16  thor

	* src/libmpg123/mpg123.h.in: We have RVA and volume handling,
	  remove these TODO lines, though adding a remark about preamp
	  (easy to do).

2007-11-28 11:14  thor

	* TODO_1.0: We need to get the buffer audio handling straight some
	  time ... dunno if that's for 1.0 .

2007-11-28 11:12  thor

	* TODO_1.0: Updated that - less TODO overall, but control_generic.c
	  needs a look.

2007-11-28 11:07  thor

	* src/libmpg123/mpg123.h.in: comment cosmetics

2007-11-28 11:06  thor

	* src/libmpg123/mpg123.h.in: MPG123_ENC_ANY doesn't need itself for
	  the definition.

2007-11-28 11:02  thor

	* src/libmpg123/mpg123.h.in: more precise comments for
	  mpg123_init() and mpg123_exit()

2007-11-28 10:52  thor

	* src/control_generic.c, src/mpg123.c: Make remote control work
	  again; there was stray audio handling code still there.

2007-11-28 10:42  thor

	* src/libmpg123/frame.h, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123lib_intern.h, src/libmpg123/parse.c: Enable
	  the build without GAPLESS again.

2007-11-28 10:10  thor

	* man1/mpg123.1, src/libmpg123/frame.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in, src/mpg123.c: - enable gapless mode
	  per default in library
	  - add parameter operation to remove flags
	  - mpg123 --no-gapless is now needed to get non-gapless decoding
	  (the good thing is the default now;-)
	  - removed references to GAPLESS macro in mpg123 application

2007-11-28 10:09  thor

	* doc/examples/id3dump.c, doc/examples/mpglib.c,
	  doc/examples/scan.c: more usage info

2007-11-28 10:06  thor

	* doc/examples/scan.c: usage for scan

2007-11-28 09:35  thor

	* doc/examples/Makefile, doc/examples/id3dump.c,
	  doc/examples/mpglib.c, doc/examples/scan.c, src/Makefile.am,
	  src/id3dump.c, src/mpglib.c, src/scan.c: Move example programs
	  from src/ to doc/examples/ .

2007-11-28 09:35  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h.in: Fix build
	  with latest changes to mpg123.h.

2007-11-28 09:34  thor

	* doc/examples/mpg123_to_wav.c: get a newline at the end.

2007-11-28 08:41  thor

	* src/scan.c: Add a note about error checking, fix description and
	  include stdio.h .

2007-11-28 08:35  thor

	* src/id3dump.c: The little tool to dump ID3 tag information of
	  files. Was used in testing, may be useful in general - at least
	  shall serve as example.

2007-11-28 00:06  njh

	* src/libmpg123/mpg123.h.in: Seperated functions out into different
	  named groups/sections/modules

2007-11-28 00:05  njh

	* doc/doxygen.conf: Don't include the full paths of files

2007-11-27 08:59  thor

	* src/libmpg123/icy.c, src/libmpg123/icy.h,
	  src/libmpg123/readers.c, src/libmpg123/stringbuf.c: Omit some
	  redundant and unconditional header includes.

2007-11-27 08:58  thor

	* src/libmpg123/mpg123lib_intern.h: Don't need to include that
	  header here anymore.

2007-11-27 08:57  thor

	* src/libmpg123/mpg123.h.in: Some small comment changes, notably
	  correcting the description of the rate parameter in the format
	  functions.

2007-11-27 00:07  njh

	* doc/examples/Makefile, doc/examples/mpg123_to_wav.c: My very poor
	  first attempt at a mp3 to wav converter (but it works!).
	  Needs a lot of error handling added.

2007-11-26 01:35  njh

	* doc/doxygen.conf, doc/examples, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h.in: Documented lots more of the libmpg123
	  API using Doxygen

2007-11-25 13:01  thor

	* src/libmpg123/system.c: Add a note about the outdatedness of
	  system.c .

2007-11-25 00:53  njh

	* configure.ac, src/libmpg123/Makefile.am, src/libmpg123/mpg123.h,
	  src/libmpg123/mpg123.h.in: A custom mpg123.h is now generated by
	  configure.
	  It will only #include the system headers available on the current
	  system.

2007-11-24 03:59  thor

	* src/id3print.c, src/id3print.h, src/libmpg123/compat.c,
	  src/libmpg123/compat.h, src/libmpg123/dnoise.c,
	  src/libmpg123/format.c, src/libmpg123/frame.c,
	  src/libmpg123/frame.h, src/libmpg123/getcpuflags.h,
	  src/libmpg123/icy.c, src/libmpg123/id3.c, src/libmpg123/id3.h,
	  src/libmpg123/mangle.h, src/libmpg123/mpg123.h,
	  src/libmpg123/mpg123lib_intern.h, src/libmpg123/parse.h,
	  src/libmpg123/reader.h, src/libmpg123/testcpu.c,
	  src/libmpg123/true.h, src/mpglib.c, src/scan.c: A bunch of
	  cosmetics, mostly license plate.

2007-11-24 03:58  thor

	* src/Makefile.am: Another dangerous hack to pretend revursive make
	  handling dependencies correctly for libmpg123/ ...

2007-11-24 03:38  thor

	* src/libmpg123/Makefile.am: Make testcpu compile again.

2007-11-23 21:07  thor

	* Makefile.am, src/libmpg123/mpg123.h: doc/ has nothing to build
	  for now and some space less in mpg123.h

2007-11-23 21:06  thor

	* src/output/Makefile.am: Prevent empty lib/mpg123 on installation
	  when modules were disabled.

2007-11-23 21:05  thor

	* src/Makefile.am: Make the non-module build with shared lib
	  work... hacking the generation of the output object file as
	  recursive make call into the src/Makefile.am since the build
	  system would try to build the dependency on the output object
	  from src/, which doesn't work.

2007-11-23 21:03  thor

	* configure.ac: Make it possible to --disable-modules but still
	  retain the shared libmpg123 (disabled modules don't imply
	  disabled shared lib anymore).

2007-11-23 21:02  thor

	* src/libmpg123/id3.c: Fix a crash with zero-sized text frames
	  (duh!) after ravenexp gave the hint.
	  Also, make reading of a test tag from ravenexp work... the BOM of
	  a UTF16 comment was preceeded by a null byte (triggering the
	  crash, actually).

2007-11-22 07:27  thor

	* src/audio.c, src/libmpg123/format.c, src/libmpg123/mpg123.h: API
	  cleanup: format functions always take plain rates and encodings,
	  not mpg123 indices.

2007-11-22 00:43  thor

	* src/output/win32.c: A new version of the win32 output, this time
	  allowing arbitrary writes.
	  Gives sound.

2007-11-22 00:43  njh

	* Makefile.am, doc/Makefile.am, doc/doxygen.conf, doc/html,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h: Started
	  working on Doxygen documentation

2007-11-21 01:20  njh

	* Makefile.am, configure.ac, libmpg123.pc.in: Added pkg-config
	  file, to help other tools use libmpg123 easily

2007-11-21 01:00  njh

	* src/libmpg123/libmpg123.c: Fix for warning on Linux PPC/gcc 4.1.2

2007-11-21 00:11  njh

	* src/libmpg123/decode_altivec.c, src/libmpg123/optimize.h: Updated
	  Altivec decoder to use new style, based on decoder.c

2007-11-20 23:09  njh

	* src/common.c, src/control_generic.c, src/libmpg123/frame.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/parse.c,
	  src/libmpg123/readers.c, src/mpg123.c: Added casts to various
	  printf to make it compile on Darwin

2007-11-20 21:56  thor

	* src/output/win32.c: A semicolon was needed.

2007-11-20 20:24  thor

	* scripts/debugdef.pl, src/libmpg123/debug.h: Added ereturn macro
	  for the frequent
	  if(some_error_condition)
	  {
	  error("blablabla");
	  return error;
	  }

2007-11-20 20:23  thor

	* src/output/win32.c: Bug-fixing update from ravenexp; buffer size
	  issues still have to be sorted out...

2007-11-19 09:04  thor

	* test/rms16.c: Now computing the RMS with normalization of the
	  difference to the input amplitude range.
	  The former way of just normalizing to 32768 wasn't that bright an
	  idea, I think.

2007-11-18 02:45  thor

	* src/libmpg123/dct64_vector.c: A general idea of vectorizing
	  dct64... still unsure if I should convert existing SSE to AMD64
	  or do it from scratch.

2007-11-18 02:44  thor

	* src/libmpg123/dct64_sse64.S, src/libmpg123/decode_sse64.S: These
	  were added accidentally on last commit... along with dct64_2.c,
	  but that one may stay for a while...

2007-11-18 02:41  thor

	* autogen.sh, src/libmpg123/dct64_2.c, src/libmpg123/dct64_sse64.S,
	  src/libmpg123/decode_sse64.S, src/output/oss.c: Build tool
	  borkage... resort to hardcoding use of automake-1.9 for
	  LTCCASCOMPILE ... adding note about libtool-1.5.24 being bad in a
	  different way that I don't yet know to handle properly.

2007-11-18 02:26  thor

	* configure.ac, src/module.c, src/mpg123.c, src/mpg123app.h:
	  Reshape the module code a bit; intention was to support loading
	  modules from location relative to mpg123 binary -- to make it
	  work on Windows as it is common there.
	  I doesn't work on Windows, though, and I don't feel able to fix
	  our build system to make it work.
	  The changes _do_ enable relative loading on Linux, provided one
	  hacks the .la files to _not_ contain hardcoded absolute paths.
	  Also, some cleanup happened, so the changes go in, although their
	  use is limited.

2007-11-17 20:40  thor

	* src/libmpg123/frame.c: more alignment

2007-11-17 20:39  thor

	* configure.ac, src/output/win32.c: Refreshed Win32 output;
	  reworked by ravenex.

2007-11-16 07:30  thor

	* src/libmpg123/Makefile.am: We really want LTCCASCOMPILE there,
	  LTCPPASCOMPILE being a strange ill-effect of using automake-1.10!
	  With automake-1.9, LTCCASCOMPILE is the thing.

2007-11-14 07:16  thor

	* src/libmpg123/Makefile.am: Use $(LTCPPASCOMPILE)
	  $(DEFAULT_INCLUDES) for .S -> .lo ... does that help Windows with
	  the not found config.h?

2007-11-14 07:03  thor

	* src/Makefile.am: Add OUTPUT_OBJ to mpg123_DEPENDENCIES ... that
	  at least triggers a relink of mpg123 when the object changed in
	  static linking mode.

2007-11-13 19:25  thor

	* src/mpg123.c: timeout not on WIN32, forgot an #ifndef ...

2007-11-12 21:02  thor

	* src/mpg123.c, src/mpg123app.h: Added --index option; run
	  mpg123_scan() on every track before playback; perhaps that helps
	  the guy with unreliable IDE to precache files as a side effect.

2007-11-10 15:37  thor

	* src/id3print.c, src/mpg123.c, src/mpg123app.h: Re-enable the
	  UTF-8 -> ASCII filtering, but hack a little check in that just
	  prints the UTF-8 strings when $LANG contains "UTF-8".
	  It's not proper but it works for me;-)

2007-11-09 22:51  thor

	* src/Makefile.legacy: Also remove decode_mmxsse from the makefile.

2007-11-09 22:50  thor

	* src/libmpg123/decode_mmxsse.S: That one is dead.

2007-11-09 22:50  thor

	* src/Makefile.legacy: Fix stupid syntax errors in linux-help.

2007-11-09 13:14  thor

	* scripts/exportsym.pl, src/libmpg123/libmpg123.sym: Made a script
	  for filtering out the EXPORTed symbols and ran that instead of
	  caring myself for inclusion of mpg123_fmt and what else I forgot.

2007-11-09 00:37  thor

	* src/libmpg123/libmpg123.c: Thanks again to John Stamp for
	  pointing me at these forgotten NULL checks.

2007-11-09 00:32  thor

	* src/libmpg123/format.c, src/libmpg123/frame.c,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h: The handling
	  of separate parameter objects has been completed for output
	  format settings (mpg123_fmt() and friends added); now also fixing
	  a subtle bug where the defaults for output format would have been
	  at random.
	  mpg123_format_all() and then copying the uninitialized bits from
	  the parameter object did not have the desired effect... better
	  now;-)
	  Thanks go to John Stamp to find this out with last.fm; mpg123
	  itself, setting format support _after_ handle creation, didn't
	  see that.

2007-11-08 15:33  thor

	* src/mpglib.c: update mpglib a bit...

2007-11-08 15:17  thor

	* src/libmpg123/libmpg123.c: Make sure the decoded bytes count is
	  set to zero when mpg123_decode() returns something like
	  MPG123_NEW_FORMAT!

2007-11-08 03:30  thor

	* src/audio.c, src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/mpg123.c: - Allow NULL for "choose default decoder" in
	  mpg123_decoder().
	  - Actually disabled need for that in mpg123 through using
	  param.cpu in initial handle setup.
	  The forced rate check had to go in before that (from audio.c) to
	  ensure we get a fallback decoder when needed.

2007-11-08 03:08  thor

	* src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/parse.c: Some feeble steps to support free
	  format... just broken down some barrier; not yet added the
	  framesize parser.

2007-11-08 03:08  thor

	* xmms2-plugin/mpg123/mpg123.c: Also here, use the rate instead of
	  the index.

2007-11-08 03:06  thor

	* src/audio.c, src/libmpg123/format.c, src/libmpg123/mpg123.h:
	  mpg123_format() now just takes the actual _rate_ instead of the
	  rate index. Makes more sense to applications.

2007-11-06 14:18  thor

	* configure.ac, src/playlist.c: use random() instead of rand() when
	  available

2007-11-06 13:55  thor

	* src/playlist.c: Fix the shuffle according to bug 1777621.

2007-11-06 13:09  thor

	* src/mpg123.c: Hack a call to split_dir_file() to clean up the hep
	  properly - valgrind now has nothing to complain about possible
	  memory leaks.
	  That is, it has nothing to complain for mpg123 -s file.mp3 >
	  /dev/null; it has quite some issues with ALSA:-(

2007-11-06 13:01  thor

	* src/libmpg123/frame.c: Initialize the r_read and r_lseek fields
	  to NULL.

2007-11-06 10:46  thor

	* src/libmpg123/frame.c: Clean up the frame init/reset mess a bit,
	  preventing frame_buffers_reset before the buffers have been
	  allocated (d'oh\!). That should take care of bug 1825734.

2007-11-04 21:19  thor

	* src/libmpg123/Makefile.am: Does this INCLUDES help win32?

2007-11-04 21:19  thor

	* src/libmpg123/layer3.c: More () to make pedantic gcc happy.

2007-10-29 16:35  thor

	* src/output/sun.c: No LINEAR8 enconding on solaris... until I hear
	  it working somewhere (wasn't nice to my ears on a Ray).
	  Also, make that format test loop over the entries we actually
	  have, not just 4 always (that point got a regression during
	  output plugin merge, I suppose).

2007-10-29 16:32  thor

	* src/Makefile.legacy: Glitch in solaris Makefile entry ... -fast
	  was joined to $(CFLAGS).

2007-10-29 16:31  thor

	* src/Makefile.am: No depending on -lltdl ... we'd rather need to
	  depend on ../libltdl/libltdl.la, but not when it is already
	  installed...

2007-10-29 16:30  thor

	* src/libmpg123/format.c: Fix the format check - not just any bit,
	  _every_ bit of the format must be in the support mask!

2007-10-28 22:30  thor

	* src/libmpg123/layer3.c: Remove the dead code.

2007-10-28 22:08  thor

	* src/libmpg123/layer3.c: Michael Hipp found the already many
	  year-old fix for the MPEG 2.5 issue of bug 1807964!
	  Actually, this comment in layer3.c seems to have been prophetic:
	  
	  /* check this again for 2.5 and sfreq=8 */
	  
	  Now that block works better. It also works slower, though. Gotta
	  see if I can optimize this if/else tree.

2007-10-28 16:37  thor

	* src/output/sun.c: Put the parameter setting in there again...
	  will it work now on Solaris?

2007-10-27 08:35  thor

	* MakeLegacy.sh, src/Makefile.legacy, src/config.h.legacy: Make
	  legacy build use MAKE variable for the make program to use
	  (default is "make", but you may need MAKE=gmake ./MakeLegacy.sh).
	  Also, adding to the solaris build entry (some defined) and
	  HAVE_SIGNAL_H per default on in config.h.legacy.
	  Not sure if we should put all the system specific defines into
	  Makefile.legacy or in separate config.h files .

2007-10-27 08:29  thor

	* src/output/sun.c: Make sun output compile again - but it does not
	  work yet.

2007-10-27 08:28  thor

	* src/module.c: Portability: stat() for file type instead of using
	  non-standard dirent field.

2007-10-27 08:28  thor

	* src/legacy_module.c: No C++ comments.

2007-10-25 23:52  thor

	* src/common.c: Remove one of these !defined(GENERIC) for a
	  positive header check for signal.h .

2007-10-25 23:40  thor

	* src/mpg123app.h: framenum is off_t

2007-10-25 22:41  thor

	* src/libmpg123/Makefile.am, src/output/esd.c, src/output/esound.c:
	  Yay! Even `make distcheck` succeeds now after making path of
	  libmpg123.sym absolute.

2007-10-25 22:33  thor

	* src: ignore

2007-10-25 22:32  thor

	* src/output: even more ignore

2007-10-25 22:31  thor

	* src/libmpg123: more ignore

2007-10-25 22:31  thor

	* .: ignore

2007-10-25 22:30  thor

	* libltdl: ignore

2007-10-25 22:28  thor

	* src/mpg123.c, src/playlist.c: Re-enable STDIN playback via
	  special filename "-" and fix a file descriptor leak along with
	  that.

2007-10-25 22:10  thor

	* Makefile.am, configure.ac, src/Makefile.am,
	  src/output/Makefile.am: Serious autotool hacking. By now you
	  should be able to get
	  - a standard dynamic build with shared lib and auto-detected
	  modules
	  - a dynamic build with a selected range of modules (--with-audio)
	  - the default audio module you want via --with-default-audio
	  - a one-static-module build with shared lib (--disable-modules)
	  - a one-static-module build with static lib (--disable-modules
	  --disable-shared)
	  - a fully static build (-static in LDFLAGS when running
	  configure)
	  
	  The static-module builds skip the libltdl configure step.
	  This just took some days of headache and yelling at
	  autotools/libtool...

2007-10-24 16:13  thor

	* src/audio.c, src/audio.h, src/buffer.c, src/mpg123.c,
	  src/output/Makefile.am, src/output/alsa.c: Fix an alsa (not just
	  there, I guess) crash by making sure the ao->userptr and ao->fn
	  get cleared after close in close_output.
	  Also removed direct uses of ao->close in mpg123.c and buffer.c .

2007-10-24 16:12  thor

	* src/Makefile.legacy: Honor CPPFLAGS!

2007-10-24 15:33  thor

	* MakeLegacy.sh: Only overwrite config.h when it changed. Makes it
	  possible not to always rebuild everything.

2007-10-22 23:33  thor

	* Makefile.am, TODO_1.0, autogen.sh, src/Makefile.am,
	  src/output/Makefile.am: Ideally, we would support modules on
	  systems without installed libltdl via the included copy... which
	  needed some hacking to actually make it into the dist tarball.
	  this is not really resolved until I saw a working build on some
	  system apart from GNU/Linux (and Nick's MacOSX), where you
	  usually have libltdl.

2007-10-22 21:44  thor

	* makedll.sh: Ease Win32 DLL creation with MinGW32 a bit.

2007-10-22 20:30  thor

	* Makefile.am: distribute the rms16 program

2007-10-22 11:07  thor

	* TODO_1.0: We still got something to do...

2007-10-22 10:56  thor

	* doc/BUGS: Old list of bugs was outdated, BUGS now just points to
	  the tracker.

2007-10-22 10:54  thor

	* test/rms16.c: Less verbose rms16.

2007-10-22 10:14  thor

	* src/libmpg123/libmpg123.c: Make mpg123_decode work with &done ==
	  NULL . Segfault is never good.

2007-10-22 07:46  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/libmpg123.sym,
	  src/libmpg123/mpg123.h, src/libmpg123/reader.h,
	  src/libmpg123/readers.c: Add possibility to replace the read and
	  lseek functions.
	  That is needed to support non-supported methods of opening a
	  file:
	  You open the thing, give some integer to open_fd, your read/lseek
	  get called with that integer (aka. "file descriptor") to perform
	  their task.
	  The downside is, now I actually added callbacks to libmpg123...
	  didn't plan to:-/

2007-10-20 10:07  thor

	* src/libmpg123/tabinit.c, src/libmpg123/tabinit_mmx.S: Move
	  costab_mmxsse[] into assembly to stop MinGW stumbling over
	  ALIGNED(32) (must be a bug limiting at 16).
	  In assembler everything is fine with ALIGN32.

2007-10-18 22:22  thor

	* src/Makefile.am: distributing the legacy_module.c, too

2007-10-18 20:46  thor

	* src/libmpg123/frame.c, src/libmpg123/libmpg123.c,
	  src/libmpg123/mpg123.h: Normalize the encoding macros,
	  MPG123_ENC_8 now working just like MPG123_ENC_16.
	  Normalize return values: int mpg123_read();

2007-10-17 23:55  thor

	* src/Makefile.am, src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/libmpg123.sym,
	  src/libmpg123/mpg123.h, src/scan.c: Support for getting
	  (estimated) track length and for scanning through file to get
	  accurate length.
	  A proper LAME tag contains proper info, but you never know...

2007-10-17 23:45  thor

	* src/libmpg123/reader.h, src/libmpg123/readers.c: A safety reader
	  that just bounces back requests ... it is better than segfaulting
	  on call of NULL functions.

2007-10-17 23:17  thor

	* src/libmpg123/Makefile.am: it depends on libmpg132.sym

2007-10-16 22:14  thor

	* src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h,
	  src/libmpg123/readers.c: Fix strerror list (a comma was missing),
	  add an error for file access problem.

2007-10-16 21:49  thor

	* src/libmpg123/frame.c: No timeout on win32...

2007-10-16 20:49  thor

	* src/mpg123.c: Hacking the frame header info not messing with
	  verbose terminal display anymore, via a track freshness:
	  - ensures that the progress line is printed _after_ play_frame()
	  got first real data
	  - ensures that play_frame() does not repeat the header info when
	  the track is rewound

2007-10-16 20:23  thor

	* src/Makefile.legacy: ensure use of CPPFLAGS

2007-10-16 20:18  thor

	* src/mpg123.c, src/term.c, src/term.h: Fix term.c to work with the
	  opinter ao.
	  Much better now: I can play and seek, change tracks.
	  Seeking indeed sounds better now, without the distortion (the
	  library does some extra work now to ensure that).

2007-10-16 20:02  thor

	* src/mpg123.c: Always enable the --test-cpu and --list-cpu
	  switches m even if there is only one decoder.

2007-10-16 19:56  thor

	* src/httpget.c: Give non-http enabled builds the debunk_mime
	  function; that spares us cluttering playlist.c with #ifdefs.

2007-10-16 19:56  thor

	* src/Makefile.legacy, src/legacy_module.c: A bit of legacy
	  building.

2007-10-16 17:33  thor

	* src/output/alib.c: Include lib headers via <>, not ""; makes the
	  gcc dep generator work for legacy makefile.

2007-10-16 03:33  thor

	* src/term.c: Wodnering about the segfault when changing to next
	  track on terminal... for sure something simple... a next day.

2007-10-16 03:23  thor

	* src/output/Makefile.am: Help VPATH?

2007-10-16 02:50  thor

	* src/libmpg123/Makefile.am: re-include DK's VPATH fix for the asm
	  build rule... which still doesn't help the basic borkedness with
	  make distcheck.
	  -I../../src doesn't seem to help finding the most basic headers!

2007-10-16 02:45  thor

	* src/libmpg123/format.c, src/libmpg123/frame.c, src/mpg123.c: The
	  frame reset was missing crucial bits.
	  Now mpg123 fails gracefully when wanting to play stuff when no
	  audio interface is avalable.

2007-10-16 02:39  thor

	* src/Makefile.am, src/audio.c, src/audio.h, src/httpget.c,
	  src/libmpg123/Makefile.am, src/libmpg123/compat.c,
	  src/libmpg123/frame.c, src/libmpg123/frame.h,
	  src/libmpg123/libmpg123.c, src/libmpg123/mpg123.h,
	  src/libmpg123/reader.h, src/libmpg123/readers.c,
	  src/libmpg123/stringbuf.c, src/libmpg123/tabinit.c, src/mpg123.c,
	  src/output/Makefile.am, src/wav.c: A state of source that builds.
	  I am testing...

2007-10-16 02:19  thor

	* src/httpget.h: Header protection macro had a typo...

2007-10-16 02:14  thor

	* src/control_generic.c: Resolving a leftover conflict.

2007-10-16 01:32  thor

	* configure.ac, src/Makefile.am: First attempt to make it build
	  again.

2007-10-16 01:22  thor

	* test: Moving the basic test stuff to the main trunk.

2007-10-16 01:21  thor

	* Makefile.am: Also distribute the added doc.

2007-10-16 01:19  thor

	* doc/ACCURACY, doc/libmpg123_speed.txt: Some docs I added in the
	  lib branch.

2007-10-16 01:19  thor

	* xmms2-plugin: Moving the xmms2-plugin to mainline.

2007-10-16 01:11  thor

	* src/libmpg123/compat.c, src/libmpg123/compat.h,
	  src/libmpg123/mpg123lib_intern.h: The outsourced compatibility
	  functions.

2007-10-16 01:10  thor

	* src/mpglib.c: Adding the mpglib-style example program again.

2007-10-16 01:08  thor

	* src/audio.c, src/audio.h, src/output/aix.c, src/output/alib.c,
	  src/output/alsa.c, src/output/alsa05.c, src/output/coreaudio.c,
	  src/output/dummy.c, src/output/esd.c, src/output/hp.c,
	  src/output/jack.c, src/output/libao.c, src/output/mint.c,
	  src/output/nas.c, src/output/os2.c, src/output/oss.c,
	  src/output/portaudio.c, src/output/pulse.c, src/output/sdl.c,
	  src/output/sgi.c, src/output/sun.c, src/output/win32.c: An
	  attempt to mass-convert the output stuff with respect to audio
	  encoding constants and the changed main header.

2007-10-16 01:04  thor

	* src/common.c, src/common.h: One last mentioning of struct frame
	  was there...

2007-10-16 00:59  thor

	* src/genre.c, src/genre.h: The genres better organized.

2007-10-16 00:59  thor

	* src/layer3.h: *poof*

2007-10-16 00:52  thor

	* src/audio.c, src/audio.h, src/buffer.c, src/common.c,
	  src/common.h, src/control_generic.c, src/dct36_3dnow.S,
	  src/dct36_3dnowext.S, src/dct64.c, src/dct64_3dnow.S,
	  src/dct64_3dnowext.S, src/dct64_altivec.c, src/dct64_i386.c,
	  src/dct64_i486.c, src/dct64_mmx.S, src/dct64_sse.S, src/debug.h,
	  src/decode.c, src/decode.h, src/decode_2to1.c,
	  src/decode_3dnow.S, src/decode_4to1.c, src/decode_altivec.c,
	  src/decode_i386.c, src/decode_i486.c, src/decode_i586.S,
	  src/decode_i586_dither.S, src/decode_mmx.S, src/decode_mmxsse.S,
	  src/decode_ntom.c, src/dnoise.c, src/equalizer.c,
	  src/equalizer_3dnow.S, src/getbits.c, src/getbits.h,
	  src/getcpuflags.S, src/getcpuflags.h, src/httpget.c,
	  src/httpget.h, src/huffman.h, src/icy.c, src/icy.h, src/id3.c,
	  src/id3.h, src/id3print.c, src/id3print.h, src/l2tables.h,
	  src/layer1.c, src/layer2.c, src/layer3.c,
	  src/libmpg123/dct64_altivec.c, src/libmpg123/decode_altivec.c,
	  src/libmpg123/layer1.c, src/libmpg123/layer2.c,
	  src/libmpg123/layer3.c, src/libmpg123/mpg123lib_intern.h,
	  src/libmpg123/optimize.h, src/libmpg123/parse.c,
	  src/libmpg123/reader.h, src/libmpg123/readers.c,
	  src/libmpg123/tabinit.c, src/mangle.h, src/module.c,
	  src/mpg123.c, src/mpg123.h, src/mpg123app.h, src/optimize.c,
	  src/optimize.h, src/playlist.c, src/playlist.h, src/readers.c,
	  src/stringbuf.c, src/stringbuf.h, src/system.c, src/tabinit.c,
	  src/tabinit_mmx.S, src/term.c, src/term.h, src/testcpu.c,
	  src/wav.c, src/xfermem.c, src/xfermem.h: One big step of the
	  messy part of libmpg123 merge.
	  The hard code mixes should be done, easy code mixes to follow...
	  then the fun with the build system.

2007-10-16 00:13  thor

	* src/libmpg123/system.c: Just language.

2007-10-14 22:32  thor

	* src/libmpg123: Moving in the library source from the mpg123lib
	  branch.

2007-09-19 14:34  njh

	* src/output/aix.c, src/output/alib.c, src/output/alsa05.c,
	  src/output/coreaudio.c, src/output/dummy.c, src/output/hp.c,
	  src/output/jack.c, src/output/libao.c, src/output/mint.c,
	  src/output/nas.c, src/output/os2.c, src/output/oss.c,
	  src/output/portaudio.c, src/output/sdl.c, src/output/sgi.c,
	  src/output/sun.c, src/output/win32.c: Cleaned up output modules
	  some more:
	  - All modules now contain module init code
	  - Removed fprintf and replaced with debug/warning/error macros
	  - Converted spaces to tabs

2007-09-18 13:31  njh

	* src/output/portaudio.c, src/output/sdl.c: Moved global variables
	  to ao->userptr.
	  Now shuts down libraries properly when module is de-initialised.

2007-09-18 13:29  njh

	* src/sfifo.c: Fix to prevent double-free.

2007-09-18 12:37  thor

	* src/audio.c: -v -v now also prints the audio driver name.

2007-09-18 12:36  thor

	* src/output/nas.c: Add a cast in debugging line to make pedantic
	  gcc happy.

2007-09-15 23:36  thor

	* src/audio.c, src/audio.h, src/output/aix.c, src/output/hp.c,
	  src/output/sun.c: When we start defining some module API, it is a
	  bad idea to rely on the mpg123-global param struct.
	  So, I pushed the output flags back into a proper data field in
	  the audio output struct and give a copy of param.output_flags to
	  it when opening an output.
	  In the same place, I apply param.output_device to ao->device ...
	  it looks to me as it was intended that way to make -o
	  module:device really work.
	  

2007-09-15 23:24  thor

	* src/audio.h, src/mpg123.c, src/mpg123.h, src/output/aix.c,
	  src/output/hp.c, src/output/sun.c: Integrate legacy -o h -o l -o
	  s with new-style -o module[:device] .
	  When there is a one-letter argument, the legacy flag is set -
	  else, it is a module spec.
	  This implies a minimum length of a module name: 2 characters. I
	  think that shall be no problem for any sane module name.
	  Along with the option processing change, the output flag was put
	  into the parameter struct, as it has to be set _before_ the audio
	  structure is allocated.

2007-09-13 12:45  njh

	* src/audio.c, src/audio.h, src/common.c, src/control_generic.c,
	  src/layer1.c, src/layer2.c, src/layer3.c, src/mpg123.c,
	  src/mpg123.h: Now closing audio output module properly
	  Moved more relavent code into audio.c

2007-09-11 14:27  njh

	* src/legacy_module.c: Added --list-modules message for legacy
	  build

2007-09-11 14:25  njh

	* src/module.c, src/module.h: Changed all occurrences of
	  http://mpg123.de to http://mpg123.org (for consistency)

2007-09-11 14:12  njh

	* src/mpg123.c: Added back command-line option to choose the output
	  module

2007-09-11 13:43  njh

	* src/module.c: Added API version checking

2007-09-11 13:43  njh

	* src/audio.c, src/module.c, src/output/alsa.c: Fixes to make Linux
	  compile

2007-09-11 13:35  njh

	* src/output/pulse.c: Forgot to import this code from the branch

2007-09-11 09:23  njh

	* autogen.sh, configure.ac: Libtool is required to build modules
	  (and ranlib is obseleted)

2007-09-10 23:37  njh

	* src/legacy_module.c, src/module.c, src/output/sun.c: config.h
	  gets included by mpg123.h these days

2007-09-10 23:23  njh

	* configure.ac, libltdl, src/Makefile.am, src/Makefile.legacy,
	  src/audio.c, src/audio.h, src/audio_aix.c, src/audio_alib.c,
	  src/audio_alsa.c, src/audio_alsa05.c, src/audio_coreaudio.c,
	  src/audio_dummy.c, src/audio_esd.c, src/audio_hp.c,
	  src/audio_jack.c, src/audio_libao.c, src/audio_mint.c,
	  src/audio_nas.c, src/audio_os2.c, src/audio_oss.c,
	  src/audio_portaudio.c, src/audio_sdl.c, src/audio_sgi.c,
	  src/audio_sun.c, src/audio_win32.c, src/buffer.c, src/common.c,
	  src/common.h, src/control_generic.c, src/layer1.c, src/layer2.c,
	  src/layer3.c, src/layer3.h, src/legacy_module.c, src/module.c,
	  src/module.h, src/mpg123.c, src/mpg123.h, src/output,
	  src/output/Makefile.am, src/output/aix.c, src/output/alib.c,
	  src/output/alsa.c, src/output/alsa05.c, src/output/coreaudio.c,
	  src/output/dummy.c, src/output/esd.c, src/output/hp.c,
	  src/output/jack.c, src/output/libao.c, src/output/mint.c,
	  src/output/nas.c, src/output/os2.c, src/output/oss.c,
	  src/output/portaudio.c, src/output/sdl.c, src/output/sgi.c,
	  src/output/sun.c, src/output/win32.c, src/term.c, src/term.h,
	  src/wav.c: Finished hacking in loadable output module support
	  from branch "njh-outputplugin".
	  Legacy support allows statically compiling in a single module.
	  Still needs some work, but a quick test on my MacBook worked :)

2007-08-27 21:33  thor

	* src/Makefile.am, src/httpget.c, src/httpget.h, src/mpg123.c,
	  src/mpg123.h, src/playlist.c, src/readers.c: A reaction to bug
	  1782603; centralizing the MIME stuff in httpget.c and adding some
	  aliases.

2007-08-06 23:23  thor

	* NEWS: Little update to NEWS.

2007-08-06 23:04  thor

	* README, man1/mpg123.1: - --long-help mentioned in README
	  - updated man page for --loop and --timeout

2007-08-06 22:52  thor

	* INSTALL: INSTALL updates inspired by Winston.

2007-08-06 22:38  thor

	* src/system.c: Well, this file is inactive atm., but we still can
	  fix some language.

2007-08-06 22:31  thor

	* src/config.h.legacy: More positive suggestions for integer types
	  in config.h.legacy.

2007-08-06 22:19  thor

	* configure.ac, src/Makefile.am: Combine MMX, SSE, 3DNowExt with
	  fallback decoders and add the _alone cpu builds.

2007-08-06 21:12  thor

	* AUTHORS, doc/THANKS: update contributors and supporters

2007-08-06 20:45  thor

	* AUTHORS: Reorder the maintainer eras in AUTHORS to go into the
	  past when scrolling down the file.

2007-08-03 23:06  thor

	* src/common.c: little header cleanup in common.c

2007-08-03 13:09  thor

	* src/mpg123.h: mpg123.h cleanup, removing old stuff that's not
	  needed.

2007-08-02 19:48  thor

	* configure.ac, src/common.c, src/mpg123.h: Sort out some integer
	  type header stuff... central in mpg123.h .

2007-08-02 16:18  thor

	* src/id3.c: Short is 16 bit, no need for inttypes.h in id3.c .

2007-08-01 15:28  thor

	* src/dct64_altivec.c, src/decode_altivec.c, src/layer1.c,
	  src/layer2.c, src/layer3.c, src/optimize.h, src/tabinit.c:
	  ALIGN(16) -> ALIGNED(16), as there is already such a macro on
	  MacOSX.

2007-08-01 15:03  thor

	* src/dct64_altivec.c, src/decode_altivec.c, src/layer1.c,
	  src/layer2.c, src/layer3.c, src/optimize.h, src/tabinit.c: Change
	  alignment macro name to ALIGN() and applying it everywhere where
	  alignment is needed in C code.
	  That fixes MacOSX build (the aligned() macro messed up left over
	  __attribute__((aligned(16))) ...).

2007-07-28 00:58  thor

	* src/control_generic.c, src/mpg123.c: Let the control interface be
	  at least built and in principle activated under Win32; while it
	  doesn't work because of select() being limited to sockets.

2007-07-28 00:57  thor

	* src/readers.c: Need sys/time.h!

2007-07-28 00:46  thor

	* src/Makefile.legacy: SunOS not having strerror ...?

2007-07-28 00:15  thor

	* src/mpg123.c, src/mpg123.h, src/readers.c: Hide the timeout code
	  (using select()) from Win32 to make that build work again.

2007-07-27 23:35  thor

	* src/Makefile.legacy: -DNO_RT for SunOS

2007-07-27 23:32  thor

	* configure.ac, src/config.h.legacy, src/mpg123.c, src/mpg123.h:
	  Another hint from Winston: be prepared for missing strerror.

2007-07-27 23:23  thor

	* configure.ac: Going to be 0.67 .

2007-07-27 23:22  thor

	* configure.ac, src/Makefile.legacy, src/audio.c, src/audio_aix.c,
	  src/audio_alib.c, src/audio_alsa05.c, src/audio_coreaudio.c,
	  src/audio_hp.c, src/audio_jack.c, src/audio_nas.c,
	  src/audio_oss.c, src/audio_portaudio.c, src/audio_sdl.c,
	  src/audio_sgi.c, src/audio_sun.c, src/audio_win32.c,
	  src/buffer.c, src/common.c, src/common.h, src/config.h.legacy,
	  src/control_generic.c, src/decode.c, src/decode_2to1.c,
	  src/decode_4to1.c, src/decode_altivec.c, src/decode_i386.c,
	  src/decode_i486.c, src/decode_ntom.c, src/httpget.c, src/id3.c,
	  src/layer3.c, src/mpg123.c, src/mpg123.h, src/playlist.c,
	  src/readers.c, src/stringbuf.c, src/system.c, src/tabinit.c,
	  src/term.c, src/wav.c, src/xfermem.c: A commit motivated by SunOS
	  veteran Winston. He gave SunOS 4.1.2 with gcc 2.7.0 a spin.
	  
	  A commit that looks bigger than it is. Most files only got header
	  #includes removed that are handled in mpg123.h .
	  Then there are the corresponding changes in mpg123.h; together
	  with the addition of safe_realloc for ancient systems.
	  The ugly need for snprintf in make_remote_header() has been
	  avoided by changing this one into print_remote_header().
	  The Question of size_t, ssize_t and off_t is handled in configure
	  now; respectively in config.h.legacy .

2007-07-27 22:28  thor

	* NEWS: Preparing NEWS for 0.67 .

2007-07-25 20:05  thor

	* src/Makefile.am: Let 'make clean' clean *.a files, too.

2007-07-12 21:51  thor

	* src/audio.c: Enable flexible rate for stdout decoding, too.

2007-07-12 21:34  thor

	* src/control_generic.c: We can use the external one from mpg123.c,
	  should even, perhaps.

2007-07-01 08:21  thor

	* src/id3.c: Hah! Now UTF8 filtering to ASCII finally works thanks
	  to Mika Tiainen.

2007-06-30 18:47  thor

	* src/common.c: Notes in audio_flush() about it not being relevant
	  for buffered decoding.
	  Strangely, there is this write call for DECODE_BUFFER... I think
	  that should be different...
	  I am not sure about how safe the buffer code is. I don't claim to
	  understand it, though.

2007-06-30 15:44  thor

	* src/common.c: I was one frame off; -k 1 was a no-op since the
	  first frame number was incremented to 1 too soon.
	  Now the fresh frame number is -1 before read_frame and 0 for the
	  first frame after that.
	  The funny part is, that the buggy variant agrees with 0.59r and
	  the corrected has a shift of 1 frame for many mp3 files:
	  0.59r does not recognize the LAME tag and plays a frame of
	  silence instead.
	  So, now it should be correct, albeit differing from old mpg123.

2007-06-28 13:15  thor

	* src/mpg123.c: a ) in help output

2007-06-28 13:07  thor

	* src/mpg123.c, src/mpg123.h, src/playlist.c, src/playlist.h:
	  --loop: Specify loop count for tracks; <0 triggers endless loop;
	  good for persistent internet streaming with unreliable connection
	  and --timeout

2007-06-28 12:07  thor

	* src/mpg123.c, src/mpg123.h, src/readers.c: --timeout <n>:
	  Possibility to end playback on a stream that doesn't give data
	  for <n> seconds.
	  I hope this helps the guy of ROM 106.5FM with the non-static
	  internet connection.

2007-06-12 00:28  thor

	* src/Makefile.am: DK pointed this fix out to not break compiles
	  into separate object dirs: use more flags for cpp on .S files.

2007-06-12 00:25  thor

	* src/mpg123.c: Add a missing Y for the setpriority paranoia.

2007-06-04 23:22  thor

	* ., src: ignore autogenerated stuff

2007-06-04 23:02  thor

	* configure.ac, src/dct64_sse.S, src/layer1.c, src/layer2.c,
	  src/layer3.c, src/mangle.h, src/optimize.h: If
	  __attribute__((aligned(16))) works, replace all left movups with
	  movaps for dct64_sse, following a patch by Zuxy Meng posted to
	  MPlayer list.
	  On my Pentium-M that seems to gain about 1% of performance, while
	  the other opts seem to profit from the alignment, too.

2007-06-04 21:31  thor

	* src/audio.c, src/audio_aix.c, src/audio_alib.c, src/audio_alsa.c,
	  src/audio_alsa05.c, src/audio_coreaudio.c, src/audio_dummy.c,
	  src/audio_esd.c, src/audio_hp.c, src/audio_jack.c,
	  src/audio_libao.c, src/audio_mint.c, src/audio_nas.c,
	  src/audio_os2.c, src/audio_oss.c, src/audio_portaudio.c,
	  src/audio_sdl.c, src/audio_sgi.c, src/audio_sun.c,
	  src/audio_win32.c, src/buffer.c, src/common.c,
	  src/control_generic.c, src/dct64.c, src/dct64_altivec.c,
	  src/dct64_i386.c, src/dct64_i486.c, src/debug.h, src/decode.c,
	  src/decode_2to1.c, src/decode_4to1.c, src/decode_altivec.c,
	  src/decode_i386.c, src/decode_i486.c, src/decode_ntom.c,
	  src/equalizer.c, src/getbits.c, src/httpget.c, src/id3.c,
	  src/layer1.c, src/layer2.c, src/layer3.c, src/mpg123.c,
	  src/mpg123.h, src/optimize.c, src/playlist.c, src/readers.c,
	  src/system.c, src/tabinit.c, src/term.c, src/wav.c,
	  src/xfermem.c: Include config.h and debug.h centrally in
	  mpg132.h, remove redundant includes.

2007-06-04 20:10  thor

	* src/optimize.c: Show decoder options in their priority order.

2007-06-04 20:07  thor

	* man1/mpg123.1: Update the man page date.

2007-06-04 19:53  thor

	* scripts/benchmark-cpu.pl: Modify the script to use the actually
	  supported decoders.

2007-06-04 14:10  njh

	* scripts/benchmark-cpu.pl: Perl script to benchmark each of
	  mpg123's CPU optimisations

2007-06-03 23:41  thor

	* NEWS: news for 0.66

2007-06-03 23:28  thor

	* src/optimize.c, src/optimize.h: complete the forced / flexible
	  rate fallback for 3DNowExt->3DNow

2007-06-03 23:06  thor

	* src/optimize.c: Do the pentium fallback for forced/flexible rate
	  also from 3DNowExt.
	  I guess the root lies in MMX...

2007-06-03 20:57  thor

	* src/config.h.legacy: define some HAVE_*_H to make some legacy
	  builds build again

2007-06-03 20:11  thor

	* README: little README update/fix

2007-06-01 09:54  thor

	* configure.ac, doc/README.remote, src/control_generic.c: Let the
	  remote interface print the greeting string _before_ waiting on
	  the fifo.
	  Also updated documentation for control interface.

2007-06-01 09:34  thor

	* man1/mpg123.1, src/mpg123.c: - set remote_err when putting audio
	  to stdout.
	  - some documentation consistency

2007-06-01 08:07  thor

	* configure.ac: OSF1 is not just a generic system - it's UNIX!

2007-06-01 07:44  thor

	* configure.ac: For now, define NOXFERMEM for -DGENERIC; this has
	  to be resolved with indivitual checks later.

2007-06-01 07:27  thor

	* configure.ac, src/wav.c: Another GENERIC fix: check for
	  get/setuid.

2007-06-01 07:25  thor

	* configure.ac, src/mpg123.c: One fix for generic systems that have
	  setpriority - check for the necessary headers instead of system
	  type.

2007-06-01 06:57  thor

	* configure.ac: Fix configure for non-gcc (with_optimization=0).

2007-06-01 00:32  njh

	* MakeLegacy.sh, Makefile.am, autogen.sh, configure.ac,
	  misc/equalizer-control.pl, src/Makefile.am, src/Makefile.legacy,
	  src/Makefile.win32, src/audio.c, src/audio.h, src/audio_aix.c,
	  src/audio_alib.c, src/audio_alsa.c, src/audio_coreaudio.c,
	  src/audio_dummy.c, src/audio_esd.c, src/audio_hp.c,
	  src/audio_jack.c, src/audio_libao.c, src/audio_mint.c,
	  src/audio_nas.c, src/audio_os2.c, src/audio_oss.c,
	  src/audio_portaudio.c, src/audio_sdl.c, src/audio_sgi.c,
	  src/audio_sun.c, src/audio_win32.c, src/buffer.c, src/buffer.h,
	  src/common.c, src/common.h, src/control_generic.c,
	  src/dct36_3dnow.S, src/dct64.c, src/dct64_3dnow.S,
	  src/dct64_altivec.c, src/dct64_i386.c, src/dct64_i486.c,
	  src/dct64_mmx.S, src/decode.c, src/decode.h, src/decode_2to1.c,
	  src/decode_3dnow.S, src/decode_4to1.c, src/decode_altivec.c,
	  src/decode_i386.c, src/decode_i486.c, src/decode_i586.S,
	  src/decode_mmx.S, src/decode_ntom.c, src/equalizer.c,
	  src/equalizer_3dnow.S, src/genre.h, src/getbits.c, src/getbits.h,
	  src/getcpuflags.S, src/getlopt.c, src/getlopt.h, src/httpget.c,
	  src/huffman.h, src/icy.h, src/l2tables.h, src/layer1.c,
	  src/layer2.c, src/layer3.c, src/layer3.h, src/mpg123.c,
	  src/mpg123.h, src/optimize.c, src/optimize.h, src/playlist.c,
	  src/playlist.h, src/readers.c, src/stringbuf.c, src/stringbuf.h,
	  src/system.c, src/tabinit.c, src/tabinit_mmx.S, src/term.c,
	  src/term.h, src/wav.c, src/xfermem.c, src/xfermem.h: Changed all
	  occurrences of http://mpg123.de to http://mpg123.org (for
	  consistency)

2007-05-31 22:43  thor

	* man1/mpg123.1: Add hint for 'h' in terminal control mode.

2007-05-31 22:21  thor

	* man1/mpg123.1: Add --fifo Option to man page.

2007-05-31 22:08  thor

	* src/wav.c: Make this compile in normal mode with -Werror.

2007-05-31 22:06  thor

	* configure.ac: re-enable -Werror for debugging build

2007-05-31 22:05  thor

	* configure.ac, src/control_generic.c: Use mkfifo instead of mknod,
	  test for it in configure instead of guessing based on operating
	  system.

2007-05-31 21:45  thor

	* configure.ac: x86 apple default to x86

2007-05-31 21:34  thor

	* src/Makefile.am: add the x86_dither lib to EXTRA_LIBS

2007-05-31 21:31  thor

	* src/Makefile.am, src/decode_i586_dither.S, src/dnoise.c: Move the
	  dither noise into a standalone C file. That saves space (,
	  instead of .float for every number) and circumvents a workaround
	  for the .float pseudo-op, which is .single on MacOSX.

2007-05-31 20:09  thor

	* src/optimize.c: Let --test-cpu print the actually available
	  decoders, not just the cpu flags.

2007-05-31 19:58  thor

	* src/optimize.c: Don't claim we have anything with SSE2 or SSE3.

2007-05-31 19:55  thor

	* configure.ac, src/Makefile.am: towards a real separation of x86
	  and x86_dither

2007-05-31 16:45  thor

	* Makefile.am, man1, man1/mpg123.1, mpg123.1, src/mpg123.c: Updated
	  the manpage a bit.

2007-05-31 16:12  thor

	* src/mpg123.c: fix file creation mode for -O

2007-05-31 15:55  thor

	* src/Makefile.am: decode.h shall be distributed.

2007-05-31 15:54  thor

	* configure.ac, src/common.c, src/common.h, src/decode.c,
	  src/decode.h, src/decode_2to1.c, src/decode_4to1.c,
	  src/decode_ntom.c, src/getlopt.c, src/getlopt.h, src/mpg123.c,
	  src/mpg123.h, src/optimize.h, src/tabinit.c, src/wav.c: I
	  couldn't help myself... here is the option for a build using the
	  generic decoder that produces 32bit float output.
	  You select it via --with-cpu=generic_float, which implies dummy
	  output and also disables the buffer.
	  The decoded audio can be written raw or to a IEEE float wav file.
	  
	  This demonstrates that it's doable and not too complicated for
	  the generic code.
	  Next would be to a) make it into a runtime option and b) adapt
	  assembler opts to that.
	  The latter will most likely not happen for every opt.

2007-05-31 11:26  thor

	* configure.ac: split x86 opts into
	  x86: everything except i486 and i586_dither (as it is large)
	  x86_dither: everything except i486 (x86 + 256K)

2007-05-31 11:25  thor

	* src/optimize.c: list 3DNowExt

2007-05-30 17:52  thor

	* configure.ac, src/dct36_3dnowext.S, src/dct64_3dnowext.S,
	  src/dct64_mmx.S, src/dct64_sse.S, src/decode_3dnow.S,
	  src/decode_i586.S, src/decode_i586_dither.S, src/decode_mmxsse.S,
	  src/equalizer_3dnow.S, src/getcpuflags.S, src/mangle.h,
	  src/tabinit_mmx.S: Trying to make assembler stuff work on MacOSX:
	  - test for behaviour of .align (exponent or direct byte value)
	  and macros in mangle.h
	  - replace every align/p2align with ALIGN4, ALIGN8, ALIGN16 or
	  ALIGN32
	  - more BSS

2007-05-30 16:30  thor

	* configure.ac: Add a default cpu target of x86 for i686-* host.

2007-05-30 16:26  thor

	* src/dct64_sse.S, src/decode_3dnow.S, src/decode_i586.S,
	  src/mangle.h: A first attempt to silence the MacOSX assembler.

2007-05-30 16:16  thor

	* src/audio.c: Some debug printf fixes (%li -> %i).

2007-05-29 13:21  thor

	* src/mpg123.c, src/wav.c: Fix wav and raw output under Win32 by
	  explicitly setting the file mode to binary.
	  The distortion was caused by line end bytes being converted.

2007-05-29 13:20  thor

	* configure.ac: Call FIFO suport disabled when it is after auto
	  detection.

2007-05-29 09:00  thor

	* src/audio.c: Hopefully a last variant of the error message.
	  We'll clean up the capabilities code itself later with the output
	  plugins..

2007-05-28 19:30  thor

	* src/audio.c: Yet another variant of error message, without an
	  appended parenthesed part.

2007-05-27 09:12  thor

	* src/audio.c: More explained error message.

2007-05-27 08:56  thor

	* src/audio.c: fix "you forced mono"

2007-05-25 10:06  thor

	* doc/monostereo.txt, src/audio.c, src/mpg123.c, src/mpg123.h: Fix
	  force_mono logic and give meaningful error messages when the
	  audio device doesn't play.

2007-05-25 00:32  thor

	* src/audio_win32.c: 1. Fix (?) the Win32 output. It used to get a
	  deadlock on waveOutWrite when callback wants the critical
	  section.
	  Figured that we actually only need the critical section to keep
	  the block count straight.
	  2. Reformat the code.
	  
	  Still, I don't like the win32 output. It cannot be efficient to
	  allocate/deallocate memory blocks all the time.
	  A fixed set of buffers makes so much sense.
	  Just manage an array of them (do I need so many, even?).

2007-05-24 22:56  thor

	* configure.ac: Detect win32 audio by probing windows.h ... the
	  winmm library check just doesn't work.

2007-05-24 22:55  thor

	* src/mpg123.h: no double declaration of REAL_IS_FLOAT on Win32

2007-05-24 12:57  thor

	* configure.ac, src/audio_sdl.c, src/audio_win32.c: trying to add
	  win32 again

2007-05-24 12:38  thor

	* README: little README update regarding SSE/3DNowExt

2007-05-24 12:14  thor

	* src/decode_mmxsse.S, src/mpg123.c, src/optimize.h: fix single cpu
	  compiles by fixing MPLAYER -> OPT_MPLAYER

2007-05-24 02:37  thor

	* src/Makefile.am, src/dct36_3dnowext.S, src/dct64_3dnowext.S: Fix
	  dependencies and comments for some of the new asms.
	  Now a x86 build "just works".

2007-05-24 02:36  thor

	* src/control_generic.c: Fix a warning about comstr.

2007-05-24 02:06  thor

	* src/Makefile.am, src/dct36_3dnowext.S, src/dct36_3dnowext.c,
	  src/dct64_3dnowext.S, src/dct64_3dnowext.c, src/dct64_sse.S,
	  src/dct64_sse.c, src/decode_mmxsse.S, src/decode_mmxsse.c: Really
	  switch to standalone assembler for SSE and extended 3DNow (some
	  cleanup and mergeing still due) now.
	  Also use CCASFLAGS for assembler files.

2007-05-24 01:49  thor

	* src/dct64_3dnowext.S, src/decode_mmxsse.S: ASM_NAME fixes

2007-05-24 00:17  thor

	* src/dct36_3dnowext.S, src/dct64_3dnowext.S, src/dct64_sse.S,
	  src/decode_i586.S, src/decode_i586_dither.S, src/decode_mmxsse.S,
	  src/mangle.h, src/tabinit_mmx.S: Another step to convert stuff to
	  (kindof portable) external asm.

2007-05-23 22:36  thor

	* configure.ac: How smart am I? Now again the OSS check.

2007-05-23 00:18  thor

	* configure.ac: Now really...

2007-05-22 23:23  thor

	* configure.ac: fix OSS detection, tell what audio systems were
	  detected

2007-05-22 22:55  thor

	* src/decode_mmxsse.S: Turn this into standalone ASM... gonna see
	  what cygwin/mingw say to this.

2007-05-22 21:26  thor

	* src/decode_mmxsse.c: typo in comment

2007-05-17 16:28  thor

	* src/audio_alsa.c: apply fix from Clemens for bug 1691913
	  handling underrun now

2007-05-09 12:49  thor

	* configure.ac, src/control_generic.c, src/mpg123.c, src/mpg123.h:
	  1. FIFO support in control_generic
	  
	  just reading from STDIN and
	  
	  mkfifo /tmp/mpg123_fifo
	  mpg123 -R < /tmp/mpg123_fifo &
	  
	  doesn't make repeated `echo command > /tmp/mpg123_fifo` possible,
	  so a bit of extra code added
	  
	  mpg123 -R --fifo /tmp/mpg123_fifo
	  
	  And you have your mpg123 daemon randomly controlled by the fifo.
	  
	  2. Fixup command parsing for multiple commands in one read()
	  (which usually never happens) ... it was just wrong before.
	  Now it's still not nice code, but works.
	  Also there's no malloc needed anymore, which is good.

2007-05-09 12:19  thor

	* src/audio.c: tell the device dame in verbose mode

2007-05-02 23:02  thor

	* configure.ac, src/Makefile.am: fix the rename to coreaudio for
	  configure/make ... cannot test here, but need make dist to work

2007-05-02 22:52  thor

	* configure.ac: fall back to dummy output properly

2007-05-02 22:48  thor

	* configure.ac, src/Makefile.am, src/audio_portaudio.c,
	  src/buffer.c, src/buffer.h, src/common.c, src/control_generic.c,
	  src/decode_3dnow.S, src/decode_i586.S, src/decode_i586_dither.S,
	  src/mangle.h, src/tabinit_mmx.S, src/term.c, src/wav.c: Hacking
	  MinGW32 into cooperation, in dialog with Elia Blance.
	  This restores some work of Tony Million from ages ago... wrapping
	  buffer code properly into #ifndef NOXFERMEM again (except in
	  term.c, which is a different beast).
	  Hack Makefile for the preprocessed .S files (mingw doesn't run
	  cpp by itself).
	  
	  Got autoconf'ed x86 portaudio/mme build working for *-mingw32;
	  Elia wants SDL ...;-)
	  Also configure now doesn't look at OS for choosing default audio
	  output but at the available output systems instead.
	  Let's keep this hardcoding at a minimum.
	  
	  Sound playback works, control_generic not (no stdin in windows
	  terminal?).
	  Assembler opts work nicely (including --cpu choice).
	  WAV writing has distortion ... twisted endianess?

2007-05-02 12:08  thor

	* src/control_generic.c: wrap buffer code in #ifndef NOXFERMEM

2007-05-01 16:16  thor

	* src/optimize.c, src/optimize.h: Make MMX and SSE fall back to
	  i586 and friends (what's available) when auto-choosing cpu and -r
	  <rate> is given.
	  That's what I can do about bug 1545293 for now.
	  When we have the next release with the x86 combined build, people
	  are able to properly do flexible rate mode even with an
	  MMX-enabled (or SSE) build.
	  On the long term we need
	  a) separating the decoding tables (I guess the special mmx table
	  is interfering here)
	  b) making the opts work with resampling natively

2007-04-20 21:47  thor

	* scripts/debugdef.pl, src/debug.h, src/httpget.c: Fix up the
	  debugging macros; syntactic appearance as functions again (no
	  closing ; in macro itself) (as DK suggested, basically).

2007-04-11 23:43  njh

	* src/audio.c: What was this old ALSA stuff still doing here

2007-04-11 22:29  njh

	* src/audio_coreaudio.c, src/audio_macosx.c: Renamed macosx to
	  coreaudio

2007-04-11 22:29  njh

	* src/audio_jack.c: Fixed C90 problems

2007-04-10 20:59  njh

	* src/Makefile.am: Added rule to build testcpu

2007-03-11 21:54  thor

	* src/optimize.c: don't pollute generic control interface with
	  "decoder: SSE"

2007-03-05 00:09  thor

	* src/decode_mmxsse.c, src/optimize.c: fix debug compile in
	  optimize.c ... noted inevitable failure of debug compile in
	  decode_mmxsse (long long)

2007-03-05 00:06  thor

	* configure.ac: make the all-in-one x86 opt the default guess for
	  i586+ linux/cygwin
	  of course --with-cpu still gives you the smaller binary optimized
	  for one cpu only

2007-03-04 23:46  thor

	* src/Makefile.am: add getcpuflags.h to the distro

2007-03-04 22:07  thor

	* src/Makefile.am, src/dct36_3dnow.S, src/dct64_3dnow.S,
	  src/dct64_mmx.S, src/dct64_mmx.s, src/decode_3dnow.S,
	  src/decode_i586.S, src/decode_i586.s, src/decode_i586_dither.S,
	  src/decode_i586_dither.s, src/decode_mmx.S, src/decode_mmx.s,
	  src/equalizer_3dnow.S, src/getcpuflags.S, src/tabinit_mmx.S,
	  src/tabinit_mmx.s: convert standalone assembler codes to C
	  preprocessed asm, using mangle.h and adding some quirks to make
	  cygwin happy

2007-03-04 22:06  thor

	* src/optimize.c, src/optimize.h: fix the optmize stuff again,
	  optmize.c only for multi, fix mmx standalone with OPT_MMXORSSE
	  instead of MMXORSSE

2007-03-04 22:04  thor

	* src/mpg123.c: common.h is needed for print_stat

2007-03-04 11:58  thor

	* src/mpg123.c, src/optimize.c: cleaning up cpuflags stuff ...
	  really enabling test-cpu for 3dnow

2007-03-04 03:17  thor

	* configure.ac, src/Makefile.am, src/dct36_3dnow.S,
	  src/dct36_3dnow.s, src/dct64_3dnow.S, src/dct64_3dnow.s,
	  src/decode_3dnow.S, src/decode_3dnow.s, src/equalizer_3dnow.S,
	  src/equalizer_3dnow.s: cpp-ified some more asm, fix 3dnow in
	  autoconf

2007-03-04 01:55  thor

	* ., AUTHORS, build, src, src/Makefile.am, src/Makefile.legacy,
	  src/getcpuflags.S, src/getcpuflags.s, src/mangle.h, src/mpg123.c,
	  src/mpg123.h, src/optimize.c, src/optimize.h: - fix optimize.c to
	  compile again, clean up some 3dnow lecacy stuff
	  - getcpuflags asm is now fed through cpp (.S triggers that for
	  gcc ... for other compilers we could trivially force this)
	  - also fix some svn:ignores to lower the noise ...

2007-03-04 01:43  thor

	* src/getcpuflags.s: now using cpp to get name mangling done

2007-03-02 23:34  thor

	* src/getcpuflags.h, src/getcpuflags.s, src/mpg123.c,
	  src/optimize.c, src/testcpu.c: refacor the cpu flag code ... now
	  one asm funtion for all flags
	  adapted the optimize stuff
	  Note: 3dnow has to be fixed again, or at least documented that
	  the current behaviour is to build _only_ 3dnow in.
	  To reproduce previous behaviour one would need to make the 3dnow
	  opt an alias for multi with 3dnow and i586.
	  That would be compatible, but inconsistent.

2007-02-28 09:18  thor

	* src/getcpuflags.s, src/testcpu.c: fix the cpuid asm to be
	  correctly skipped on a cpu that doesn't support it, add a simple
	  standalone cpu flag tester
	  still need to reorganize the split getcpuflags.s functions back
	  into one

2007-02-25 20:55  thor

	* src/mpg123.c: #ifdef some mplayer import specific code in
	  mpg123.c

2007-02-25 16:32  thor

	* README, src/common.c, src/common.h, src/control_generic.c,
	  src/mpg123.h, src/term.c, src/term.h: Adding more control to
	  terminal control: volume, rva and verbosity switch... also added
	  volume and rva info to status display.

2007-02-22 05:09  thor

	* configure.ac, src/Makefile.am, src/dct36_3dnowext.c,
	  src/dct64_3dnowext.c, src/decode_i386.c, src/decode_mmxsse.c,
	  src/mpg123.c, src/optimize.c, src/optimize.h: I cannot stop...
	  hacked 3DNowExt from MPlayer in (check license again...) It
	  builds but I still have to test it on a 3dnowext box.
	  And... these MPlayer imports are not really nicely crafted. One
	  should tidy up.

2007-02-22 03:47  thor

	* src/mpg123.c, src/mpg123.h: mangle the 3dnow and multi test
	  option a bit for staying compatible in the solo 3dnow build

2007-02-22 03:38  thor

	* src/optimize.c: formatting, lowercase features

2007-02-22 03:29  thor

	* src/getcpuflags.s, src/mpg123.c, src/mpg123.h, src/optimize.c,
	  src/optimize.h: more relentless duplication in the cpuflags code
	  to detect all interesting features and cpu family,
	  adding a generic feature set test (instead of only 3dnow test)
	  and tests for auto selection of opts
	  not yet decided to prevent user from setting invalid opt besides
	  for non-pentium class cpus

2007-02-22 02:09  thor

	* src/mangle.h: adding this header for a moment ... it's gpl-only
	  and possibly only temporary until I decided what to do with the
	  SSE stuff

2007-02-22 02:04  thor

	* src/decode_i386.c, src/getcpuflags.s, src/mpg123.c,
	  src/optimize.c, src/optimize.h: fixing i386 code with gcc-4.1 by
	  using the old WRITE_SAMPLE again - the new one has distorted
	  sound and gcc complains about strict aliasing ... the old
	  WRITE_SAMPLE even seems to be faster with gcc-3.4!
	  Of course I didn't (yet) test on my real i386DX40 if there's an
	  advantage.
	  Started mocking with cpuflags to get proper MMX and SSE
	  detection.

2007-02-22 00:54  thor

	* src/optimize.c, src/optimize.h: some fixing for multi mode...
	  need to do cpu detection for real

2007-02-21 23:43  thor

	* configure.ac: debugging mode won't compile the i386 code with
	  strict aliasing rules because of WRITE_SAMPLE, adding
	  -fno-strict-aliasing

2007-02-20 04:00  thor

	* configure.ac, src/Makefile.am, src/decode_i386.c, src/mpg123.c,
	  src/mpg123.h, src/optimize.c, src/optimize.h: a first edition of
	  the merged build ... only serves to produce silence of funny
	  sounds atm. ... dunno why but getting some sleep looks like a
	  valid option

2007-02-20 03:07  thor

	* configure.ac, src/Makefile.am, src/dct64_sse.c,
	  src/decode_i386.c, src/decode_mmxsse.c, src/layer2.c,
	  src/layer3.c, src/optimize.c, src/optimize.h: Adding SSE from
	  MPlayer! Surprised how this worked with some guessing and late
	  night disrespect.
	  This now is again a bit faster than the gcc-4.1 enhanced i386
	  code; and also mpg123 is now again a bit faster than MPlayer at
	  decoding mp3 on an SSE cpu (well, mplayer's bigger architecture
	  has to show somewhere ... perhaps it's even just the faster
	  update of progress display on terminal, which I only redirected
	  to /dev/null in the test).
	  What's missing is the 3DNow!Ext code, that should be adaptible in
	  the same way as the SSE code was, but it may make sense to make
	  that a bit prettier first.
	  Oh ... and downsampling is quite silent. I guess mplayer didn't
	  use that and somehow it does not magically start working for
	  mpg123.
	  I can still switch to another dct function...

2007-02-20 01:43  thor

	* src/Makefile.legacy, src/optimize.c: update the legacy Makefile

2007-02-19 19:15  thor

	* NEWS, configure.ac, src/Makefile.am, src/common.c,
	  src/dct64_altivec.c, src/dct64_i386.c, src/dct64_i486.c,
	  src/dct64_mmx.s, src/decode.c, src/decode_2to1.c,
	  src/decode_4to1.c, src/decode_altivec.c, src/decode_i386.c,
	  src/decode_i486.c, src/decode_i586.s, src/decode_i586_dither.s,
	  src/decode_ntom.c, src/layer2.c, src/layer3.c, src/mpg123.c,
	  src/mpg123.h, src/optimize.c, src/optimize.h, src/tabinit.c,
	  src/tabinit_mmx.s: Starting to hack for 0.66; with the crazy idea
	  to prepare the possibility of a unified build featuring a set of
	  (x86) optimizations to choose from at runtime.
	  I got it now so far that it compiles for the one-opt builds;
	  optmization metalogic stuff shall cluster in/around optimize.[hc]
	  .
	  Some interesting numbers I got on -t with different opts, i386
	  outpacing all others...
	  Oh: As a drive-by I removed the -march settings from the cpu_type
	  opts; that prevented my -march=pentium-m from being effective,
	  which interestingly didn't harm the i386 build, but the i486 one
	  by a great deal.

2007-02-07 09:19  thor

	* NEWS: updating for 0.65

2007-02-07 09:13  thor

	* configure.ac: wrap gcc specific flags into $GCC = yes, first
	  attempt to support SGI systems again (untested)

2007-02-07 09:03  thor

	* src/layer3.c: just a comment about the region1>region2 check,
	  hinting at the possibility that it gives false positives at lame
	  3.70 files - or that these files are just broken

2007-01-31 21:37  thor

	* src/common.c: adding a debug message on crc bit change to clarify
	  that the fix for bug 1629697 also fixes 1648271

2007-01-31 20:54  thor

	* configure.ac: Do not use -Wall per default (it's gcc specific and
	  also why nag the users with the warnings?)

2007-01-22 03:09  thor

	* src/id3.c: fixing bug 1641195 (id3v2.3 does not store synchsafe
	  frame sizes) as well as an error with the msb of synchsafe longs
	  (would have impact with tags >2MiB)

2007-01-22 02:38  thor

	* src/id3.c: id3v2.2 is a different beast, do not try to parse that

2007-01-20 21:06  thor

	* src/common.c, src/common.h: seen the real root of the evil of bug
	  1629697: there is an old lame tag from lame 3.70 that has a
	  header without crc bit but that track has crc.
	  Now allowing the crc bit to vary in stream - it's no big deal...
	  This extends the bugfix to no also correctly parsing the lame
	  tag.

2007-01-20 18:42  thor

	* src/common.c, src/getbits.c: fixing 1629697 (awaiting verify from
	  user): the error protection bit was lost during search for first
	  valid header (an initial bad header set it to 0, now for the
	  valid header search the stuff is rerinitialized)

2007-01-15 20:29  thor

	* configure.ac: incrementing the version number in advance to 0.65
	  to not miss it again like for 0.64

2007-01-15 20:22  thor

	* NEWS: preparing for 0.64

2007-01-15 20:10  thor

	* src/httpget.c: fixing a DOS issue with read errors on HTTP (now
	  failing properly instead of endless loop)

2007-01-14 16:33  thor

	* NEWS, README, configure.ac: preparing for 0.63

2007-01-12 15:05  njh

	* src/id3.c, src/readers.c: Fixes for warning: format '%d' expects
	  type 'int', but argument 5 has type 'size_t'

2006-12-30 00:34  thor

	* doc/BUGS: removed this bug entry because it was no bug but just
	  entering an url on the shell... an url containing & ...
	  it's a bit embarassing;-)

2006-12-30 00:25  thor

	* src/Makefile.legacy, src/config.h.legacy, src/httpget.c,
	  src/xfermem.c: cleanup generic code with dummies for xfermem and
	  http

2006-12-24 05:16  thor

	* AUTHORS, NEWS, README, configure.ac, doc/README.remote, mpg123.1:
	  preparing for 0.62

2006-12-24 04:56  thor

	* src/common.c, src/common.h, src/control_generic.c: JUMP generic
	  command now accepts offset/position in seconds (suffix "s" to
	  number)

2006-12-24 04:24  thor

	* doc/BUGS: this backgrounding is strange... only seen it on smgl
	  yet, but then for any pls-capable mpg123.

2006-12-24 02:29  thor

	* src/Makefile.legacy, src/common.c, src/control_generic.c,
	  src/httpget.c, src/readers.c: first working soutcast/ICY meta
	  data support; we need an unsigned byte and it starts with stream
	  data, not meta data
	  Info output is in normal console output and generic control
	  frontend... terminal control mode following

2006-12-22 02:28  thor

	* scripts/debugdef.pl, src/Makefile.am, src/Makefile.legacy,
	  src/debug.h, src/httpget.c, src/icy.c, src/icy.h, src/mpg123.c,
	  src/readers.c, src/stringbuf.c, src/stringbuf.h: Essential part
	  of ICY support. It's in reader and http_open.
	  Missing is only proper output - and, that it actually works:-/
	  There is something fishy in the reader...

2006-12-22 02:26  thor

	* doc/BUGS: one old entry removed, added one about backgrounding
	  when playing internet radio

2006-12-21 23:22  thor

	* src/readers.c: reformatting readers.c before adding the ICY stuff

2006-12-21 23:11  thor

	* src/common.c, src/readers.c: removed the dead READ_MMAP code

2006-12-21 23:06  thor

	* src/readers.c: shake hands with open_stream again, formatting and
	  comments

2006-12-02 14:17  thor

	* AUTHORS, src/common.c, src/common.h, src/control_generic.c,
	  src/id3.c, src/mpg123.c, src/mpg123.h: - added volume setting for
	  frontend
	  - added rva setting for frontend, refined rva settign a bit
	  (fixed a bug with first setting not being made ??)
	  - c90 fixes
	  - rva defines not wrapped in gapless ifdef
	  - updated pasky's deeds

2006-11-30 11:16  thor

	* src/httpget.c, src/playlist.c, src/readers.c: adding acceptance
	  of MIME types application/pls and audio/x-mpeg ... Perhaps this
	  list of aliases for playlists and streams has to grow further...

2006-11-20 09:08  thor

	* src/audio_oss.c: Remove byteswapping code that got accidentally
	  reactivated (OSS output now simply requests native endianess) -
	  thanks for pointing out, DK!

2006-11-02 17:32  thor

	* src/id3.c, src/mpg123.c, src/mpg123.h: merged pasky's ide about
	  adaptive condensed tag display and made it default; added
	  --long-tag option for the previous, space taking, variant (one
	  may prefer it on occasion)

2006-11-02 17:09  thor

	* src/common.c, src/id3.c: de-verbose, moved notes at least one
	  verbosity level up
	  There was too much noise...

2006-11-02 16:40  thor

	* src/id3.c, src/stringbuf.c: adapting and fixing pasky's (Petr
	  Baudi) utf emergency patch (at least interpreting and converting
	  to lating1/ascii where possible), avoids messing up the terminal
	  when encountering unicode

2006-10-31 19:02  njh

	* configure.ac, src/audio_macosx.c: Applied patch from Taihei Monma
	  to using AudioUnit API instead of coreaudio API

2006-10-30 03:15  thor

	* AUTHORS, src/term.c: term patch (restore on sigcont) from petr
	  baudis

2006-10-24 21:56  thor

	* src/audio_nas.c: corrected is error1 with one argument - thanks,
	  DK

2006-10-20 23:10  njh

	* configure.ac: Don't think the space at the start of the file was
	  deliberate

2006-10-20 22:00  thor

	* AUTHORS, NEWS, README, mpg123.1: preparing for 0.61

2006-10-20 11:25  thor

	* configure.ac: reassuring notes about cygwin

2006-10-12 13:48  thor

	* src/mpg123.c: trying to mke the generic code compile again -
	  catch_child should not be used when we do not define it

2006-10-12 13:33  thor

	* src/id3.c: do not use C99 types without _very_ good reason

2006-10-12 13:29  thor

	* src/httpget.c: fake http_open had bad definition

2006-10-12 13:29  thor

	* configure.ac: test with ==, not =

2006-10-11 23:14  njh

	* AUTHORS, configure.ac, src/Makefile.am, src/dct64_altivec.c,
	  src/decode_altivec.c, src/tabinit.c: Added Taihei Monma's AltiVec
	  improvements

2006-10-10 23:45  thor

	* src/dct64_i486.c: applied i486 patch from Petr Salinger
	  <Petr.Salinger@seznam.cz>
	  (sf.net tracker
	  http://sourceforge.net/tracker/index.php?func=detail&aid=1572103&group_id=135704&atid=733194)

2006-10-10 08:41  thor

	* configure.ac: oh, the kfreebsd cpus are the same as for linux,
	  thanks Petr

2006-10-09 22:14  thor

	* configure.ac: configure update for kfreebsd (bsd with gnu
	  userspace) and cygwin (no assembler by default, oss instead of
	  lame-linking esd)

2006-10-09 21:42  thor

	* src/common.c, src/control_generic.c, src/mpg123.h: Slimmed the
	  ugly #ifdef REAL_IS... stuff in scanf based on central format
	  definition in mpg123.h; also added such safe format for a printf
	  (sendmsg).
	  Jens Wilhelm Wulf suggested something like that. I agree.

2006-10-05 16:04  thor

	* mpg123.1: we can do mpeg 2.5!

2006-09-30 16:10  thor

	* src/common.c, src/common.h, src/readers.c: Ok, Struggled a while
	  to nail bug 1556471.
	  We have now (for seekable streams) a basic read ahead for finding
	  the real first frame.
	  The next step would be to make every resync use that, but the
	  most important situation is nasty garbage at beginning of file.
	  I also loosened the HDRCMPMASK to allow changing bitrate - the
	  resync disregards valid VBR frames otherwise.

2006-09-29 23:42  thor

	* src/audio.c, src/audio.h, src/audio_alib.c, src/audio_jack.c,
	  src/audio_macosx.c, src/audio_mint.c, src/audio_nas.c,
	  src/audio_oss.c, src/audio_portaudio.c, src/audio_sdl.c,
	  src/audio_sgi.c, src/common.c, src/control_generic.c,
	  src/decode_ntom.c, src/getlopt.c, src/httpget.c, src/mpg123.c,
	  src/mpg123.h, src/playlist.c, src/readers.c, src/tabinit.c: Big
	  commit, inspired by bug 1555113
	  a) turning any potentially harmful (to terminal) exit()s into
	  return or safe_exit in mpg123.c
	  b) alsong that, convert many fprintf(stderr to the error macro
	  
	  I tried to refrain from more cleanups...

2006-09-27 20:32  thor

	* src/wav.c: replace various exit()s to return instead, use
	  error/waring macros

2006-09-27 19:36  thor

	* configure.ac: according to bug id 1556769, fix solaris detection

2006-09-27 18:13  thor

	* src/common.c, src/common.h, src/control_generic.c, src/mpg123.c,
	  src/term.c, src/term.h: give targeted position in terminal mode
	  then seeking while stopped

2006-09-27 17:15  thor

	* src/control_generic.c, src/layer3.c, src/layer3.h: Extended
	  gapless mode for control_generic to also cover the
	  pause-seek-unpause case where not a gap but a tick from the grave
	  is the problem (because of old frames influencing new ones at
	  different location in stream).
	  I don't claim that it is nice what I did, but it seems to work
	  nicely for me.

2006-09-20 10:24  thor

	* configure.ac: we are working on the next release

2006-09-20 10:22  thor

	* src/term.c: prevent unpleasant effect when stopping, seeking,
	  resuming

2006-09-14 18:57  thor

	* src/layer3.c: applied the CVE-2006-1655 fix at another very
	  similar location

2006-09-04 17:29  thor

	* configure.ac, src/audio_esd.c: make ESD work for otehr systems
	  with dummy queueflush, try to support Cygwin

2006-08-30 13:18  thor

	* doc/ROAD_TO_LGPL: another typo

2006-08-30 02:58  thor

	* src/Makefile.am: some default config.h.legacy should not hurt

2006-08-30 02:57  thor

	* ChangeLog: dummy again

2006-08-30 02:53  thor

	* src/audio_alsa.c: info for bug 1547470

2006-08-29 21:56  thor

	* ChangeLog, NEWS: last NEWS

2006-08-29 21:54  thor

	* INSTALL: small correction for libasound and typo

2006-08-29 21:53  thor

	* src/layer3.c: this sort of / spurious overflow is too common,
	  debug+verbose

2006-08-29 21:52  thor

	* configure.ac: calling it version 0.60

2006-08-29 17:09  thor

	* configure.ac: copy and pase typo, nas is not alsa

2006-08-29 12:04  thor

	* src/id3.c: fix compiler warning about sign differing pointers

2006-08-29 11:57  thor

	* doc/PATENTS: typo

2006-08-27 09:22  thor

	* NEWS: news for 0.60-beta6

2006-08-27 09:14  thor

	* Makefile.am: also distribute the THANKS

2006-08-27 09:14  thor

	* doc/THANKS: as Gabor suggested - let us be thankful

2006-08-27 09:08  thor

	* configure.ac: goign to be last beta - for real now!

2006-08-27 01:50  thor

	* src/Makefile.am, src/Makefile.legacy, src/common.c, src/common.h,
	  src/control_generic.c, src/id3.c, src/id3.h, src/mpg123.c,
	  src/mpg123.h, src/stringbuf.c, src/stringbuf.h: Too big
	  upgrade... It is actually just about better id3 support, namely
	  adding basic parsing and display of id3v2 text info fields.
	  The code for that was outsourced from common.c - that file
	  contained too much "common" code...
	  One change on the side ofthe way is that control_generic now
	  doesn't exit but return properly so that the main routine can
	  cleanup afterwards

2006-08-26 14:53  thor

	* src/Makefile.am, src/playlist.c, src/playlist.h, src/stringbuf.c,
	  src/stringbuf.h: stringbuf on its own to be reused

2006-08-26 13:59  thor

	* src/common.c, src/readers.c: moved id3 printing to read_frame;
	  going to add id3v2 printing support there

2006-08-26 13:45  thor

	* src/common.c: promote some ID3v2 info form debug to very verbose

2006-08-25 12:28  thor

	* src/audio_libao.c, src/mpg123.c, src/playlist.c: struggling to
	  stay C90 compatible... mostly (no %z printf specifier)

2006-08-25 10:36  thor

	* NEWS, configure.ac: steering towards beta5

2006-08-25 10:28  thor

	* configure.ac, doc/TODO, src/Makefile.am: form framework to
	  support fixed point arithmetic; normal playback working with
	  generic_nofpu

2006-08-25 09:28  thor

	* src/mpg123.c, src/playlist.c, src/playlist.h: playlist entry
	  length not statically limited anymore, memory housekeeping

2006-08-25 09:24  thor

	* src/getlopt.c: memory gets lost on strdup according to
	  valgrind...

2006-08-24 21:53  thor

	* src/playlist.c, src/playlist.h: boilerplates for playlist...

2006-08-24 21:52  thor

	* src/Makefile.am, src/Makefile.legacy, src/mpg123.c, src/mpg123.h,
	  src/playlist.c, src/playlist.h: A step to a leaner mpg123.c:
	  outsourced and reorganized the playlist code.
	  Main functionality change is that the whole playlist is read in
	  on program start (rather needed for http playlists since few
	  servers will keep up the connection for the duration of several
	  tracks).

2006-08-24 10:53  thor

	* ChangeLog: dummy ChangeLog so that autogen.sh does not complain
	  anymore

2006-08-24 09:18  thor

	* src/mpg123.c: fixing bug 1544530; do not parse listname when it
	  is NULL

2006-08-24 08:08  thor

	* src/audio_alsa.c: note about needed adjustable alsa buffer

2006-08-24 08:06  thor

	* src/config.h.legacy: sys/types.h could be needed

2006-08-24 08:05  thor

	* src/mpg123.c: give chose audio rate in very verbose mode

2006-08-22 12:20  thor

	* src/common.c: missed a line break in rva message

2006-08-22 09:31  thor

	* COPYING, INSTALL, NEWS, README: more doc update

2006-08-22 09:01  thor

	* NEWS, README: update info for release of beta4

2006-08-22 07:09  thor

	* Makefile.am, src/common.c, src/layer3.c: more silent for normal
	  usage

2006-08-21 23:07  thor

	* doc/LICENSE: please let me my mild humor...

2006-08-21 18:24  thor

	* BENCHMARKING, BUGS, CONTACT, Makefile.am, README,
	  doc/BENCHMARKING, doc/BUGS, doc/CONTACT: more doc tidyness

2006-08-21 17:23  thor

	* misc/equalizer-control.pl, misc/test.pl: naming the equalizer
	  demo script accordingly

2006-08-21 17:22  thor

	* misc, misc/test.pl, test.pl: misc stuff gets a place

2006-08-21 17:20  thor

	* TODO, doc/TODO: Yeah, this one, too.

2006-08-21 17:17  thor

	* ROAD_TO_LGPL, doc/ROAD_TO_LGPL: ...

2006-08-21 17:17  thor

	* PATENTS, doc/PATENTS: ...

2006-08-21 17:15  thor

	* README.WIN32, doc/README.WIN32: not front page 5

2006-08-21 17:14  thor

	* README.thor, doc/README.thor: not front page 4

2006-08-21 17:14  thor

	* README.remote, doc/README.remote: not front page 3

2006-08-21 17:14  thor

	* README.gain, doc/README.gain: not front page 2

2006-08-21 17:14  thor

	* README.3DNOW, doc/README.3DNOW: not front page

2006-08-21 17:13  thor

	* doc: doc dir created

2006-08-21 16:57  thor

	* ROAD_TO_LGPL: the file list is the historic one from 17.7.2006,
	  for changes after that we have our logs

2006-08-21 16:52  thor

	* configure.ac, src/Makefile.am: fixing i486

2006-08-21 16:45  njh

	* CHANGES, LICENSE, Makefile.am, NEWS, README.thor, ROAD_TO_LGPL,
	  configure.ac: mpg123 now uses standard GNU file names.

2006-08-21 16:13  thor

	* configure.ac, src/Makefile.am: trying to get i486/i386 back

2006-08-21 15:52  njh

	* src/Makefile.am: Added decode_i486.c to 486 CPU target

2006-08-21 15:22  thor

	* src/layer3.c: do not annoy every user - overflow warning as debug
	  message

2006-08-21 15:07  thor

	* src/common.c: avoid non-C90 printf stuff, better solution in
	  future

2006-08-21 14:57  thor

	* src/common.c: long long is not safely there... just use long for
	  this debugging output of an off_T

2006-08-21 14:53  thor

	* configure.ac, src/common.c, src/common.h, src/config.h.legacy,
	  src/readers.c, src/term.c, src/term.h: Disabled mmap stuff; vbr
	  seeking having replaced old stream seek
	  There is now a configure option to select frame index table size
	  - if set to 0, you basically disable it any any seek will start
	  from beginning and the read through the frames.

2006-08-21 13:48  thor

	* src/common.c, src/common.h, src/control_generic.c: a working seek
	  for generic control (now also working backwards - whee!), along
	  the way some more cleanup regarding the frame numeber bein in
	  frame struct

2006-08-21 13:40  thor

	* src/mpg123.c: to make it clear: -s gives you host byte order!

2006-08-21 13:36  thor

	* src/term.c: after rewind, we are at frame zero again

2006-08-21 13:20  thor

	* src/mpg123.c: non-vbr seek mode does also count frames in
	  read_frame

2006-08-21 13:18  thor

	* src/mpg123.h, src/readers.c: take long arguments as frame offset

2006-08-21 13:02  thor

	* src/common.c, src/common.h, src/control_generic.c, src/mpg123.c,
	  src/mpg123.h, src/readers.c, src/term.c, src/term.h: big thing...
	  it's the initial addition of some sort of accurate seeking in vbr
	  (and strangely tagged) files.
	  I didn't do it for mmapped mode and I think I'll erase that one
	  soon, anyway (you can use stuff like /dev/shm or just trust your
	  kernel buffers).
	  There are some changes more or less related to seeking that have
	  been necessary.
	  Most code is wrapped in #ifdef VBR seek now...

2006-08-21 12:56  thor

	* src/httpget.c: adding workaround for rautemusik internet radio...
	  their server doesn't like the port in Host request header! (gives
	  endless relocations)

2006-08-21 12:21  thor

	* src/audio_alsa.c: make the close foolproof (instead of fixing the
	  code that calls it without having the device opened before)

2006-08-21 11:58  thor

	* src/audio_alsa.c, src/term.c: Now more proper alsa code from
	  clemens; fixing the remaining buffer mode crashes by making
	  term.c more aware of the fact that if there is a buffer, no one
	  else should mess with the audio device.

2006-08-17 07:46  thor

	* src/common.c, src/readers.c: Ok, changed the check in read_frame
	  back to comparig the new header with first and old header.
	  That is a pragmatic change that gives some false negatives but
	  still allows seeking in this one evil file at all.
	  Blind seeking in vbr files is evil.

2006-08-17 07:38  thor

	* src/common.c, src/common.h, src/readers.c: Started workign on the
	  seeking (and fixed the second-time id3v2 recognition to happen in
	  quiet mode , too, by the way).
	  The seeking is a mess but necessarily so for vbr files that we
	  don't have a frame mapping for (from Xing header - not used atm,
	  though).
	  Now the seeking at least works for this one very vbr file (where
	  no frame is like the first!) where formerly any seekl lead
	  directly to end-of-track.
	  There is a tradeoff: Now we get false positives from time to
	  time.
	  We should treat Xing-tagged vbr files with all the info we have
	  and at least warn about vbr files that lack the seeking info.

2006-08-17 00:06  thor

	* src/common.c, src/common.h, src/control_generic.c: One place to
	  calculate current seconds, frames to go... also introduced
	  mean_framesize to make better estimates on remaining track length
	  for vbr files without xing header (from which the number of
	  frames is known).

2006-08-15 18:22  thor

	* INSTALL: one should say what is needed even if trivial

2006-08-15 17:06  thor

	* src/audio_alsa.c: code and vars!

2006-08-15 15:13  thor

	* src/term.c, src/term.h: give a clue about control via online help

2006-08-15 14:54  thor

	* src/term.c, src/term.h: space bar is very intuitive for the
	  stop(real pause) function

2006-08-15 13:57  thor

	* src/audio_alsa.c: ALSA: you need to prepare after drop; solving
	  the buffer kill / no sound after "b" issue following suggestion
	  from Clemens Ladisch

2006-08-14 22:16  njh

	* src/audio_sdl.c: Previously forgot to free up ringer buffer in
	  audio_close().
	  Changed to using new debugging and error macros.

2006-08-14 22:05  njh

	* src/audio_macosx.c: Got so fed up with trying to get
	  audio_queueflush() working that I changed everything to use SFIFO
	  code instead.

2006-08-14 17:04  njh

	* src/audio_macosx.c: Initialise env to NULL.

2006-08-14 16:41  njh

	* src/audio_macosx.c: Fixed bug #1532711. Can now call
	  audio_close() before audio_open() without crash.

2006-08-13 21:53  thor

	* src/audio_alsa.c: alsa queueflush with snd_pcm_drop is
	  troublesome...

2006-08-13 21:52  thor

	* src/common.c: reading id3v2 frames anytime when encountered

2006-08-13 19:53  thor

	* src/audio_alsa.c: queueflush for alsa needs fixing with buffer;
	  bug id 1536513

2006-08-13 19:51  thor

	* src/mpg123.c: this check is not complete nonsense

2006-08-13 17:07  thor

	* configure.ac: --disable-debug != --enable-debug! Now getting this
	  right...

2006-08-13 16:02  thor

	* AUTHORS: storing the email that worked

2006-08-13 00:43  thor

	* src/common.c: oops, pointer!

2006-08-13 00:41  thor

	* src/common.c: calm down gcc for pointer signs

2006-08-13 00:35  thor

	* CHANGES, Makefile.am, src/Makefile.am: distro stuff...

2006-08-13 00:04  thor

	* src/common.c: just a note

2006-08-12 23:55  thor

	* src/layer3.c: the small xrpnt overflow is a warning and no error

2006-08-12 23:51  thor

	* src/common.c: fiddled a bit with the ID3v2 debugging messsages

2006-08-12 23:20  thor

	* README, mpg123.1: minimal doc change before beta4

2006-08-12 19:15  thor

	* src/layer3.c: this common "error" message is better just for
	  debugging

2006-08-12 19:04  thor

	* src/layer3.c, src/mpg123.c: Printing wanted help to stdout is a
	  good idea, printing the mpg123 hello lines on stdout with the -s
	  switch possibly in work is a bad one.
	  Shame on you...

2006-08-08 01:34  thor

	* TODO: more notes about progress and outstanding progress

2006-08-08 01:31  thor

	* README.gain: update about progress

2006-08-08 01:29  thor

	* BUGS: You are not alone... bugs all around.

2006-08-08 01:23  thor

	* configure.ac: linkflag to libs and not CFLAGS... Clemens got that
	  covered, too.

2006-08-08 01:18  thor

	* src/audio_alsa.c: Clemens Ladisch rightfully erased my dirty hack
	  and made proper Alsa API check for initialized device;-)

2006-08-08 01:15  thor

	* src/common.c, src/config.h.legacy: Too late again... feverishly
	  hacked reading of RVA values from ID3v2 in 3 variants
	  - ID3v2.4 RVA2 frames
	  - RVA_* style comment fields
	  - TXXX fields from foobar2000 (untested)

2006-08-07 08:48  thor

	* src/common.c: Got a good deal of ID3v2 parsing... now wondering
	  why I cannot derive the correct size of the Image in this Mike
	  Zee file.
	  id3v2 -l sees it correctly; I parse the size value - and that
	  simply is wrong?!!
	  After I've settled that the file is just broken and id3v2 does
	  play some trick, I can go back to store RVA values...

2006-08-06 17:48  thor

	* TODO: being more clear there on gain and types

2006-08-06 17:45  thor

	* src/readers.c: We have to stop using ints everywhere for byte
	  counts... future TODO.

2006-08-06 17:20  thor

	* README.gain, src/common.c: going to make id3v2 parsing
	  properly... since not even id3lib can handle 2.4:-(

2006-08-06 17:02  thor

	* README.gain, configure.ac, src/common.c: some clarification
	  adding to the confusion - did I already say that all this tagging
	  is a MESS?

2006-08-06 16:20  thor

	* src/mpg123.h: should we limit samples to 2**16/2 or 2**16/1-1?
	  there will be a one missing in the first case... or is this taken
	  care of elsewhere?

2006-08-06 13:21  thor

	* mpg123.1, src/common.c, src/mpg123.c, src/mpg123.h: initial RVA
	  support using ReplayGain values in Info/Lame tag

2006-08-06 11:02  thor

	* configure.ac, src/common.c, src/httpget.c, src/mpg123.h: some
	  more explicit/corrected system header dependencies along with
	  fallback (for SIZE_MAX, ULONG_MAX), in common.c the maximal frame
	  count for gapless is now actually depending on the system limit

2006-08-06 10:25  thor

	* README.gain: thoughts about RVA gain

2006-08-06 00:50  thor

	* CHANGES, src/mpg123.c: update CHANGES, officially adding MPEG 2.5

2006-08-06 00:45  thor

	* src/common.c, src/layer3.c: some more unified error messages

2006-08-06 00:39  thor

	* src/common.c: 1. re-enable MPEG 2.5 as I could be actually safe
	  to do so
	  2. bail out on free format header if first one (so supposedly not
	  just stream distortion)
	  3. _not_ bail out on decode_header failure ... perhaps this is no
	  good idea?

2006-08-05 22:40  thor

	* src/layer3.c: comment about mhipp bandinfo change... should we
	  change?

2006-08-05 21:38  thor

	* src/layer3.c: small cleanup - #if 0 code, const

2006-08-05 20:46  thor

	* src/layer3.c: say what's wrong on bad sideinfo

2006-08-05 17:06  thor

	* src/layer3.c: Widen the bugfix for the Stravinsky fuzzing ...
	  there are files where xrpnt does exceed that range is supposedly
	  should have (?), pointing to end+4 bytes.
	  Since these play fine now and sounded wrong with the strict
	  check, I hope this is justified.
	  when will I have time to really understand the core decoding
	  routines and their pointers?

2006-08-05 16:48  thor

	* src/common.c: more standard error messages

2006-08-05 14:55  thor

	* scripts/debugdef.pl, src/debug.h: now also warnings and error
	  messages as macro

2006-08-05 14:54  thor

	* src/Makefile.legacy: brute force debug.h depends

2006-08-05 13:10  thor

	* src/common.c: updated debugging lines

2006-08-04 10:00  thor

	* src/mpg123.c: A proposal for smaller head message.

2006-08-04 09:51  thor

	* src/audio_alsa.c: hotfix for my laptop... don't call
	  snd_pcm_drain when we didn't really prepare the device

2006-08-04 08:56  njh

	* AUTHORS, CHANGES: Added Clemens Ladisch as author of ALSA support

2006-08-04 08:04  njh

	* src/audio_alsa.c: new ALSA audio output driver sent to me by
	  Clemens Ladisch

2006-08-04 00:38  njh

	* CHANGES, configure.ac: Removed libao from distribution. Bumbed
	  version number.

2006-08-04 00:38  njh

	* src/dct64_altivec.c: Oops - I broke Altivec - this fixes it again

2006-08-04 00:37  njh

	* src/Makefile.am: Added debug.h to list of source files so that it
	  is distributed

2006-08-02 11:27  njh

	* configure.ac, src/Makefile.am, src/audio_portaudio.c,
	  src/audio_sdl.c, src/sfifo.h: SDL is working nicely now.

2006-08-02 03:27  njh

	* configure.ac, src/Makefile.am, src/audio_portaudio.c,
	  src/dct64_altivec.c, src/sfifo.c, src/sfifo.h: Added PortAudio
	  support - and remove Altivec autodetectoion because it was more
	  trouble than it was worth

2006-08-02 00:04  njh

	* configure.ac, src/dct64_altivec.c: Use Altivec if available
	  automatically

2006-08-01 19:29  njh

	* Makefile.am, configure.ac, src/audio_alsa.c, src/audio_alsa05.c,
	  src/audio_alsa08.c, src/audio_alsa09.c: Nearly implemented ALSA
	  0.9 API support - still got a few problems though.

2006-08-01 16:10  njh

	* src/httpget.c: Variables delared in bad places

2006-08-01 15:59  njh

	* TODO: Added my own TODO list items

2006-08-01 14:58  njh

	* src/Makefile.am, src/Makefile.legacy, src/dct64_MMX.s,
	  src/dct64_mmx.s, src/decode_MMX.s, src/decode_mmx.s,
	  src/tabinit_MMX.s, src/tabinit_mmx.s: made MMX lowercase for
	  concistency with other processor names

2006-08-01 14:28  njh

	* src/audio_alsa.c, src/audio_alsa08.c: Moved old also audio
	  interface code out of the way

2006-07-29 16:31  thor

	* configure.ac: beta3!

2006-07-29 16:31  thor

	* src/mpg123.c: added missing \n in longhelp

2006-07-29 16:29  thor

	* CHANGES, mpg123.1, src/mpg123.c, src/mpg123.h: enhancing the
	  playlist mode with more mime and the listentry parameter

2006-07-29 11:51  thor

	* src/httpget.c, src/mpg123.c, src/mpg123.h, src/readers.c: fixing
	  bug id 1529319... and overreacting a bit about the whole issue:
	  - initialy made steps to HTTP/1.1 (for the host header field
	  because of virtual hosts support) but retreated after realizing
	  that one has to accept chunked data
	  - now still HTTP/1.0 with host header as extension (as before,
	  actually), also again sending only absolute paths as requests (no
	  full url) but still allowing relative redirects
	  - using the content-type header field to prevent playback of
	  wrong codec and to more safely recognice playlist files
	  - one result: for a single we resource one can always use the -@
	  switch: playlists are treated as playlists and if it is an
	  audio/mpeg file, it is reopened as such
	  - added most simple parsing of pls (shoutcast) playlists

2006-07-29 06:02  thor

	* src/mpg123.c: explicitly handle failed http_open

2006-07-29 05:03  thor

	* src/httpget.c: make sure that httpauth1 doesn't leak memory...
	  oaranoid

2006-07-29 04:49  thor

	* src/mpg123.c: 1. noted a memory leak on strdup but not fixed yet
	  2. fruitless debugging of terminal mindbreaking characters from a
	  internet radio playlist. Probably these are actually send by the
	  server.

2006-07-28 13:45  thor

	* src/httpget.c: fixing bug 1529266; the segfault happening on the
	  second http request was due to a global pointer (httpauth1) being
	  free()d but not nulled.

2006-07-24 11:32  thor

	* CHANGES: beta2 update just before real release...

2006-07-24 11:10  thor

	* configure.ac: I won't screw history: this is beta2, even when
	  beta1 didn't see the sunlight.

2006-07-24 11:08  thor

	* src/mpg123.c, src/mpg123.h, src/term.c: Oh, what a bug: The
	  terminal control key "f" for next track relied on the SIGINT
	  hack. Shame on me for not knowing this when diabling this hack
	  for terminal control mode.

2006-07-24 10:32  thor

	* configure.ac: version 0.60-beta1

2006-07-24 10:30  thor

	* README: date of today

2006-07-24 10:29  thor

	* PATENTS: Notes about patents... the date of expiration of the
	  core mp3 patent would make a nice release day for mpg123 0.60;-)

2006-07-24 10:28  thor

	* README: small updates

2006-07-24 09:02  thor

	* ROAD_TO_LGPL: The LGPL reasoning for y'all to read.

2006-07-24 08:57  thor

	* plugin: empty, useless

2006-07-24 08:56  thor

	* README.thor: typo

2006-07-24 08:52  thor

	* Makefile.win32, src/Makefile.win32: moved the Win32 Makefile to
	  src/ ... I'm pretty sure that it won't work as is anymore.
	  Have to grab some windows box and test... eh, and some compiler.
	  Borland?

2006-07-24 08:46  thor

	* CHANGES: corrections and additions

2006-07-24 08:42  thor

	* mpg123.1: added license

2006-07-24 08:33  thor

	* mpg123.1: ... the file AUTHORS ...

2006-07-24 07:49  thor

	* mpg123.1: updated the man page ... my first one without the help
	  of perldoc

2006-07-24 07:38  thor

	* src/mpg123.c: title setting also for rxvt-* and xterm-*; added
	  help about that

2006-07-24 06:57  thor

	* TODO: note about track gain adjustment

2006-07-24 01:05  thor

	* BENCHMARKING.thor, mpg123.1: in BENCHMARKING now

2006-07-24 01:04  thor

	* BENCHMARKING: Updated the benchmarking notes, added
	  BENCHMARKING.thor contents as well as some fresh recheck.

2006-07-24 00:56  thor

	* INSTALL: updated installation instructions

2006-07-24 00:15  thor

	* src/mpg123.c: fixed lecagy build broken by VERSION_STRING; made
	  help output nicer

2006-07-23 22:58  thor

	* src/Makefile.legacy: fixing the install target

2006-07-23 18:56  thor

	* AUTHORS: cleaning up and warning spammers

2006-07-17 22:37  thor

	* mpg123.1, src/mpg123.c: - seen that manpage needs a lot of
	  updating (nearly ten years old!)
	  - made the wanted usage info (-?, --help, --longhelp) go to
	  stdout and only the help-on-error to stderr
	  - added --version to give program version string

2006-07-17 21:04  thor

	* tools: keep the main trunk tight; auxilliary tools in separate
	  location

2006-07-17 21:03  thor

	* precompiled: we have assemblers nowadays, no need to keep the
	  precompiled objects

2006-07-17 19:45  thor

	* BUGS, CHANGES, CONTACT, LICENSE, README, README.cfa, README.new,
	  README.remote, README.thor, src/control_generic.c: Getting
	  documentation closer to release, typo in control_generic help.

2006-07-17 19:25  thor

	* README: to be replaced by new one

2006-07-17 17:33  thor

	* COPYING: Updated COPYING to a near-final state, added agreement
	  hint by Nicholas.

2006-07-17 16:20  thor

	* src/Makefile.am, src/layer1.c, src/layer2.c, src/layer3.c,
	  src/layer3.h, src/mpg123.c, src/mpg123.h, src/readers.c,
	  src/system.c, src/tabinit.c, src/term.c, src/term.h, src/wav.c,
	  src/xfermem.c, src/xfermem.h: Next round of boilerplates along
	  with the story.
	  With the current argument, there is only one GPL-only file left!

2006-07-17 16:16  thor

	* MakeLegacy.sh: We write C, not C++.

2006-07-17 14:59  thor

	* AUTHORS, COPYING, src/audio_esd.c, src/equalizer.c, src/genre.h,
	  src/getbits.c, src/getbits.h, src/getcpuflags.s, src/getlopt.c,
	  src/getlopt.h, src/httpget.c, src/huffman.h, src/l2tables.h:
	  equalizer patch really was jsut a path to equalizer, new author
	  for linux-ppc-nas make target

2006-07-17 14:57  thor

	* src/Makefile.legacy: added PPC/NAS target from
	  <mpdavig@users.sourceforge.net>

2006-07-17 13:54  thor

	* src/dct64_MMX.s, src/decode_MMX.s, src/tabinit_MMX.s: the MMX
	  stuff came into Michaels hands without comment -> LGPL by author
	  rule

2006-07-17 13:53  thor

	* AUTHORS: credit for Mikko and his DCT9

2006-07-17 03:22  thor

	* AUTHORS, COPYING, scripts/debugdef.pl, src/Makefile.legacy,
	  src/audio.c, src/audio.h, src/audio_aix.c, src/audio_alib.c,
	  src/audio_dummy.c, src/audio_esd.c, src/audio_hp.c,
	  src/audio_jack.c, src/audio_libao.c, src/audio_macosx.c,
	  src/audio_mint.c, src/audio_nas.c, src/audio_os2.c,
	  src/audio_oss.c, src/audio_sgi.c, src/audio_sun.c,
	  src/audio_win32.c, src/buffer.c, src/buffer.h, src/common.c,
	  src/common.h, src/control_generic.c, src/dct36_3dnow.s,
	  src/dct64.c, src/dct64_3dnow.s, src/dct64_MMX.s,
	  src/dct64_altivec.c, src/dct64_i386.c, src/dct64_i486.c,
	  src/debug.h, src/decode.c, src/decode_2to1.c, src/decode_3dnow.s,
	  src/decode_4to1.c, src/decode_MMX.s, src/decode_i386.c,
	  src/decode_i486.c, src/decode_i586.s, src/decode_ntom.c,
	  src/equalizer_3dnow.s, src/tabinit_MMX.s: First part of
	  boilerplating and sorting all out. Looks kinda nice now, still
	  would like to get the higway mmx stuff clear... maybe Michael
	  remembers something there.

2006-07-17 02:15  thor

	* AUTHORS: little update for MMX, unnecessary verbosity about what
	  maintaing implies

2006-07-17 01:30  thor

	* src/audio_jack.c: boilerplate and // -> /* */ as mpg123 is
	  (still) an old-compiler friendly project

2006-07-17 01:02  thor

	* src/common.c, src/control_generic.c, src/httpget.c, src/layer3.c:
	  Oh, I should compile more often with strict settings: pedantic
	  gcc complained about some C89 violations I introduced.
	  Fixed that.

2006-07-17 01:01  thor

	* configure.ac, src/audio_alsa.c, src/audio_alsa09.c: Old alsa
	  output doesn't work with any sane setup using alsa today
	  (meaning: not using the 0.5 api).
	  New doesn't work because unfinished yet.
	  Alsa output actually is available through libao.
	  
	  So, deactivated alsa stuff in configure for now...

2006-07-17 00:06  thor

	* Makefile.am, autogen.sh, configure.ac: more boilerplates

2006-07-16 23:56  thor

	* MakeLegacy.sh: boiler

2006-07-16 23:54  thor

	* scripts/debugdef.pl: public domain should be gpl compatible...

2006-07-16 23:46  thor

	* mpglib: mpglib will be something of its own, taken care of
	  later...

2006-07-16 23:39  thor

	* Makefile.win32, test.pl: niceness by a line

2006-07-16 23:38  thor

	* test.pl: boilerplate, style cleanup (could use more use, though)

2006-07-16 23:37  thor

	* Makefile.win32: boilerplate

2006-07-16 23:24  thor

	* src/audio_oss.c: just a paranoid note

2006-07-10 02:23  thor

	* src/audio_libao.c: Polished the libao output a bit while testing
	  it on my linux laptop:
	  - parsing -a driver:file for file devices (well, this could be
	  extended to a general scheme to choose between different driver
	  subsystems via -a system:file or system:device:file ...)
	  - corrected the error handling: -1 is expected on error by
	  mpg123.c
	  - giving help message with list of available drivers when invalid
	  one is specified
	  
	  I verified with one testfile that -a wav:file does the same as -w
	  file. I think that this is good;-)
	  Also, I'd like to mention that it's nice to measure audio
	  subsystem overhead with comparing -t and -a null.
	  With the libao in place, I'm wondering if we still want our own
	  alsa output... let's see...

2006-07-09 17:37  thor

	* src/layer3.c: next segfault by fuzzing... fixed this special test
	  case but one needs full understanding of layer3.c to really get
	  it

2006-07-06 14:00  thor

	* src/common.c, src/layer3.c: Fixed the mpeg2.5 verdict in common.c
	  (we have to check support for this); made parts of layer3.c more
	  robust based on an evil mp3 (see the buglog file).
	  Most important featur of this robustness could be that mpg123
	  doesn't simply exit() in wrong sideinfo anymore but tries to
	  continue.

2006-07-05 20:45  thor

	* TODO, src/httpget.c: Revised my bugfix for the last GLSA issue
	  after suggestion by Daniel Kobras (allow longer redirection urls
	  than request url), spent some time hacking further ... and:
	  - fixed unnoticed memory leak in redirection (malloc without free
	  for assigned pointer)
	  - now accepting non-absolute redirects; request now is always of
	  the form
	  GET http://host/path HTTP/1.0
	  (non-absolute relocations are related to this request)
	  That also works flawlessly with my virtual domain setup on my
	  server used in the test.
	  - decided that this whole file is evil; we need to rewrite that
	  properly

2006-07-04 12:41  thor

	* src/httpget.c: Reacted to gentoo bug 133988 / GLSA 200607-01 and
	  fixed it properly, storing and using the allocated length of purl
	  as well as ensuring string termination.

2006-07-04 01:43  thor

	* src/common.c, src/layer3.c, src/layer3.h, src/mpg123.c: Again
	  reworked the gapless stuff... should be more efficient now and
	  also more aggressive by just skipping decoder delay even if no
	  info found and also adding decoder delay to end (hm, where does
	  this really make sense without padding removal?).
	  It should be more efficient now; a comparison between linux-x86
	  binary (pentium) with and without gapless code shows perhaps
	  around 0.2% speed penalty through added code - which already
	  melts when gapless mode is actually active.
	  
	  Generally on speed: comparison with 0.59r (linux build,
	  non-marched cflags (pentium2)) shows around 2% slower decoding
	  for svn trunk; but this is greatly compensated by using one of
	  the new assembler optimizations.
	  Still, I see much code that can be improved also for efficiency
	  alone by clearing the situation with some (shared) variables that
	  don't need to be passed around all the time...

2006-07-04 01:25  thor

	* src/Makefile.legacy: these -g were leftovers

2006-07-03 12:55  thor

	* src/Makefile.legacy, src/common.c, src/common.h,
	  src/control_generic.c, src/layer3.c, src/layer3.h, src/mpg123.c,
	  src/mpg123.h: Main message:
	  The gapless mode has been enhanced to work more low-level (in
	  layer3.c) and also to use the Xing-given frame count to get the
	  end straight.
	  It should work (tested, but not in every detail) both with the -k
	  option and terminal controlled seeking as well as control_generic
	  JUMPs.
	  The current implementation adds some load that could be reduced
	  by putting the gapless checker code into behind flush check
	  instead of before but that needs additional care for track end
	  (where audio_flush is called externally).
	  Apart from that and some needed de-uglification it should be a
	  nicely working feature.
	  Minor messages:
	  frameNum is unsigned long (so bigger that int and never < 0!);
	  some parts of mpg123.c and common.c did not honor these truths.
	  But I don't claim that I catched all occurences of such problems
	  - see BUGS.
	  Also, I fixed stuff in print_stat with weird frame number
	  estimations. Looks _much_ better now esp. when the frame count is
	  known from Xing tag.

2006-07-03 12:16  njh

	* AUTHORS: Added Romain Dolbeau to AUTHORS file for his Altivec
	  work

2006-07-03 12:12  njh

	* configure.ac, src/Makefile.am, src/dct64_altivec.c: Imported
	  altivec support from mplayer (and it works!)
	  Still need to do CPU detection.

2006-07-03 12:11  thor

	* TODO: more and less of this

2006-06-27 00:54  thor

	* src/config.h.legacy: Did we start using C++ style comments?

2006-06-27 00:51  thor

	* src/common.c: a note on gapless hack updated

2006-06-26 22:57  thor

	* README.new: added note about more natural Ctrl+C

2006-06-26 22:43  thor

	* src/Makefile.legacy: some more flags by default

2006-06-26 22:40  thor

	* src/Makefile.legacy: ' seems to be dangerous together with
	  line-continuing \ ... made more "

2006-06-26 22:22  thor

	* configure.ac: generic linux support (?)

2006-06-26 22:04  thor

	* src/mpg123.c: Following DK's suggestion in a comment, I disabled
	  the Ctrl+C (SIGINT) hack when a control mode is active.
	  You can still do Ctrl+C to skip a song and twice to end playback
	  if you do not use the terminal or remote control mode.
	  With active control mode, a Ctrl+C now kills as expected
	  (formerly, it was just ignored).

2006-06-26 21:36  thor

	* src/getlopt.c, src/mpg123.c: There were several option parsing
	  regressions most probably caused by application of Nicholas'
	  changes to my code with changed command line parsing.
	  Fixed the obvious ones and made the option parser bail out if it
	  encouters such an error again.

2006-06-26 21:34  thor

	* MakeLegacy.sh, src/config.h.legacy: More legacy make system
	  working again with more crafted config.h.

2006-06-26 13:17  thor

	* AUTHORS, README.new: history in README.new, maintainers in
	  AUTHORS

2006-06-26 12:24  thor

	* src/audio.c, src/audio_aix.c, src/audio_alib.c, src/audio_alsa.c,
	  src/audio_dummy.c, src/audio_esd.c, src/audio_hp.c,
	  src/audio_jack.c, src/audio_libao.c, src/audio_macosx.c,
	  src/audio_mint.c, src/audio_nas.c, src/audio_os2.c,
	  src/audio_sgi.c, src/audio_win32.c, src/buffer.c, src/common.c,
	  src/control_generic.c, src/dct64.c, src/dct64_i386.c,
	  src/dct64_i486.c, src/decode.c, src/decode_2to1.c,
	  src/decode_4to1.c, src/decode_i386.c, src/decode_i486.c,
	  src/decode_ntom.c, src/equalizer.c, src/getbits.c, src/httpget.c,
	  src/layer1.c, src/layer2.c, src/layer3.c, src/readers.c,
	  src/system.c, src/tabinit.c, src/wav.c, src/xfermem.c: Added
	  inclusion config.h everywhere to make sure we don't stumble over
	  some missing define later and search like crazy...

2006-06-26 12:22  thor

	* src/mpg123.c: Sorry, but these pointlessly broken lines were
	  _ugly_.

2006-06-26 12:11  thor

	* src/getlopt.c, src/term.c: These got some new-style debugging
	  through the terminal control bug hunt.
	  Also, I want to take the chance to hint at scripts/debugdef.pl
	  that I added previously:
	  It is a Perl script generating the debug.h header in a way to
	  avoid variadic macros for fprintf.
	  Result are debugN macros that mean "debug line with N arguments".
	  Examples:
	  
	  debug1("Ok, there's one value: %i", var)
	  debug3("now three of them: %i %f %i", var1, var2, var3)
	  
	  simplest case:
	  
	  debug("just a message");

2006-06-26 12:06  thor

	* scripts, scripts/debugdef.pl, src/debug.h, src/mpg123.c: Hah!
	  Found the place where terminal control got killed!
	  The option definition in mpg123.c lacked the type specifier (a
	  regression caused by merging).
	  
	  To find that, I added debug.h for more convenient debugs.

2006-06-26 01:05  thor

	* README.new: small update on urls, frontend control

2006-06-26 01:04  thor

	* MakeLegacy.sh, configure.ac, src/Makefile.am, src/audio_oss.c: -
	  making audio_oss work again (didn't include config.h); added
	  needed bits for fake config.h.
	  - adding i586_dither as cpu variant: i586 assembler with
	  dithering / noise shaping

2006-06-25 23:52  thor

	* src/Makefile.legacy, src/control_tk3play.c,
	  src/control_tk3play.h, src/mpg123.c, src/mpg123.h: Removing
	  obsolete control interfaces (no one uses them since a loong
	  time).

2006-06-22 21:19  njh

	* configure.ac, src/Makefile.am, src/audio.h, src/audio_macosx.c,
	  src/audio_sun.c, src/buffer.h, src/common.c, src/common.h,
	  src/control_tk3play.h, src/genre.h, src/getbits.h, src/getlopt.h,
	  src/huffman.h, src/l2tables.h, src/layer3.c, src/mpg123.h,
	  src/term.h, src/xfermem.h: Now compiles on Solaris. Tested on:
	  SunOS ironwood.sucs.soton.ac.uk 5.8 Generic_117350-31 sun4u sparc
	  SUNW,Sun-Fire-880

2006-06-22 20:25  njh

	* src/Makefile.am: added Makefile.legacy to the distribution

2006-06-22 20:12  njh

	* configure.ac, src/audio_oss.c: Closer to Linux working

2006-06-22 19:18  njh

	* src/Makefile.am: decode_x86.s -> decode_i586.s

2006-06-22 19:10  njh

	* configure.ac: Added --with-optimization configure option. Display
	  CFLAGS in debug mode.

2006-06-22 19:09  njh

	* Makefile.am: Include MakeLegacy.sh in distribution

2006-06-22 17:18  njh

	* MakeLegacy.sh: Make sure that configure.ac exists before runing
	  sed over it

2006-06-22 17:15  njh

	* MakeLegacy.sh: I won my fight with sed! yay!

2006-06-22 12:06  thor

	* README.sajber, debian, jukebox, src/control_sajber.c: Removed
	  debian dir and outdated Sajber jukebox files.
	  Have to check state of the tk3play interface and modify
	  Makefile.legacy (still all targets there).

2006-06-22 09:21  thor

	* src/Makefile.legacy: version.h does not exist anymore, remove it
	  from Makefile.legacy

2006-06-22 04:55  njh

	* configure.ac, src/Makefile.am: Added support for MMX processors
	  to configure system

2006-06-22 04:07  njh

	* MakeLegacy.sh, configure.ac, src/Makefile.legacy, src/audio.c,
	  src/audio.h, src/audio_aix.c, src/audio_alib.c, src/audio_alsa.c,
	  src/audio_dummy.c, src/audio_esd.c, src/audio_hp.c,
	  src/audio_libao.c, src/audio_macosx.c, src/audio_mint.c,
	  src/audio_nas.c, src/audio_os2.c, src/audio_oss.c,
	  src/audio_sgi.c, src/audio_sun.c, src/audio_win32.c, src/dct64.c,
	  src/getlopt.h, src/httpget.c, src/mpg123.c, src/system.c,
	  src/term.c, src/term.h, src/xfermem.c: Now up-to-date with the
	  progress I made in my own SVN repository.
	  Lots of changes to the audio output interface - it is now a lot
	  cleaner.

2006-06-21 21:04  njh

	* configure.ac, src/Makefile.legacy, src/audio_nas.c,
	  src/httpget.c, src/mpg123.c, src/mpg123.h, src/version.h: Package
	  version is now taken from configure.ac

2006-06-21 21:02  njh

	* AUTHORS, CREDITS: Offical filename for list of people is AUTHORS
	  (so says GNU policy)

2006-06-21 15:16  njh

	* configure.ac: configure source file

2006-06-21 04:49  njh

	* src/Makefile.legacy: Bah, hopefully this works better.

2006-06-21 04:25  njh

	* src/Makefile.legacy: use the $MAKE variable

2006-06-21 03:57  njh

	* Makefile.am, autogen.sh, src/Makefile.am, src/Makefile.legacy,
	  src/audio.c, src/audio_jack.c, src/audio_libao.c,
	  src/audio_macosx.c, src/mpg123.c, src/mpg123.h, src/term.c,
	  src/term.h: Applied some of my changes to mpg123 - new build
	  system works on OS X

2006-06-21 03:26  njh

	* src/Makefile.legacy: Fixed legacy build system

2006-06-21 03:20  njh

	* MakeLegacy.sh, src/Makefile, src/Makefile.legacy: Renamed old
	  Makefile Makefile.legacy

2006-06-21 03:19  njh

	* MakeLegacy.sh, Makefile, audio.c, audio.h, audio_aix.c,
	  audio_alib.c, audio_alsa.c, audio_dummy.c, audio_esd.c,
	  audio_hp.c, audio_mint.c, audio_nas.c, audio_os2.c, audio_oss.c,
	  audio_sgi.c, audio_sun.c, audio_win32.c, buffer.c, buffer.h,
	  build, common.c, common.h, control_generic.c, control_sajber.c,
	  control_tk3play.c, control_tk3play.h, dct36_3dnow.s, dct64.c,
	  dct64_3dnow.s, dct64_MMX.s, dct64_i386.c, dct64_i486.c, decode.c,
	  decode_2to1.c, decode_3dnow.s, decode_4to1.c, decode_MMX.s,
	  decode_i386.c, decode_i486.c, decode_i586.s,
	  decode_i586_dither.s, decode_ntom.c, equalizer.c,
	  equalizer_3dnow.s, genre.h, getbits.c, getbits.h, getcpuflags.s,
	  getlopt.c, getlopt.h, httpget.c, huffman.h, l2tables.h, layer1.c,
	  layer2.c, layer3.c, mpg123.c, mpg123.h, readers.c, src,
	  src/Makefile, src/audio.c, src/audio.h, src/audio_aix.c,
	  src/audio_alib.c, src/audio_alsa.c, src/audio_dummy.c,
	  src/audio_esd.c, src/audio_hp.c, src/audio_mint.c,
	  src/audio_nas.c, src/audio_os2.c, src/audio_oss.c,
	  src/audio_sgi.c, src/audio_sun.c, src/audio_win32.c,
	  src/buffer.c, src/buffer.h, src/common.c, src/common.h,
	  src/control_generic.c, src/control_sajber.c,
	  src/control_tk3play.c, src/control_tk3play.h, src/dct36_3dnow.s,
	  src/dct64.c, src/dct64_3dnow.s, src/dct64_MMX.s,
	  src/dct64_i386.c, src/dct64_i486.c, src/decode.c,
	  src/decode_2to1.c, src/decode_3dnow.s, src/decode_4to1.c,
	  src/decode_MMX.s, src/decode_i386.c, src/decode_i486.c,
	  src/decode_i586.s, src/decode_i586_dither.s, src/decode_ntom.c,
	  src/equalizer.c, src/equalizer_3dnow.s, src/genre.h,
	  src/getbits.c, src/getbits.h, src/getcpuflags.s, src/getlopt.c,
	  src/getlopt.h, src/httpget.c, src/huffman.h, src/l2tables.h,
	  src/layer1.c, src/layer2.c, src/layer3.c, src/mpg123.c,
	  src/mpg123.h, src/readers.c, src/system.c, src/tabinit.c,
	  src/tabinit_MMX.s, src/term.c, src/term.h, src/version.h,
	  src/wav.c, src/xfermem.c, src/xfermem.h, system.c, tabinit.c,
	  tabinit_MMX.s, term.c, term.h, version.h, wav.c, xfermem.c,
	  xfermem.h: Tidying up a bit: moved all source code into 'src'
	  directory.
	  Moving aside old build system and calling it 'legacy'.
	  Can build legacy system using ./MakeLegacy.sh <foo>

2006-06-18 14:05  thor

	* common.c, common.h, control_generic.c: added loadpaused action to
	  control_generic (again?), removed some redundant functions...
	  placed stream info generation into common.c (now adding the last
	  flag for vbr)
	  control_generic now also has a help command that gives a summary
	  of commands and info on the cryptic stream info

2006-06-18 10:49  thor

	* COPYING: license WIP!

2006-06-17 21:45  thor

	* common.c, mpg123.c: I just had to do it... gapless mode now also
	  takes resampling into account.
	  Some cosmetics - it needs user testing now. And still the real
	  solution for detecting the end, while the current one should work
	  in 95% of the cases.

2006-06-17 19:46  thor

	* common.c, common.h, mpg123.c: Ironed the gapless support; now
	  works for mono, stereo, 8bit, 16bit - explicit resampling support
	  still missing.

2006-06-17 14:31  thor

	* version.h: it's not 0.59r-thor anymore...

2006-06-17 14:31  thor

	* Makefile, common.c, mpg123.c: OK, I enclosed the actual working
	  (tiny time consuming - well, some ifs for every audio buffer
	  flush... every 16K raw data...) of gapless code in #ifdefs for
	  GAPLESS; being enabled in target linux-x86-gapless (you can turn
	  it on via -DGAPLESS in you CFLAGS, anyway).
	  It now actually works for several tracks following each other -
	  but still, it's fixed to work on stereo 16 bit layer3 files; mono
	  will be added easily.

2006-06-17 13:15  thor

	* common.c: added note about bmp album art (gosh, what a mess...)

2006-06-17 12:51  thor

	* common.c: added GAPLESS macro to enable disabling of hack in
	  audio_flush (homeopathic performance gain... not really;-)

2006-06-17 12:38  thor

	* mpg123.c: lingua2

2006-06-17 12:37  thor

	* mpg123.c: lingua

2006-06-16 22:51  thor

	* common.c, mpg123.c: restricted gapless hack to layer 3, added
	  --help info on the gapless switch
	  still need proper track begin/end and mono/stereo (even 8bit?)
	  handling

2006-06-16 14:51  thor

	* README.new: this will become the new README eventually... still
	  in the works

2006-06-16 03:35  thor

	* common.c, common.h, mpg123.c, mpg123.h: Added a first hack to
	  make gapless output (skipping delays and padding), activated via
	  --gapless.
	  This only works for single layer3 files with Lame tag and without
	  resampling and only for stereo now.
	  It's the technical proof-of-concept.

2006-06-14 10:46  thor

	* common.c, mpg123.c, mpg123.h: Now being able to detect and skip
	  (even interpret) the Xing/Lame tag that caused one frame of
	  silence at the beginning.
	  Still want to implement skip of padding/delay samples based on
	  info in there.

2006-06-12 18:02  thor

	* Makefile, decode_i586_dither.s: Added the dithered pentium decode
	  from "ACS" <adrian.bacon@xs4all.nl> / http://dither123.dyndns.org
	  (GPL, currently - have to contact him again).
	  Modified the Makefile for that -- make PENTIUM_DECODE=decode_i586
	  ... or make PENTIUM_DECODE=decode_i586_dither ... -- along with
	  some other cleanups and hints for targets.

2006-06-12 03:18  thor

	* Makefile, dct64_MMX.s, decode_MMX.s, decode_i386.c, layer2.c,
	  layer3.c, mpg123.h, tabinit.c, tabinit_MMX.s: Attempt to backport
	  the MMX stuff.
	  It seems to work - and it's faster;-) (testfile: 10s against 13s)

2006-06-12 02:01  thor

	* Makefile: trying to put env CFLAGS in place everywhere, removing
	  -D flags from generic target since they don't compile... so many
	  targets...

2006-06-12 00:21  thor

	* common.c: Finally got around to fix playback of that dreaded file
	  with a BMP (not "unsynched") in ID3V2 tag. Partial backport from
	  mhipp's trunk; now just ignoring the number of bytes indicated by
	  id3v2 frame header.

2006-06-04 20:26  thor

	* mpg123.c: The equalizer control patch just duplicated code that
	  got executed twice when usning an equalfile.
	  Fixed that.

2006-05-14 11:30  thor

	* CHANGES, Makefile, decode_i386.c, httpget.c, layer3.c, mpg123.c,
	  mpg123.h, version.h: - applied relevant stuff from Debian's 22:
	  - fix for CVE-2006-1655 (buffer overflow in III_i_stereo())
	  - strict aliasing hack in WRITE_SAMPLE of decode_i386.c
	  - fixed http streaming through proxy by actually using the
	  request url...
	  - buffer resync on Ctrl-C (cleaning, reducing pauses with
	  multiple files)
	  - removed unused esdserver variable from mpg123.h
	  - did NOT apply the Debian Makefile/manpage changes (going to
	  rewrite that stuff anyway)
	  - made the netbsd-i386 targets visible as netbsd-x86

2006-05-11 15:26  thor

	* version.h: forgot that

2006-05-11 12:56  thor

	* lgpl: it's separate discussion...

2006-05-11 12:54  thor

	* CHANGES, Makefile, mpg123.c: netbsd targets with and without
	  realtime stuff (that seems to need -lpthread...)

2006-04-28 10:33  thor

	* lgpl/KIMURA_Takuhiro.key, lgpl/fromme.email, lgpl/notes.txt,
	  lgpl/x.email: I try and I try... found some addresses from
	  internet search; mailed...
	  ...already got some failures but also 2 responses (I'll add that
	  no notes.txt later)

2006-04-24 11:26  thor

	* lgpl/inventory.txt, lgpl/notes.txt, lgpl/notex.txt: more
	  investigation for license

2006-04-08 08:02  thor

	* NOTES.LGPL, lgpl/notex.txt: better there

2006-04-08 08:01  thor

	* CREDITS, NOTES.LGPL, lgpl, lgpl/first.email, lgpl/no.list,
	  lgpl/ok.list: Further research into (non)licensed code and
	  comnmunication.

2006-03-10 12:37  thor

	* CREDITS: some failed addresses

2006-03-10 03:22  thor

	* CREDITS: An attempt to gather a comprehensive list of people who
	  contributed to mpg123. So far not _all_ eMail addresses failed;-)

2006-02-22 08:28  thor

	* JUKEBOX, README.sajber: Following a suggestion from Nick, we
	  avoid having both jukebox/ and JUKEBOX.
	  It's a question if this sajber jukebox interface will keep
	  working anyway...

2005-12-24 00:41  thor

	* BENCHMARKING.thor: just added my benchmark; nice to have some
	  numbers there...

2005-12-24 00:18  thor

	* CHANGES, README, README.thor: now also final thor5 doc-wise

2005-12-24 00:07  thor

	* mpg123.c: really thor5 now (code): a trivial 0 instead of NULL

2005-12-24 00:03  thor

	* debian/changelog, httpget.c: Debian r20 httpget fix

2005-12-23 20:26  thor

	* BUGS, CHANGES, Makefile, README, README.thor, control_generic.c,
	  decode.c, decode_2to1.c, decode_4to1.c, decode_i386.c,
	  decode_ntom.c, equalizer.c, getlopt.c, getlopt.h, mpg123.c,
	  mpg123.h, readers.c, version.h: Going towards version 5
	  
	  Preliminary result from sessions on my (well, the university's)
	  Compaq XP1000.
	  
	  - introduced an extra flag to prevent equalfile from being used
	  as a bool all the time (confuses compilers and is just not nice)
	  - cared for real being whatever (float, double, ...) in sscanf
	  stuff of control_generic (mainly in my added SEQ)
	  - fixed the Alpha show-stopper: mixing up of int and long
	  pointers in getlopt

2005-02-24 20:09  thor

	* control_generic.c: final final -thor4: just a misunderstanding:
	  break means end and that makes sense.

2005-02-24 19:33  thor

	* Makefile: final -thor4: changed my modified target to
	  "linux-static"

2005-02-24 19:17  thor

	* README.3DNOW, README.thor, dct36_3dnow.s, debian, debian/README,
	  debian/changelog, debian/control, debian/control.alsa,
	  debian/copyright, debian/mime, debian/postinst, debian/postrm,
	  debian/prerm, debian/rules, equalizer_3dnow.s, getcpuflags.s:
	  thor4: second stage.

2005-02-24 19:12  thor

	* CHANGES, Makefile, audio.c, audio_esd.c, audio_oss.c,
	  audio_sun.c, buffer.c, common.c, common.h, control_generic.c,
	  control_sajber.c, control_tk3play.c, dct64.c, dct64_3dnow.s,
	  dct64_i486.c, decode.c, decode_3dnow.s, decode_i386.c,
	  equalizer.c, httpget.c, layer1.c, layer2.c, layer3.c, mpg123.1,
	  mpg123.c, mpg123.h, readers.c, tabinit.c, term.c, test.pl,
	  version.h, xfermem.c: thor4: merge the Debian 0.59r-19 in for
	  serious bug fixing, a bit of docu

2005-02-24 16:40  thor

	* CHANGES, control_generic.c, httpget.c, mpg123.h, readers.c,
	  version.h: thor-3: again command parsing reworked; non-exit()ing
	  open functions added:

2004-10-09 20:36  thor

	* control_generic.c: Removed load-paused function that wasn't
	  really working anyway.

2004-10-08 16:12  thor

	* control_generic.c: added version info in control_generic startup
	  message

2004-09-21 04:02  thor

	* version.h: version info updated

2004-09-21 03:58  thor

	* CHANGES, control_generic.c, mpglib: more info in general and more
	  useful info on JUMP

2006-02-20 05:37  thor

	* CHANGES, Makefile, README.cfa, control_generic.c, decode_i586.s,
	  mpg123.c, mpg123.h, test.pl, version.h: Just going to put
	  mpg123-thor in here for a start; bridge to my CVS for that one.
	  
	  0.59r-ThOr(remote-err,eq,flushing)
	  - added audio_flush() calls to various places in
	  control_generic.c to make sure there is nothing left in there
	  that hurts later
	  
	  0.59r-realeq-remoteerr:
	  
	  - applied patch from Cool Feet Audio project (nutcase@dtfm.org,
	  see README.cfa) to use real-time equalizer in remote mode
	  - 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
	  The patches go not cleanly together, but rejects are trivial.
	  Thus, a combined patch with both would makes sense.
	  - 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
	  - added SEQ command: simple eq with only 3 bands
	  - 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)
	  - added SLJ command: SILENCE-LOAD-JUMP... a hack for my hacked
	  mixplayd... maybe one should remove that again.

2006-02-20 05:11  thor

	* .: Going to start with version 0.59r as the new trunk... this
	  version is the one underlying the vast majority of current
	  patches (including mine;-). We'll see what good stuff there is to
	  port over from the 0.59s series.

2006-02-20 03:49  thor

	* version 0.59r as tag

2006-02-20 03:49  thor

	* version 0.59r by Michael Hipp:
	  
	  - applied audio_alib changes from Ralf Hildebrandt
	  <R.Hildebrandt@TU-BS.DE>
	  - some 'paetsches' from DK
	  - minor optimizations in layer3 (dequantize/huffman)
	  - BSDOS 4.0 with gcc added to Makefile (<sms@moe.2bsd.com>)
	  - Solaris-ESD patch from Ryan Prosser <prosser@wam.umd.edu>
	  - Added Frontend changes from Bertrand Petit
	  <elrond@phoe.netdev.net>
	  - more DK 'paetsches' (final dk7-clubhaus edition), includes
	  extended term
	  control
	  - SGI audio fix for non RAD machines from Erik Mouw
	  <J.A.K.Mouw@its.tudelft.nl>
	  - fixed ugly bug in layer3 dequant for bt==2 (may cause high
	  frequency clitchs)
	  - AMD-3DNow optimizations in decode and dct64
	  - OS/2 reworked from Samuel Audet (see audio_os2.c for more)
	  - added freebsd-esd make-entry from Daniel O'Connor
	  (darius@guppy.dons.net.au)
	  - added enhanced head_check from D. Skarda
	  <0rfelyus@atrey.karlin.mff.cuni.cz>
	  - applied 'xterm-title-patch' from "Wilson, Jeff D"
	  <jeff.wilson@wilcom.com>
	  - more esd changes from Robert Bihlmeyer <robbe@orcus.priv.at>
	  - applied Hannu Napari's <Hannu.Napari@hut.fi> SGI audio patches
	  - minor changes in httpget.c and mpg123.c
	  - added native AIX support from
	  Juergen.Schoew@unix-ag.uni-siegen.de
	  - applied playlist patch from <psst@euskalnet.net>
	  - more SGI audio patches from Gilles Zunino
	  <Gilles.Zunino@hei.fupl.asso.fr>
	  - applied esdserver patch from Matthew Parslow
	  <roy@alpha.alphalink.com.au>
	  - added some fixes for control_generic

2006-02-20 03:42  thor

	* version 0.59q by Michael Hipp:
	  
	  - ESD fixes
	  - minor bugfixes (DK patch ;)
	  - au and cdr 'support' (it's a hack)
	  - Fixed 'VBR' Bug in get_scale_fac1(). Thanx to
	  <ssonique@hotmail.com> for
	  this. (Wasn't really a VBR Bug. The new encoders just triggered
	  it.)
	  - Added equalizer patch from <dlux@dlux.sch.bme.hu>

2006-02-20 03:41  thor

	* version 0.59p by Michael Hipp:
	  
	  - Added mpglib (see mpglib directory)
	  - 'make generic' is more generic now
	  - Added HPUX/ALib support from Ducroquet Erwan
	  (ducroque@ufr-info-p7.ibp.fr)
	  - Added EsoundD support from <fill it in>
	  - Added exp. relatime support (compile with -DSET_RT)
	  - Added linux-sparc patch from <hmm lost email)
	  - Added genrepatch from Shane Wegner <shane@CM.NU>
	  - Added wav-File patch Samuel Audet <guardia@cam.org>
	  - Added SGI-RAD support from "J. Dean Brederson"
	  <jdb@cs.utah.edu>
	  - Added sajberplay/FreeBSD patch from Chou Ye-chi
	  <is84002@cis.nctu.edu.tw>
	  - Added 486 optimizations from Fabrice Bellard
	  <bellard@email.enst.fr>
	  - Added combined output devices on SUN (ie Speaker and headphones
	  together)
	  - Added audio_alsa.c (under GPL license) for the ALSA sound
	  system from
	  A. Hermansen <ahermans@vf.telia.no> and J. Kysela <perex@jcu.cz>
	  -Added K6-3DNow patches from KIMURA Takuhiro
	  <kim@hannah.ipc.miyakyo-u.ac.jp>

2006-02-20 03:38  thor

	* version 0.59o by Michael Hipp:
	  
	  - fixed Bug with stereo streams on mono audio hardware for OSS
	  - fixed a bug with mono output and 1:1 (no) rate conversion
	  - again changes in the probe code
	  - fix in the buffer code for the case, that audio parameters are
	  changing
	  - more changes to the flexibel rate converter, should now work
	  when
	  writing to STDOUT.
	  - Added Andy's (<andy@snoogie.demon.co.uk>) float2int speed up
	  proposal
	  (check WRITE_SAMPLE in decode_i386.c) .. Maybe someone wanna take
	  the
	  idea and put it into the decode_i586.s part?
	  - Added TK3Play support from Brian Foutz
	  <foutz@anise.ee.cornell.edu>
	  (compiles but untested)
	  - RIFF Header fix (according to Thomas Niederreiter's
	  <tn@tarantel.rz.fh-muenchen.de> patch)
	  - m68k patch from Stefan Gybas <cab@studbox.uni-stuttgart.de>
	  applied
	  - minor additional PPC changes applied
	  - resync and EOF hang fixed
	  - resync and bitrate correction relaxed
	  - Slightly change verbose output; added countdown

2006-02-20 03:35  thor

	* version 0.59n by Michael Hipp:
	  
	  - fixed shuffle bug
	  - added memory mapped IO for file reading
	  - added MPEG 2.5 12kHz and 8kHz table entry
	  - started flexibel rate conversion ..
	  - new '-Z' / '--random' option
	  - minor clean-up
	  - splitted audio file in audio system dependend smaller parts
	  - started system stream support (external program: system.c)
	  - unsigned 8 bit (instead of ulaw) is now default for 8bit
	  operation
	  - Linux PPC patch from Grant Erickson <eric0139@tc.umn.edu>
	  applied
	  - added BSDi patch from Peter Berger <peterb@hoopoe.psc.edu>, who
	  reported
	  a failure when catching signals
	  - minor bug fix in the control interface for sajber jukebox
	  - fixed the ugly 'Ctrl-Z in buffer mode' bug .. YES ;)
	  - added buffer preload when underrun occurs (preload = 1/8 buffer
	  size)

2006-02-20 03:26  thor

	* version 0.59m by Michael Hipp:
	  
	  - Bug with RIFF header streams fixed.
	  - HTTP auth option patch from Henrik P Johnson <king@one.se>
	  - NetBSD patch(s) added from <mycroft@NetBSD.ORG> and
	  <augustss@cs.chalmers.se>
	  - Added advanced shuffle support from Steven Tiger Lang
	  <tiger@tyger.org>
	  - fixed bug with too large big_value field
	  - fixed (hopefully) the bug with the '-a' option
	  - work-around for some pedantic compilers in fr->synth init
	  - some changes for the 'generic' version
	  - applied NAS bug-fix patch
	  - new (good) MPEG 2.5 tables (from Niklas Beisert)
	  - added WIN32 support from Tony Million
	  - added some bug fixes from Niklas Beisert
	  - fixed another ugly bug in layer3 dequantize (wrote over the
	  border
	  of the 'xr' field)
	  - a minor HPUX clean up
	  - added BSD patch from Kevin Brintnall <kbrint@visi.com>
	  - added Makefile.win32
	  - added NAS big endian fix

2006-02-20 03:24  thor

	* version 0.59l by Michael Hipp:
	  
	  - simple equalizer support (to be continued)
	  - added NAS patch from Martin Denn <mdenn@unix-ag.uni-kl.de>
	  - real mono support
	  - added pentium optimized decode_i586 from Stefan Bieschewski
	  <stb@acm.org>
	  - fixed a bug in MS dequantize function

2006-02-20 03:22  thor

	* version 0.59k by Michael Hipp/Oliver Fromme:
	  
	  - fixed "Accept" header in httpget.c
	  - fixed buffer overflow (causing core dumps) in httpget.c
	  - fixed display of song length
	  - fixed -b (buffer) problem on SGI / IRIX -- it definitely works
	  now
	  - fixed problem when files with different sample rates where
	  played,
	  it now works with -b (buffer), too
	  - fixed order of local variables in decode.c to work around a
	  compiler bug in ultrix
	  - fixed Makefile for ultrix
	  - reverted to old getbits.s (the new one could cause coredumps)
	  - more compact MPEG header display in non-verbose mode
	  - small fixes in buffer code and elsewhere

2006-02-20 03:19  thor

	* version 0.59j by Michael Hipp:
	  
	  - added sajber jukebox control interface (it's currently a big
	  hack)
	  (see 'JUKEBOX' file for more)
	  - added simple rewind facility .. (only used by sajber interface
	  at the moment)

2006-02-20 03:14  thor

	* version 0.59i by Michael Hipp:
	  
	  - added front-end (remote) patch from "Brian J. Swetland"
	  <swetland@uiuc.edu>
	  - added OS2 patches from Niclas Lindstrom <nil@wineasy.se>
	  - fixed 'rewind bug'
	  - added patches from Leo Broukhis <leo@zycad.com>
	  - added shuffle patch from Tillmann Steinbrecher
	  <tst@darmstadt.netsurf.de>
	  - added i386-getbits from M.Stekelenburg
	  <m.stekelenburg@student.utwente.nl>
	  - added fallback to 8bit if no 16bit samples support (currently
	  linux only)
	  - added (slightly changed) outburst patch
	  from Antti Andreimann <anttix@cyberix.edu.ee>
	  - added 'http accept' patch from Hur TaeSung
	  <saturn@arari.snu.ac.kr>
	  - fixed buffer mode bug

2006-02-20 03:10  thor

	* version 0.59h by Michael Hipp
	  
	  - added '--8bit' option to force 'UNSIGNED 8 BIT' playing
	  - pcm buffer type changed to 'unsigned char *'
	  - plays 2:1 and 4:1 with the real frequency (ie 11025/22050
	  instead
	  of 44100)
	  - program (re)sets (changed) frequency for every frame
	  - buffer mode is broken

2006-02-20 03:08  thor

	* version 0.59g by Michael Hipp (with f...):
	  
	  0.59g: (MH)
	  ------
	  - added support for MPEG 2.5 (it's a HACK!) .. mpg123 understands
	  and plays
	  2.5 but it does it wrong. (you will hear this!)
	  - Fixed wrong values in BandInfo struct for 32kHz mode
	  - Some performance improvements and minor changes and bug-fixes.
	  - Tried the new imdct from the maplay1.2+ (version 1.81) package.
	  (but
	  it was slightly slower on my system, currently disabled)
	  
	  0.59f: (OF)
	  ------
	  HP-UX audio fix (provided by Damien Clermonte).
	  Buffering (-b option) hopefully fixed. Please test!

2006-02-20 03:05  thor

	* version 0.59e by Michael Hipp:
	  
	  added Audio MPEG 2.0 support (but near untested) (MH)

2006-02-20 03:03  thor

	* version 0.59d by Michael Hipp, including at least 0.59c (a?, b?):
	  
	  0.59d: (MH)
	  ------
	  minor modifications to dct64_i386.c
	  removed duplicated dependency 'dct64.o' in Makefile
	  
	  0.59c: (OF)
	  ------
	  Another complete rework of the buffer system (-b option)
	  (normally uses mmap(), but it can also use SYSV-ShMem because
	  mmap() is broken on linux).

2006-02-20 02:59  thor

	* version 0.59 by Michael Hipp, with step 0.58 in there:
	  
	  0.59: (MH)
	  -----
	  extracted dct64() from decode*.c files.
	  some changes to dct64() and decode*.c to allow
	  auto-increment/decrement
	  removed bit-counter in getbit-functions. Layer3 part2 now counts
	  it itself.
	  
	  0.58: (OF)
	  -----
	  Bugfix: not closing the audio device caused a few samples to be
	  lost.
	  Bugfix: audio_set_rate() was not called (!?!).
	  Additional command line options "--doublespeed" and "--halfspeed"
	  (couldn't find better names). See the manpage.
	  Complete redesign of command line options. See the manpage.
	  Changed the buffer algorithm (-b). I'm not sure whether it's
	  better
	  or worse now.
	  Supports multiple files on the command line. Pressing Ctrl-C will
	  skip to the next MPEG file, pressing it twice within one second
	  will abort mpg123 completely. See the "INTERRUPT" section in the
	  manpage.
	  Support for http URLs. See also the -p option in the manpage.
	  Support for list files. See also the -@ option in the manpage.

2006-02-20 02:54  thor

	* version 0.57 by Michael Hipp, stepping over version 0.56:
	  
	  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".

2006-02-20 02:50  thor

	* version 0.55 by Michael Hipp:
	  
	  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)

2006-02-20 02:09  thor

	* Starting reconstruction of Michael Hipp's trackable work
	  (downloadable release versions) in svn. This is version 0.54.
	  Of course this is not the beginning, but it is what I was able to
	  get.
	  
	  Changes from 0.53b to 0.54 (by Michael Hipp):
	  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
	  
	  First noted changes at all: from 0.53a to 0.53b by Oliver Fromme:
	  see CHANGES file

