Re: [patch v2] external MPEG audio decoding using libmpg123

Elio Blanca via Lame-dev <[email protected]> Sat, 15 Sep 2018 00:57:10 +0200
Newsgroups gmane.comp.audio.mp3.lame
Message-ID <20180915005710.67d844e2@hp-home>
I just tried this script:


#!/bin/sh
set -e
workdir=$(mktemp -d -t lametest.XXXXX)
echo "working directory: $workdir"
cd $workdir
# creates mpg123-$TIMESTAMP.tar.bz2
# Alternatively, fetch svn://scm.orgis.org/mpg123/trunk and
# run `autoreconf -iv` there.
wget --content-disposition https://mpg123.org/snapshot
tar -xf mpg123-*.tar.bz2
cd mpg123-*/
./configure --prefix=$workdir/mpg123
make -j3
make install
cd $workdir
wget https://mpg123.org/test/lame-svn-r6432-libmpg123.patch
svn co https://svn.code.sf.net/p/lame/svn/trunk/lame lame
cd lame
patch -Np0 < ../lame-svn-r6432-libmpg123.patch
autoreconf
# gnu89 needed for mp3x, with gtk1
# If you do not care, remove --enable-mp3x.
#CFLAGS="-std=gnu89 $CFLAGS" \
PKG_CONFIG_PATH=$workdir/mpg123/lib/pkgconfig:$PKG_CONFIG_PATH \
./configure --enable-libmpg123
make -j3
pwd
# Now test things in frontend/

(it is basically the same as you provided, only skipped mp3x)
and the build process completed just fine.
The only remark being a bunch of warning reported during autoreconf:


aclocal: warning: autoconf input should be named 'configure.ac', not
'configure.in' automake: warning: autoconf input should be named
'configure.ac', not 'configure.in' configure.in:1248: warning:
'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
configure.in:1248: warning: 'INCLUDES' is the old name for
'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.in:1248: warning: 'INCLUDES'
is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.in:1248:
warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
configure.in:1248: warning: 'INCLUDES' is the old name for
'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.in:1248: warning: 'INCLUDES'
is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.in:1248:
warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
configure.in:1248: warning: 'INCLUDES' is the old name for
'AM_CPPFLAGS' (or '*_CPPFLAGS') automake: warning: autoconf input
should be named 'configure.ac', not 'configure.in' configure.in:1248:
warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
configure.in:1248: warning: 'INCLUDES' is the old name for
'AM_CPPFLAGS' (or '*_CPPFLAGS') frontend/Makefile.am:41: warning:
'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
configure.in:1248: warning: 'INCLUDES' is the old name for
'AM_CPPFLAGS' (or '*_CPPFLAGS') libmp3lame/Makefile.am:28: warning:
'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
libmp3lame/i386/Makefile.am:28: warning: 'INCLUDES' is the old name for
'AM_CPPFLAGS' (or '*_CPPFLAGS') libmp3lame/vector/Makefile.am:12:
warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
configure.in:1248: warning: 'INCLUDES' is the old name for
'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.in:1248: warning: 'INCLUDES'
is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.in:1248:
warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
configure.in:1248: warning: 'INCLUDES' is the old name for
'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.in:1248: warning: 'INCLUDES'
is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
mpglib/Makefile.am:5: warning: 'INCLUDES' is the old name for
'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.in:1248: warning: 'INCLUDES'
is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')


but maybe they're not so relevant.
The blocking point raised at decoding, when I run:

topolinik@hp-home:/tmp/lametest.nA5WS/lame/frontend$ ./lame --verbose
--decode ~/Scrivania/Giovanni\ Sarani/GiovanniSarani-Liminale.mp3
output_1.wav
Error opening MPEG input
file /home/topolinik/Scrivania/Giovanni
Sarani/GiovanniSarani-Liminale.mp3. Can't init infile
'/home/topolinik/Scrivania/Giovanni Sarani/GiovanniSarani-Liminale.mp3'

In order to make sure about what I was running, I did:

topolinik@hp-home:/tmp/lametest.nA5WS/lame/frontend$ ldd lame
	linux-vdso.so.1 =>  (0x00007ffc799b2000)
	libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5
(0x00007f699548b000) libmpg123.so.0
=> /tmp/lametest.nA5WS/mpg123/lib/libmpg123.so.0 (0x00007f6995224000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6994f1b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6994b51000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
(0x00007f699494d000) /lib64/ld-linux-x86-64.so.2 (0x00007f69956b4000)

which confirms lame is built with newest mpg123.
Anyway, I can't get more details from the frontend and I can't
understand why this happens. Older vanilla lame builds can open and
decode that same file.
Feel free to ask for more details,

Elio




Il giorno Sun, 29 Jul 2018 11:26:06 +0200
Thomas Orgis <[email protected]> ha scritto:

> Am Mon, 28 May 2018 23:59:55 +0200
> schrieb Thomas Orgis <[email protected]>: 
> 
> > Please see the attached updated patch.  
> 
> Ping?
>