From c46daebce1a7628d24bde87ad1ec07d16e7c0019 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Tue, 28 Jun 2022 07:10:00 +0300
Subject: [PATCH] mpg123-1.30.0
---
INSTALL | 20 +-
Makefile.in | 120 ++++--
NEWS | 46 +++
NEWS.libmpg123 | 2 +
configure | 501 +++++++++++++++++------
configure.ac | 270 ++++++++----
doc/Makemodule.am | 1 +
doc/README.remote | 7 +-
doc/windows-notes.html | 243 +++++++++++
man1/mpg123.1 | 14 +-
mpg123.spec | 2 +-
ports/cmake/cmake/read_api_version.cmake | 2 +-
ports/cmake/src/CMakeLists.txt | 28 +-
ports/cmake/src/config.cmake.h.in | 5 +-
src/Makemodule.am | 35 +-
src/common.c | 32 +-
src/compat/compat.c | 25 +-
src/compat/compat.h | 43 +-
src/compat/compat_str.c | 23 +-
src/config.h.in | 18 +
src/control_generic.c | 27 +-
src/httpget.c | 59 ++-
src/httpget.h | 14 +-
src/intsym.h | 1 +
src/libmpg123/frame.c | 6 +
src/libmpg123/libmpg123.c | 37 +-
src/libmpg123/mpg123.h.in | 31 +-
src/libmpg123/mpg123lib_intern.h | 12 +
src/libmpg123/readers.c | 23 +-
src/libout123/libout123.c | 2 +
src/libout123/modules/os2.c | 182 +++++---
src/libout123/modules/pulse.c | 6 +-
src/libout123/modules/win32_wasapi.c | 8 +-
src/libout123/wav.c | 4 +-
src/local.c | 81 ----
src/metaprint.c | 8 +-
src/mpg123-strip.c | 2 +
src/mpg123.c | 255 +++++-------
src/mpg123app.h | 14 +-
src/net123.h | 69 ++++
src/net123_exec.c | 306 ++++++++++++++
src/net123_winhttp.c | 262 ++++++++++++
src/net123_wininet.c | 227 ++++++++++
src/out123.c | 11 +-
src/playlist.c | 375 +++++++----------
src/resolver.c | 2 +-
src/streamdump.c | 404 +++++++++++++++++-
src/streamdump.h | 49 ++-
src/term.c | 165 +++-----
src/term.h | 14 +-
src/term_none.c | 31 ++
src/term_posix.c | 229 +++++++++++
src/term_win32.c | 113 +++++
src/terms.h | 52 +++
src/win32_net.c | 4 +-
src/win32_support.h | 2 +-
56 files changed, 3493 insertions(+), 1031 deletions(-)
create mode 100644 doc/windows-notes.html
create mode 100644 src/net123.h
create mode 100644 src/net123_exec.c
create mode 100644 src/net123_winhttp.c
create mode 100644 src/net123_wininet.c
create mode 100644 src/term_none.c
create mode 100644 src/term_posix.c
create mode 100644 src/term_win32.c
create mode 100644 src/terms.h
diff --git a/INSTALL b/INSTALL
index a9cec3f..bede127 100644
--- a/INSTALL
+++ b/INSTALL
@@ -5,24 +5,27 @@ mpg123 install hints
You really need:
-- a C compiler; we try to keep the code ANSI C89/ISO C90 compatible
- gcc from 2.95 on should work, others, too - please report any issues
- Actually, we have a confirmed working build (svn trunk leading to
- release 0.67) on SunOS 4.1.4 with gcc-2.7.0 .
+- a C99 compiler (moderate C99 support)
- an (UNIX-like) operating system with standard tools; MinGW32 and
Cygwin are working for Microsoft Windows, too. We also have users happily
on OS/2.
-- For the library only, you may get lucky with MSVC++ using the project
- files under ports/
+
+- For the library only, you may get lucky with MSVC++ using CMake and
+ ports/cmake as source directory. You can also use CMake on other
+ platforms for a full build, but its main purpose is for portability
+ where autotools don't do the trick.
+
- For other exotic platforms, also see ports/
+
- If building from direct SCM checkout, you need GNU autotools installed
- (see below).
+ (see developer build below).
You want:
- working assembler (recent GNU binutils) if using certain CPU
optimizations
+
- headers and lib for certain audio output drivers (libasound for alsa,
sdl for sdl...)
@@ -31,10 +34,11 @@ You want:
There is one main supported way to get your mpg123 installation
consisting of
-a) the mpg123, mpg123-strip, out123 program binaries
+a) the mpg123, mpg123-strip, mpg123-id3dump, out123 program binaries
- with libmpg123, libout123, and libsyn123 as shared libraries or
statically linked
- with audio output plugins for libout123, or one statically linked
+
b) man pages
(you may want to copy some of the documentation - README, etc - to
diff --git a/Makefile.in b/Makefile.in
index 38728f2..fc42a4e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -372,14 +372,23 @@ check_PROGRAMS = src/tests/decode_fixed$(EXEEXT) \
@HAVE_MODULES_TRUE@am__append_96 = src/libout123/module.c
@HAVE_MODULES_FALSE@am__append_97 = src/libout123/legacy_module.c
-@WIN32_CODES_TRUE@am__append_98 = \
-@WIN32_CODES_TRUE@ src/win32_support.c \
-@WIN32_CODES_TRUE@ src/win32_net.c
+@TERM_POSIX_TRUE@am__append_98 = src/term_posix.c
+@TERM_WIN32_TRUE@am__append_99 = src/term_win32.c
+@TERM_NONE_TRUE@am__append_100 = src/term_none.c
+@NET123_EXEC_TRUE@am__append_101 = src/net123.h src/net123_exec.c
+@NET123_WINHTTP_TRUE@am__append_102 = src/net123.h src/net123_winhttp.c
+@NET123_WINHTTP_TRUE@am__append_103 = -lwinhttp
+@NET123_WININET_TRUE@am__append_104 = src/net123.h src/net123_wininet.c
+@NET123_WININET_TRUE@am__append_105 = -lwininet
+@WIN32_CODES_TRUE@am__append_106 = \
+@WIN32_CODES_TRUE@ src/win32_support.c
-@WIN32_CODES_TRUE@am__append_99 = \
+@NETWORK_WINSOCK_TRUE@@WIN32_CODES_TRUE@am__append_107 = src/win32_net.c
+@NETWORK_WINSOCK_TRUE@@WIN32_CODES_TRUE@am__append_108 = -lws2_32
+@WIN32_CODES_TRUE@am__append_109 = \
@WIN32_CODES_TRUE@ src/win32_support.c
-@WIN32_CODES_TRUE@am__append_100 = \
+@WIN32_CODES_TRUE@am__append_110 = \
@WIN32_CODES_TRUE@ src/win32_support.c
subdir = .
@@ -1112,10 +1121,18 @@ am__src_mpg123_SOURCES_DIST = src/audio.c src/audio.h src/common.c \
src/genre.c src/mpg123.c src/mpg123app.h src/metaprint.c \
src/metaprint.h src/local.h src/local.c src/playlist.c \
src/playlist.h src/streamdump.h src/streamdump.c src/term.c \
- src/term.h src/win32_support.h src/win32_support.c \
- src/win32_net.c
-@WIN32_CODES_TRUE@am__objects_70 = src/win32_support.$(OBJEXT) \
-@WIN32_CODES_TRUE@ src/win32_net.$(OBJEXT)
+ src/term.h src/terms.h src/win32_support.h src/term_posix.c \
+ src/term_win32.c src/term_none.c src/net123.h \
+ src/net123_exec.c src/net123_winhttp.c src/net123_wininet.c \
+ src/win32_support.c src/win32_net.c
+@TERM_POSIX_TRUE@am__objects_70 = src/term_posix.$(OBJEXT)
+@TERM_WIN32_TRUE@am__objects_71 = src/term_win32.$(OBJEXT)
+@TERM_NONE_TRUE@am__objects_72 = src/term_none.$(OBJEXT)
+@NET123_EXEC_TRUE@am__objects_73 = src/net123_exec.$(OBJEXT)
+@NET123_WINHTTP_TRUE@am__objects_74 = src/net123_winhttp.$(OBJEXT)
+@NET123_WININET_TRUE@am__objects_75 = src/net123_wininet.$(OBJEXT)
+@WIN32_CODES_TRUE@am__objects_76 = src/win32_support.$(OBJEXT)
+@NETWORK_WINSOCK_TRUE@@WIN32_CODES_TRUE@am__objects_77 = src/win32_net.$(OBJEXT)
am_src_mpg123_OBJECTS = src/audio.$(OBJEXT) src/common.$(OBJEXT) \
src/sysutil.$(OBJEXT) src/control_generic.$(OBJEXT) \
src/equalizer.$(OBJEXT) src/getlopt.$(OBJEXT) \
@@ -1123,19 +1140,22 @@ am_src_mpg123_OBJECTS = src/audio.$(OBJEXT) src/common.$(OBJEXT) \
src/genre.$(OBJEXT) src/mpg123.$(OBJEXT) \
src/metaprint.$(OBJEXT) src/local.$(OBJEXT) \
src/playlist.$(OBJEXT) src/streamdump.$(OBJEXT) \
- src/term.$(OBJEXT) $(am__objects_70)
+ src/term.$(OBJEXT) $(am__objects_70) $(am__objects_71) \
+ $(am__objects_72) $(am__objects_73) $(am__objects_74) \
+ $(am__objects_75) $(am__objects_76) $(am__objects_77)
src_mpg123_OBJECTS = $(am_src_mpg123_OBJECTS)
+am__DEPENDENCIES_1 =
src_mpg123_DEPENDENCIES = src/compat/libcompat.la \
src/libmpg123/libmpg123.la src/libout123/libout123.la \
- src/libsyn123/libsyn123.la
+ src/libsyn123/libsyn123.la $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
src_mpg123_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(src_mpg123_LDFLAGS) $(LDFLAGS) -o $@
am__src_mpg123_id3dump_SOURCES_DIST = src/mpg123-id3dump.c \
src/getlopt.c src/getlopt.h src/win32_support.c
-@WIN32_CODES_TRUE@am__objects_71 = src/win32_support.$(OBJEXT)
am_src_mpg123_id3dump_OBJECTS = src/mpg123-id3dump.$(OBJEXT) \
- src/getlopt.$(OBJEXT) $(am__objects_71)
+ src/getlopt.$(OBJEXT) $(am__objects_76)
src_mpg123_id3dump_OBJECTS = $(am_src_mpg123_id3dump_OBJECTS)
src_mpg123_id3dump_DEPENDENCIES = src/compat/libcompat.la \
src/libmpg123/libmpg123.la
@@ -1150,7 +1170,7 @@ am__src_out123_SOURCES_DIST = src/sysutil.c src/sysutil.h src/common.h \
src/win32_support.h src/win32_support.c
am_src_out123_OBJECTS = src/sysutil.$(OBJEXT) src/getlopt.$(OBJEXT) \
src/local.$(OBJEXT) src/filters.$(OBJEXT) src/out123.$(OBJEXT) \
- $(am__objects_71)
+ $(am__objects_76)
src_out123_OBJECTS = $(am_src_out123_OBJECTS)
src_out123_DEPENDENCIES = src/compat/libcompat.la \
src/libsyn123/libsyn123.la src/libout123/libout123.la
@@ -1220,11 +1240,15 @@ am__depfiles_remade = src/$(DEPDIR)/audio.Po src/$(DEPDIR)/common.Po \
src/$(DEPDIR)/getlopt.Po src/$(DEPDIR)/httpget.Po \
src/$(DEPDIR)/local.Po src/$(DEPDIR)/metaprint.Po \
src/$(DEPDIR)/mpg123-id3dump.Po src/$(DEPDIR)/mpg123-strip.Po \
- src/$(DEPDIR)/mpg123.Po src/$(DEPDIR)/out123.Po \
+ src/$(DEPDIR)/mpg123.Po src/$(DEPDIR)/net123_exec.Po \
+ src/$(DEPDIR)/net123_winhttp.Po \
+ src/$(DEPDIR)/net123_wininet.Po src/$(DEPDIR)/out123.Po \
src/$(DEPDIR)/playlist.Po src/$(DEPDIR)/resolver.Po \
src/$(DEPDIR)/streamdump.Po src/$(DEPDIR)/sysutil.Po \
- src/$(DEPDIR)/term.Po src/$(DEPDIR)/win32_net.Po \
- src/$(DEPDIR)/win32_support.Po src/compat/$(DEPDIR)/compat.Plo \
+ src/$(DEPDIR)/term.Po src/$(DEPDIR)/term_none.Po \
+ src/$(DEPDIR)/term_posix.Po src/$(DEPDIR)/term_win32.Po \
+ src/$(DEPDIR)/win32_net.Po src/$(DEPDIR)/win32_support.Po \
+ src/compat/$(DEPDIR)/compat.Plo \
src/compat/$(DEPDIR)/compat_dl.Plo \
src/compat/$(DEPDIR)/compat_str.Plo \
src/libmpg123/$(DEPDIR)/calctables.Po \
@@ -2001,12 +2025,12 @@ EXTRA_DIST = src/tests/testtext.sh src/tests/decode_fixed.sh \
doc/ROAD_TO_LGPL doc/TODO doc/LICENSE doc/THANKS doc/ACCURACY \
doc/LARGEFILE doc/libmpg123_speed.txt doc/doxyhead.xhtml \
doc/doxyfoot.xhtml doc/doxy_examples.c doc/doxygen.conf \
- doc/examples/mpg123_to_out123.c doc/examples/scan.c \
- doc/examples/mpglib.c doc/examples/id3dump.c \
- doc/examples/feedseek.c doc/examples/dump_seekindex.c \
- doc/examples/extract_frames.c doc/examples/Makefile \
- mpg123.spec makedll.sh windows-builds.sh equalize.dat \
- NEWS.libmpg123 NEWS.libout123 NEWS.libsyn123 \
+ doc/windows-notes.html doc/examples/mpg123_to_out123.c \
+ doc/examples/scan.c doc/examples/mpglib.c \
+ doc/examples/id3dump.c doc/examples/feedseek.c \
+ doc/examples/dump_seekindex.c doc/examples/extract_frames.c \
+ doc/examples/Makefile mpg123.spec makedll.sh windows-builds.sh \
+ equalize.dat NEWS.libmpg123 NEWS.libout123 NEWS.libsyn123 \
ports/cmake/CMakeLists.txt ports/cmake/mpg123-config.cmake.in \
ports/cmake/cmake/search_libs.cmake \
ports/cmake/cmake/read_api_version.cmake \
@@ -2854,13 +2878,10 @@ src_libsyn123_libsyn123_la_SOURCES = \
src/libsyn123/filter.c \
src/libsyn123/sampleconv.c
-src_mpg123_LDADD = \
- src/compat/libcompat.la \
- src/libmpg123/libmpg123.la \
- src/libout123/libout123.la \
- src/libsyn123/libsyn123.la \
- @PROG_LIBS@
-
+src_mpg123_LDADD = src/compat/libcompat.la src/libmpg123/libmpg123.la \
+ src/libout123/libout123.la src/libsyn123/libsyn123.la \
+ @PROG_LIBS@ $(am__append_103) $(am__append_105) \
+ $(am__append_108)
src_mpg123_LDFLAGS = @EXEC_LT_LDFLAGS@
src_out123_LDADD = \
src/compat/libcompat.la \
@@ -2888,15 +2909,18 @@ src_mpg123_SOURCES = src/audio.c src/audio.h src/common.c src/common.h \
src/genre.c src/mpg123.c src/mpg123app.h src/metaprint.c \
src/metaprint.h src/local.h src/local.c src/playlist.c \
src/playlist.h src/streamdump.h src/streamdump.c src/term.c \
- src/term.h src/win32_support.h $(am__append_98)
+ src/term.h src/terms.h src/win32_support.h $(am__append_98) \
+ $(am__append_99) $(am__append_100) $(am__append_101) \
+ $(am__append_102) $(am__append_104) $(am__append_106) \
+ $(am__append_107)
# Replace common.h by sysutil.h!
src_out123_SOURCES = src/sysutil.c src/sysutil.h src/common.h \
src/getlopt.c src/getlopt.h src/local.h src/local.c \
src/filters.h src/filters.c src/out123.c src/mpg123app.h \
- src/win32_support.h $(am__append_99)
+ src/win32_support.h $(am__append_109)
src_mpg123_id3dump_SOURCES = src/mpg123-id3dump.c src/getlopt.c \
- src/getlopt.h $(am__append_100)
+ src/getlopt.h $(am__append_110)
src_mpg123_strip_SOURCES = \
src/mpg123-strip.c \
src/getlopt.c \
@@ -3689,6 +3713,18 @@ src/playlist.$(OBJEXT): src/$(am__dirstamp) \
src/streamdump.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/term.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+src/term_posix.$(OBJEXT): src/$(am__dirstamp) \
+ src/$(DEPDIR)/$(am__dirstamp)
+src/term_win32.$(OBJEXT): src/$(am__dirstamp) \
+ src/$(DEPDIR)/$(am__dirstamp)
+src/term_none.$(OBJEXT): src/$(am__dirstamp) \
+ src/$(DEPDIR)/$(am__dirstamp)
+src/net123_exec.$(OBJEXT): src/$(am__dirstamp) \
+ src/$(DEPDIR)/$(am__dirstamp)
+src/net123_winhttp.$(OBJEXT): src/$(am__dirstamp) \
+ src/$(DEPDIR)/$(am__dirstamp)
+src/net123_wininet.$(OBJEXT): src/$(am__dirstamp) \
+ src/$(DEPDIR)/$(am__dirstamp)
src/win32_support.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/win32_net.$(OBJEXT): src/$(am__dirstamp) \
@@ -3815,12 +3851,18 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/mpg123-id3dump.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/mpg123-strip.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/mpg123.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/net123_exec.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/net123_winhttp.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/net123_wininet.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/out123.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/playlist.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/resolver.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/streamdump.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/sysutil.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/term.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/term_none.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/term_posix.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/term_win32.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/win32_net.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/win32_support.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/compat/$(DEPDIR)/compat.Plo@am__quote@ # am--include-marker
@@ -5342,12 +5384,18 @@ distclean: distclean-am
-rm -f src/$(DEPDIR)/mpg123-id3dump.Po
-rm -f src/$(DEPDIR)/mpg123-strip.Po
-rm -f src/$(DEPDIR)/mpg123.Po
+ -rm -f src/$(DEPDIR)/net123_exec.Po
+ -rm -f src/$(DEPDIR)/net123_winhttp.Po
+ -rm -f src/$(DEPDIR)/net123_wininet.Po
-rm -f src/$(DEPDIR)/out123.Po
-rm -f src/$(DEPDIR)/playlist.Po
-rm -f src/$(DEPDIR)/resolver.Po
-rm -f src/$(DEPDIR)/streamdump.Po
-rm -f src/$(DEPDIR)/sysutil.Po
-rm -f src/$(DEPDIR)/term.Po
+ -rm -f src/$(DEPDIR)/term_none.Po
+ -rm -f src/$(DEPDIR)/term_posix.Po
+ -rm -f src/$(DEPDIR)/term_win32.Po
-rm -f src/$(DEPDIR)/win32_net.Po
-rm -f src/$(DEPDIR)/win32_support.Po
-rm -f src/compat/$(DEPDIR)/compat.Plo
@@ -5590,12 +5638,18 @@ maintainer-clean: maintainer-clean-am
-rm -f src/$(DEPDIR)/mpg123-id3dump.Po
-rm -f src/$(DEPDIR)/mpg123-strip.Po
-rm -f src/$(DEPDIR)/mpg123.Po
+ -rm -f src/$(DEPDIR)/net123_exec.Po
+ -rm -f src/$(DEPDIR)/net123_winhttp.Po
+ -rm -f src/$(DEPDIR)/net123_wininet.Po
-rm -f src/$(DEPDIR)/out123.Po
-rm -f src/$(DEPDIR)/playlist.Po
-rm -f src/$(DEPDIR)/resolver.Po
-rm -f src/$(DEPDIR)/streamdump.Po
-rm -f src/$(DEPDIR)/sysutil.Po
-rm -f src/$(DEPDIR)/term.Po
+ -rm -f src/$(DEPDIR)/term_none.Po
+ -rm -f src/$(DEPDIR)/term_posix.Po
+ -rm -f src/$(DEPDIR)/term_win32.Po
-rm -f src/$(DEPDIR)/win32_net.Po
-rm -f src/$(DEPDIR)/win32_support.Po
-rm -f src/compat/$(DEPDIR)/compat.Plo
diff --git a/NEWS b/NEWS
index 93ccde0..dd0e302 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,49 @@
+1.30.0
+------
+- build:
+-- Use dummy as default module when no other outputs are enabled. This also
+ fixes a non-module build with just the dummy (bug 333).
+-- Use CMAKE_CURRENT_SOURCE_DIR in CMake build to help nested use (bug 335).
+-- some updates for OS/2 support (fixing up stdin playing, for example)
+- mpg123:
+-- new network backend using external tools/libraries to also support HTTPS
+-- old network backend changed to use h_addr_list[0] instead of h_addr
+-- terminal control keys now case-sensitive (fixing smal/big pitch controls)
+-- additional terminal control keys for simple equalizer control (A/a for bass,
+ J/j for mids, N/n for treble, e for reset, E for printout)
+-- terminal volume control now in decibel steps and bounded to +/- 60 dB
+-- terminal control now also with audio from stdin (bug 338) via
+ /dev/tty or ctermid()
+-- terminal control also available for OS/2 and Windows platforms
+-- re-print tag info on decrease of terminal width for a bit less mess
+-- always print an empty line after tag info for cleaner appearance
+-- print lyrics also to stderr
+-- remote control API v10 with "@P 3" as additonal message on track end
+-- also added PROGRESS command as opposite of SILENCE
+-- fix some verbosity, tweak help for --icy-interval
+-- added --auth-file
+-- also obscure argument to --auth for others
+-- Cygwin/MinGW: Provide _win32_utf8_wide and _win32_wide_utf8 unconditionally.
+ It is needed by the WASAPI plugins, the underlying conversion functions
+ should be present since Windows 2000. Fixes WASAPI support on Cygwin.
+ Also needed for new network code.
+- libout123:
+-- pulse: initialize more error codes to avoid bogus error messages
+-- os2: considerable fixup for proper writes of full buffers avoiding
+ nasty effects from the ... special audio system, more cleanup still
+ nice-to-have, but still lacking
+
+1.29.4
+------
+- libmpg123:
+-- Saturate reader file position at off_t limit to satisfy
+ undefined behaviour checkers.
+-- Avoid harmless unitialized value in ID3v1 check (filepos, later being
+ set before actual use).
+- libout123:
+-- Build fix for win32_wasapi output for predefined _WIN32_WINNT (bug 329),
+ thanks to Vincent Torri.
+
1.29.3
------
- libmpg123: Catch more NULL pointer arguments in LFS wrappers
diff --git a/NEWS.libmpg123 b/NEWS.libmpg123
index dd66905..32ddf68 100644
--- a/NEWS.libmpg123
+++ b/NEWS.libmpg123
@@ -1,5 +1,7 @@
Changes in libmpg123 libtool interface versions...
+47.0.47 - Added mpg123_eq_bands(), mpg123_eq_change() and mpg123_volume_change_db().
+
46.0.46
- Functions mpg123_init() and mpg123_exit() are really no-ops now.
There is no need to call them, and no harm done calling them in
diff --git a/configure b/configure
index d3404be..db3d7f4 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for mpg123 1.29.3.
+# Generated by GNU Autoconf 2.69 for mpg123 1.30.0.
#
# Report bugs to <maintainer@mpg123.org>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='mpg123'
PACKAGE_TARNAME='mpg123'
-PACKAGE_VERSION='1.29.3'
-PACKAGE_STRING='mpg123 1.29.3'
+PACKAGE_VERSION='1.30.0'
+PACKAGE_STRING='mpg123 1.30.0'
PACKAGE_BUGREPORT='maintainer@mpg123.org'
PACKAGE_URL=''
@@ -641,6 +641,20 @@ LIBOUT123_LIBS
LIBSYN123_LIBS
LIBMPG123_LIBS
PROG_LIBS
+TERM_WIN32_FALSE
+TERM_WIN32_TRUE
+TERM_NONE_FALSE
+TERM_NONE_TRUE
+TERM_POSIX_FALSE
+TERM_POSIX_TRUE
+NET123_WININET_FALSE
+NET123_WININET_TRUE
+NET123_WINHTTP_FALSE
+NET123_WINHTTP_TRUE
+NET123_EXEC_FALSE
+NET123_EXEC_TRUE
+NETWORK_WINSOCK_FALSE
+NETWORK_WINSOCK_TRUE
WIN32_CODES_FALSE
WIN32_CODES_TRUE
BUILD_BUFFER_FALSE
@@ -1060,8 +1074,6 @@ enable_xdebug
enable_nagging
enable_gapless
enable_fifo
-enable_ipv6
-enable_network
enable_id3v2
enable_string
enable_icy
@@ -1094,6 +1106,9 @@ with_seektable
enable_largefile
enable_lfs_alias
enable_feature_report
+enable_ipv6
+enable_network
+with_network
'
ac_precious_vars='build_alias
host_alias
@@ -1668,7 +1683,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures mpg123 1.29.3 to adapt to many kinds of systems.
+\`configure' configures mpg123 1.30.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1739,7 +1754,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of mpg123 1.29.3:";;
+ short | recursive ) echo "Configuration of mpg123 1.30.0:";;
esac
cat <<\_ACEOF
@@ -1764,8 +1779,6 @@ Optional Features:
--enable-nagging=no/yes turn on GCC's pedantic nagging with error on warnings, does not include --enable-debug anymore
--enable-gapless=no/yes turn on gapless (enabled per default)
--enable-fifo=no/yes FIFO support for control interface (auto-enabled on linux)
- --enable-ipv6=no/yes IPv6 support (actually any protocol your libc does with getaddrinfo)
- --enable-network=no/yes network support (http streams / webradio)
--disable-id3v2=no/yes no ID3v2 parsing
--disable-string=no/yes no string API (this will disable ID3v2; main mpg123 won't build anymore)
--disable-icy=no/yes no ICY metainfo parsing/conversion (main mpg123 won't build!)
@@ -1793,6 +1806,8 @@ Optional Features:
--disable-largefile omit support for large files
--disable-lfs-alias disable alias wrappers for largefile bitness (mpg123_seek_32 or mpg123_seek_64 in addition to mpg123_seek, or the other way around; It is a mess, do not play with this!)
--disable-feature_report Disable feature report function
+ --enable-ipv6=no/yes IPv6 support in internal network stack
+ --enable-network=no/yes network support (http streams / webradio), if available (overruled by --with-network!)
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -1875,6 +1890,9 @@ Optional Packages:
--with-seektable=<size> choose size of seek index table (0 disables it), default 1000
+ --with-network=<type> Available options, depending on platform, are auto,
+ none, internal, winhttp, wininet, and exec (wget or
+ curl binaries).
Some influential environment variables:
CC C compiler command
@@ -1970,7 +1988,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-mpg123 configure 1.29.3
+mpg123 configure 1.30.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2576,7 +2594,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by mpg123 $as_me 1.29.3, which was
+It was created by mpg123 $as_me 1.30.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2925,11 +2943,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
-API_VERSION=46
-LIB_PATCHLEVEL=7
+API_VERSION=47
+LIB_PATCHLEVEL=0
OUTAPI_VERSION=4
-OUTLIB_PATCHLEVEL=3
+OUTLIB_PATCHLEVEL=4
SYNAPI_VERSION=1
SYNLIB_PATCHLEVEL=4
@@ -3535,7 +3553,7 @@ fi
# Define the identity of the package.
PACKAGE='mpg123'
- VERSION='1.29.3'
+ VERSION='1.30.0'
cat >>confdefs.h <<_ACEOF
@@ -14401,42 +14419,6 @@ else
fi
-# Check whether --enable-ipv6 was given.
-if test "${enable_ipv6+set}" = set; then :
- enableval=$enable_ipv6;
- if test "x$enableval" = xyes
- then
- ipv6="enabled"
- else
- ipv6="disabled"
- fi
-
-else
-
- ipv6="auto"
-
-
-fi
-
-
-# Check whether --enable-network was given.
-if test "${enable_network+set}" = set; then :
- enableval=$enable_network;
- if test "x$enableval" = xyes
- then
- network="enabled"
- else
- network="disabled"
- fi
-
-else
-
- network="auto"
-
-
-fi
-
-
id3v2=enabled
@@ -16039,6 +16021,7 @@ done
fi
+term_type=none
# Check if system supports termios
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking POSIX termios" >&5
$as_echo_n "checking POSIX termios... " >&6; }
@@ -16077,6 +16060,7 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_TERMIOS 1
_ACEOF
+ term_type=posix
fi
for ac_func in random
@@ -16173,6 +16157,77 @@ fi
done
+for ac_func in fork execvp
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+ have_fork=yes
+else
+ have_fork=no; break
+fi
+done
+
+
+for ac_func in ctermid
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+#AC_CHECK_FUNCS( _setmode setmode )
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <io.h>
+#include <fcntl.h>
+#include <stdio.h>
+
+int main()
+{
+ _setmode(STDIN_FILENO, _O_BINARY);
+ _setmode(STDOUT_FILENO, _O_TEXT);
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+$as_echo "#define HAVE__SETMODE 1" >>confdefs.h
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <io.h>
+#include <fcntl.h>
+#include <stdio.h>
+
+int main()
+{
+ setmode(STDIN_FILENO, O_BINARY);
+ setmode(STDOUT_FILENO, O_TEXT);
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+$as_echo "#define HAVE_SETMODE 1" >>confdefs.h
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
# locale headers
for ac_header in locale.h langinfo.h wchar.h wctype.h
@@ -16189,7 +16244,7 @@ fi
done
# Headers for network (http) stuff
-network_type=Unknown
+network_internal=unknown
for ac_header in netdb.h sys/param.h sys/socket.h netinet/in.h arpa/inet.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
@@ -16209,7 +16264,7 @@ if test "x$ac_cv_header_netdb_h" = "xyes" &&
test "x$ac_cv_header_netinet_in_h" = "xyes" &&
test "x$ac_cv_header_arpa_inet_h" = "xyes"; then
have_network=yes
- network_type=Posix
+ network_internal=posix
else
have_network=no
fi
@@ -16494,54 +16549,20 @@ ADD_CPPFLAGS="$sys_cppflags"
ADD_LDFLAGS=""
LIBS="$LIBS"
-# Consider moving that stuff.
-ac_fn_c_check_header_mongrel "$LINENO" "os2.h" "ac_cv_header_os2_h" "$ac_includes_default"
+# Remove that if it is settled that tcsetattr on OS/2 is unsalvageable anyway.
+# The only user of os2.h is the output module.
+for ac_header in os2.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "os2.h" "ac_cv_header_os2_h" "$ac_includes_default"
if test "x$ac_cv_header_os2_h" = xyes; then :
- ADD_CPPFLAGS="$ADD_CPPFLAGS -DOS2"
-fi
-
-
-# On OS/2, we need to link to os2term to make terminal control actually work.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tcsetattr in -los2term" >&5
-$as_echo_n "checking for tcsetattr in -los2term... " >&6; }
-if ${ac_cv_lib_os2term_tcsetattr+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-los2term $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char tcsetattr ();
-int
-main ()
-{
-return tcsetattr ();
- ;
- return 0;
-}
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_OS2_H 1
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_os2term_tcsetattr=yes
-else
- ac_cv_lib_os2term_tcsetattr=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_os2term_tcsetattr" >&5
-$as_echo "$ac_cv_lib_os2term_tcsetattr" >&6; }
-if test "x$ac_cv_lib_os2term_tcsetattr" = xyes; then :
- ADD_LDFLAGS="$ADD_LDFLAGS -los2term"
+
fi
+done
+
# If debugging is enabled, just enable debugging symbols.
# All other stuff enters nagging territory.
@@ -17047,7 +17068,10 @@ output_modules=
check_forced=no
check_failed=no
if test "x$with_audio" != "x"; then
- check_modules="`echo $with_audio|tr , ' '` dummy"
+ check_modules=`echo $with_audio|tr , ' '`
+ if ! echo "$check_modules" | grep -qw dummy; then
+ check_modules="$check_modules dummy"
+ fi
echo "Limiting outputs to build according to your preference: $check_modules"
check_forced=yes
fi
@@ -18298,6 +18322,9 @@ done
;;
os2)
OS2_LIBS="-lcx -lmmpm2"
+ OS2_CFLAGS="-idirafter /@unixroot/usr/include/os2tk45"
+ oldcflags="$CFLAGS"
+ CFLAGS="$CFLAGS $OS2_CFLAGS"
for ac_header in os2.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "os2.h" "ac_cv_header_os2_h" "$ac_includes_default"
@@ -18319,6 +18346,7 @@ done
for ac_header in os2me.h
do :
ac_fn_c_check_header_compile "$LINENO" "os2me.h" "ac_cv_header_os2me_h" "#define INCL_OS2MM
+#undef VERSION
#define INCL_DOS
#define INCL_VIO
#define INCL_KBD
@@ -18343,6 +18371,7 @@ done
else
check_failed=yes
fi
+ CFLAGS="$oldcflags"
;;
# from here on only forced tests, untested code
(Patch may be truncated, please check the link at the top of this post.)