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 <maintainer@mpg123.org>. # @@ -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;i<n;i++) *scf++ = 0; @@ -735,6 +759,12 @@ int gainpow2_scale_idx = 378; #endif + /* Assumption: If there is some part2_3_length at all, there should be + enough of it to work with properly. In case of zero length we silently + zero things. */ + if(gr_info->part2_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;
participants (1)
-
root@hilbert.suse.de