Hello community,
here is the log from the commit of package mpg123 for openSUSE:Factory checked in at 2017-09-29 11:53:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mpg123 (Old)
and /work/SRC/openSUSE:Factory/.mpg123.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mpg123"
Fri Sep 29 11:53:14 2017 rev:8 rq:529118 version:1.25.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/mpg123/mpg123.changes 2017-08-12 20:19:43.938835385 +0200
+++ /work/SRC/openSUSE:Factory/.mpg123.new/mpg123.changes 2017-09-29 11:53:25.899340655 +0200
@@ -1,0 +2,25 @@
+Tue Sep 26 17:34:59 UTC 2017 - zaitor@opensuse.org
+
+- Drop pkgconfig(esound) BuildRequires and mpg123-esound
+ sub-package, esound is a long obsoleted sound server.
+
+-------------------------------------------------------------------
+Tue Sep 26 08:52:53 UTC 2017 - aloisio@gmx.com
+
+- Update to version 1.25.7
+ mpg123:
+ * Do not play with cursor and inverse video for progress bar
+ when TERM=dumb.
+ * Fix parsing of host port for numerical IPv6 addresses (just did
+ not work before, only for textual host names).
+ libmpg123:
+ * Proper fix for the xrpnt overflow problems by correctly
+ initialising certain tables for MPEG 2.x layer III. The checks
+ that catch the resulting overflow are still in place, but
+ likely superfluous now. Note that this means certain valid
+ files would have been misdecoded before, if anyone actually
+ produced them. Thanks to Robert Hegemann for the fix!
+ * Silently handle granules with part2_3_length == 0, but
+ scalefac_compress != 0 (ignore the latter).
+
+-------------------------------------------------------------------
Old:
----
mpg123-1.25.6.tar.bz2
mpg123-1.25.6.tar.bz2.sig
New:
----
mpg123-1.25.7.tar.bz2
mpg123-1.25.7.tar.bz2.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mpg123.spec ++++++
--- /var/tmp/diff_new_pack.10W3Oc/_old 2017-09-29 11:53:28.450980844 +0200
+++ /var/tmp/diff_new_pack.10W3Oc/_new 2017-09-29 11:53:28.454980280 +0200
@@ -17,7 +17,7 @@
Name: mpg123
-Version: 1.25.6
+Version: 1.25.7
Release: 0
Summary: Console MPEG audio player and decoder library
License: LGPL-2.1
@@ -30,7 +30,6 @@
BuildRequires: pkgconfig
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(ao)
-BuildRequires: pkgconfig(esound)
BuildRequires: pkgconfig(jack)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(openal)
@@ -57,6 +56,7 @@
%package -n libmpg123-0
Summary: MPEG audio decoder library
Group: System/Libraries
+Obsoletes: mpg123-esound >= 1.25.7
%description -n libmpg123-0
MPEG 1.0/2.0/2.5 audio decoder library for layers 1, 2 and 3 (most
@@ -71,19 +71,6 @@
layers 1,2 and 3 (most commonly MPEG 1.0 layer 3 aka MP3), as well as re-usable decoding
and output libraries.
-%package esound
-Summary: Esound GNOME Sound System Daemon Support for %{name}
-Group: Productivity/Multimedia/Sound/Players
-Supplements: esound-daemon
-
-%description esound
-The mpg123 distribution contains a real time MPEG 1.0/2.0/2.5 audio player/decoder for
-layers 1,2 and 3 (most commonly MPEG 1.0 layer 3 aka MP3), as well as re-usable decoding
-and output libraries.
-
-This package contains the plugin for esound (the GNOME sound system daemon)
-output support.
-
%package openal
Summary: OpenAL Support for %{name}
Group: Productivity/Multimedia/Sound/Players
@@ -193,10 +180,6 @@
%{_includedir}/mpg123.h
%{_includedir}/out123.h
-%files esound
-%defattr(-,root,root)
-%{_libdir}/%{name}/output_esd.so
-
%files pulse
%defattr(-,root,root)
%{_libdir}/%{name}/output_pulse.so
++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.10W3Oc/_old 2017-09-29 11:53:28.490975204 +0200
+++ /var/tmp/diff_new_pack.10W3Oc/_new 2017-09-29 11:53:28.494974641 +0200
@@ -4,7 +4,6 @@
-requires mpg123-<targettype>
requires "libmpg123-0-<targettype>"
requires "libout123-0-<targettype>"
-mpg123-esound
mpg123-jack
mpg123-openal
mpg123-portaudio
++++++ mpg123-1.25.6.tar.bz2 -> mpg123-1.25.7.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpg123-1.25.6/NEWS new/mpg123-1.25.7/NEWS
--- old/mpg123-1.25.6/NEWS 2017-08-11 09:29:15.000000000 +0200
+++ new/mpg123-1.25.7/NEWS 2017-09-25 23:28:08.000000000 +0200
@@ -1,3 +1,20 @@
+1.25.7
+------
+- mpg123:
+-- Do not play with cursor and inverse video for progress bar
+ when TERM=dumb.
+-- Fix parsing of host port for numerical IPv6 addresses (just did
+ not work before, only for textual host names).
+- libmpg123:
+-- Proper fix for the xrpnt overflow problems by correctly
+ initialising certain tables for MPEG 2.x layer III. The checks that
+ catch the resulting overflow are still in place, but likely superfluous
+ now. Note that this means certain valid files would have been misdecoded
+ before, if anyone actually produced them. Thanks to Robert Hegemann for
+ the fix!
+-- Silently handle granules with part2_3_length == 0, but
+ scalefac_compress != 0 (ignore the latter).
+
1.25.6
------
- Hotfix for bug 255: Overflow reading frame data bits in layer II decoding.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpg123-1.25.6/configure new/mpg123-1.25.7/configure
--- old/mpg123-1.25.6/configure 2017-08-11 09:30:00.000000000 +0200
+++ new/mpg123-1.25.7/configure 2017-08-23 14:47:40.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for mpg123 1.25.6.
+# Generated by GNU Autoconf 2.69 for mpg123 1.25.7.
#
# Report bugs to .
#
@@ -590,8 +590,8 @@
# Identity of this package.
PACKAGE_NAME='mpg123'
PACKAGE_TARNAME='mpg123'
-PACKAGE_VERSION='1.25.6'
-PACKAGE_STRING='mpg123 1.25.6'
+PACKAGE_VERSION='1.25.7'
+PACKAGE_STRING='mpg123 1.25.7'
PACKAGE_BUGREPORT='maintainer@mpg123.org'
PACKAGE_URL=''
@@ -1567,7 +1567,7 @@
# 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.25.6 to adapt to many kinds of systems.
+\`configure' configures mpg123 1.25.7 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1637,7 +1637,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of mpg123 1.25.6:";;
+ short | recursive ) echo "Configuration of mpg123 1.25.7:";;
esac
cat <<\_ACEOF
@@ -1863,7 +1863,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-mpg123 configure 1.25.6
+mpg123 configure 1.25.7
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2469,7 +2469,7 @@
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.25.6, which was
+It was created by mpg123 $as_me 1.25.7, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2822,7 +2822,7 @@
API_VERSION=44
-LIB_PATCHLEVEL=5
+LIB_PATCHLEVEL=6
OUTAPI_VERSION=2
OUTLIB_PATCHLEVEL=1
@@ -3425,7 +3425,7 @@
# Define the identity of the package.
PACKAGE='mpg123'
- VERSION='1.25.6'
+ VERSION='1.25.7'
cat >>confdefs.h <<_ACEOF
@@ -20241,7 +20241,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by mpg123 $as_me 1.25.6, which was
+This file was extended by mpg123 $as_me 1.25.7, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -20307,7 +20307,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-mpg123 config.status 1.25.6
+mpg123 config.status 1.25.7
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpg123-1.25.6/configure.ac new/mpg123-1.25.7/configure.ac
--- old/mpg123-1.25.6/configure.ac 2017-08-11 09:29:23.000000000 +0200
+++ new/mpg123-1.25.7/configure.ac 2017-08-23 14:43:11.000000000 +0200
@@ -8,12 +8,12 @@
AC_PREREQ(2.57)
dnl ############# Initialisation
-AC_INIT([mpg123], [1.25.6], [maintainer@mpg123.org])
+AC_INIT([mpg123], [1.25.7], [maintainer@mpg123.org])
dnl Increment API_VERSION when the API gets changes (new functions).
dnl libmpg123
API_VERSION=44
-LIB_PATCHLEVEL=5
+LIB_PATCHLEVEL=6
dnl libout123
OUTAPI_VERSION=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpg123-1.25.6/mpg123.spec new/mpg123-1.25.7/mpg123.spec
--- old/mpg123-1.25.6/mpg123.spec 2017-08-11 09:30:13.000000000 +0200
+++ new/mpg123-1.25.7/mpg123.spec 2017-08-23 16:01:08.000000000 +0200
@@ -3,7 +3,7 @@
# - devel packages for alsa, sdl, etc... to build the respective output modules.
Summary: The fast console mpeg audio decoder/player.
Name: mpg123
-Version: 1.25.6
+Version: 1.25.7
Release: 1
URL: http://www.mpg123.org/
License: GPL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpg123-1.25.6/src/common.c new/mpg123-1.25.7/src/common.c
--- old/mpg123-1.25.6/src/common.c 2017-08-11 09:28:58.000000000 +0200
+++ new/mpg123-1.25.7/src/common.c 2017-08-23 16:14:27.000000000 +0200
@@ -29,6 +29,29 @@
int stopped = 0;
int paused = 0;
+static int term_is_fun = -1;
+
+int term_have_fun(int fd)
+{
+ if(term_is_fun > -1)
+ return term_is_fun;
+ else
+ term_is_fun = 0;
+#ifdef HAVE_TERMIOS
+ if(term_width(fd) > 0 && param.term_visual)
+ {
+ /* Only play with non-dumb terminals. */
+ char *tname = compat_getenv("TERM");
+ if(tname)
+ {
+ if(strcmp(tname, "dumb"))
+ term_is_fun = 1;
+ free(tname);
+ }
+ }
+#endif
+ return term_is_fun;
+}
/* Also serves as a way to detect if we have an interactive terminal. */
int term_width(int fd)
@@ -382,6 +405,7 @@
if(maxlen > 0)
memset(line+len, ' ', linelen-len);
#ifdef HAVE_TERMIOS
+ draw_bar = draw_bar && term_have_fun(STDERR_FILENO);
/* Use inverse color to draw a progress bar. */
if(maxlen > 0 && draw_bar)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpg123-1.25.6/src/common.h new/mpg123-1.25.7/src/common.h
--- old/mpg123-1.25.6/src/common.h 2017-08-11 09:28:58.000000000 +0200
+++ new/mpg123-1.25.7/src/common.h 2017-08-23 14:06:39.000000000 +0200
@@ -15,6 +15,9 @@
extern int stopped;
extern int paused;
+/* Return non-zero if full terminal fun is desired/possible. */
+int term_have_fun(int fd);
+
/* Return width of terminal associated with given descriptor,
-1 when there is none. */
int term_width(int fd);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpg123-1.25.6/src/libmpg123/getbits.h new/mpg123-1.25.7/src/libmpg123/getbits.h
--- old/mpg123-1.25.6/src/libmpg123/getbits.h 2017-08-11 09:29:15.000000000 +0200
+++ new/mpg123-1.25.7/src/libmpg123/getbits.h 2017-09-22 08:55:15.000000000 +0200
@@ -45,6 +45,7 @@
fprintf(stderr,"g%d",number_of_bits);
#endif
/* Safety catch until we got the nasty code fully figured out. */
+ /* No, that catch stays here, even if we think we got it figured out! */
if( (long)(fr->wordpointer-fr->bsbuf)*8
+ fr->bitindex+number_of_bits > (long)fr->framesize*8 )
return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpg123-1.25.6/src/libmpg123/layer3.c new/mpg123-1.25.7/src/libmpg123/layer3.c
--- old/mpg123-1.25.6/src/libmpg123/layer3.c 2017-08-11 09:28:59.000000000 +0200
+++ new/mpg123-1.25.7/src/libmpg123/layer3.c 2017-09-22 23:43:05.000000000 +0200
@@ -280,10 +280,12 @@
int *mp;
int cb,lwin;
const unsigned char *bdf;
+ int switch_idx;
mp = map[j][0] = mapbuf0[j];
bdf = bi->longDiff;
- for(i=0,cb = 0; cb < 8 ; cb++,i+=*bdf++)
+ switch_idx = (j < 3) ? 8 : 6;
+ for(i=0,cb = 0; cb < switch_idx ; cb++,i+=*bdf++)
{
*mp++ = (*bdf) >> 1;
*mp++ = i;
@@ -465,8 +467,14 @@
}
gr_info->pow2gain = fr->gainpow2+256 - getbits_fast(fr, 8) + powdiff;
if(ms_stereo) gr_info->pow2gain += 2;
-
gr_info->scalefac_compress = getbits(fr, tab[4]);
+ if(gr_info->part2_3_length == 0)
+ {
+ if(gr_info->scalefac_compress > 0)
+ debug1( "scalefac_compress _should_ be zero instead of %i"
+ , gr_info->scalefac_compress );
+ gr_info->scalefac_compress = 0;
+ }
if(get1bit(fr))
{ /* window switch flag */
@@ -553,6 +561,14 @@
int num0 = slen[0][gr_info->scalefac_compress];
int num1 = slen[1][gr_info->scalefac_compress];
+ if(gr_info->part2_3_length == 0)
+ {
+ int i;
+ for(i=0;i<39;i++)
+ *scf++ = 0;
+ return 0;
+ }
+
if(gr_info->block_type == 2)
{
int i=18;
@@ -667,6 +683,14 @@
pnt = stab[n][(slen>>12)&0x7];
+ if(gr_info->part2_3_length == 0)
+ {
+ int i;
+ for(i=0;i<39;i++)
+ *scf++ = 0;
+ return 0;
+ }
+
for(i=0;i<4;i++)
{
int num = slen & 0x7;
@@ -680,7 +704,7 @@
else
for(j=0;j<(int)(pnt[i]);j++) *scf++ = 0;
}
-
+
n = (n << 1) + 1;
for(i=0;ipart2_3_length > 0)
+ {
+
/* mhipp tree has this split up a bit... */
int num=getbitoffset(fr);
MASK_TYPE mask;
@@ -1197,6 +1227,18 @@
backbits(fr, num);
num = 0;
+ }
+ else
+ {
+ part2remain = 0;
+ /* Not entirely sure what good values are, must be > 0. */
+ gr_info->maxband[0] =
+ gr_info->maxband[1] =
+ gr_info->maxband[2] =
+ gr_info->maxbandl = 0;
+ gr_info->maxb = 1;
+ }
+
while(xrpnt < &xr[SBLIMIT][0])
*xrpnt++ = DOUBLE_TO_REAL(0.0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpg123-1.25.6/src/mpg123.c new/mpg123-1.25.7/src/mpg123.c
--- old/mpg123-1.25.6/src/mpg123.c 2017-08-11 09:28:59.000000000 +0200
+++ new/mpg123-1.25.7/src/mpg123.c 2017-08-23 14:50:04.000000000 +0200
@@ -64,7 +64,8 @@
NULL, /* output device */
0, /* destination (headphones, ...) */
#ifdef HAVE_TERMIOS
- FALSE , /* term control */
+ FALSE, /* term control */
+ TRUE, /* term visuals */
MPG123_TERM_USR1,
MPG123_TERM_USR2,
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpg123-1.25.6/src/mpg123app.h new/mpg123-1.25.7/src/mpg123app.h
--- old/mpg123-1.25.6/src/mpg123app.h 2017-08-11 09:28:59.000000000 +0200
+++ new/mpg123-1.25.7/src/mpg123app.h 2017-08-23 14:06:39.000000000 +0200
@@ -57,6 +57,7 @@
long output_flags; /* out123 flags */
#ifdef HAVE_TERMIOS
int term_ctrl;
+ int term_visual;
/* Those are supposed to be single characters. */
char* term_usr1;
char* term_usr2;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpg123-1.25.6/src/resolver.c new/mpg123-1.25.7/src/resolver.c
--- old/mpg123-1.25.6/src/resolver.c 2017-08-11 09:28:58.000000000 +0200
+++ new/mpg123-1.25.7/src/resolver.c 2017-09-04 01:51:39.000000000 +0200
@@ -42,6 +42,9 @@
{
size_t pos = 0; /* current position in input URL */
size_t pos2 = 0; /* another position in input URL */
+#ifdef IPV6
+ size_t pos3 = 0; /* yet another (for IPv6 port) */
+#endif
char *part = NULL; /* a part of url we work on */
int ret = TRUE; /* return code */
/* Zeroing the output strings; not freeing to avoid unnecessary mallocs. */
@@ -92,16 +95,22 @@
if( (part = strchr(url->p+pos,']')) != NULL)
{
pos2 = part-url->p;
+ pos3 = pos2+1; /* : after ] */
}
else { error("Malformed IPv6 URL!"); return FALSE; }
}
else
+ {
#endif
for(pos2=pos; pos2 < url->fill-1; ++pos2)
{
char a = url->p[pos2];
if( a == ':' || a == '/') break;
}
+#ifdef IPV6
+ pos3 = pos2;
+ }
+#endif
/* At pos2 there is now either a delimiter or the end. */
debug4("hostname between %lu and %lu, %lu chars of %s", (unsigned long)pos, (unsigned long)pos2, (unsigned long)(pos2-pos), url->p + pos);
if(host != NULL && !mpg123_set_substring(host, url->p, pos, pos2-pos))
@@ -109,7 +118,11 @@
error("Cannot set host string (out of mem?).");
return FALSE;
}
+#ifdef IPV6
+ pos = pos3; /* Look after ], if present. */
+#else
pos = pos2;
+#endif
/* Now for the port... */
if(url->p[pos] == ':')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpg123-1.25.6/src/term.c new/mpg123-1.25.7/src/term.c
--- old/mpg123-1.25.6/src/term.c 2017-08-11 09:28:59.000000000 +0200
+++ new/mpg123-1.25.7/src/term.c 2017-08-23 16:15:19.000000000 +0200
@@ -109,7 +109,7 @@
const char hide_cursor[] = "\x1b[?25l";
debug("term_init");
- if(term_width(STDERR_FILENO) >= 0)
+ if(term_have_fun(STDERR_FILENO))
write(STDERR_FILENO, hide_cursor, sizeof(hide_cursor));
debug1("param.term_ctrl: %i", param.term_ctrl);
@@ -550,7 +550,7 @@
{
const char cursor_restore[] = "\x1b[?25h";
/* Bring cursor back. */
- if(term_width(STDERR_FILENO) >= 0)
+ if(term_have_fun(STDERR_FILENO))
write(STDERR_FILENO, cursor_restore, sizeof(cursor_restore));
if(!term_enable) return;