audio/sox update

Jan Stary hans at stare.cz
Tue Jan 24 08:38:20 PST 2012


On Jan 24 10:17:31, Arno Hautala wrote:
> On Tue, Jan 24, 2012 at 05:45, Jan Stary <hans at stare.cz> wrote:
> > - drops the dependency on ffmpeg, which in turn depends on the
> >  whole xorg-* world, thus turning a neat little audio app into
> >  a monstrous dependency hog; the ffmpeg build is left as a variant
> 
> If you do a search for "macports ffmpeg xorg" or "macports ffmpeg x11"
> you'll see some discussion on trac about this. The issue is that
> ffmpeg depends on dirac

Yes.

$ port deps ffmpeg
Full Name: ffmpeg @0.7.8_0
Build Dependencies:   pkgconfig, gmake, texi2html, yasm
Library Dependencies: lame, libvorbis, libogg, libtheora, dirac,
schroedinger, openjpeg, speex, XviD, x264, libvpx, libsdl, bzip2, zlib

> which depends on texlive etc. etc. In the end,
> variants have already been added to dirac and its deps to disable x11.

No; dirac only depends on cppunit.
(Why would a video codec depend on a typesetting system?)

$ port deps dirac
Full Name: dirac @1.0.2_1
Library Dependencies: cppunit

> I think dropping the default dependency on ffmpeg isn't the right
> thing to do here. You can already drop the xorg world by modifying the
> variants of ffmpeg deps, so at most I'd think you'd want to add a
> variant that removes the ffmpeg dep (+no_ffmpeg).
> 
> To save some hassle in managing things on the user end, you can add
> "+no_x11" to your ${prefix}/etc/macports/variants.conf

I have looked further into the ffmpeg functionality of SoX;
now I want to remove ffmpeg support altogether.

Compiling ffmpeg into SoX means dependency on
/opt/local/lib/libavformat.dylib
/opt/local/lib/libavcodec.dylib
/opt/local/lib/libavutil.dylib
(obviously), and the added support for the following
file formats, as reported by SoX itself:

m4a
m4b
mp4
mpg
wmv

I tried converting a standard wav into each of these;
none of them actually works.

$ sox -r 44100 -b 16 -c 2 -n file.wav trim 0 10

$ sox file.wav file.m4a
[ipod @ 0x280ce00] Codec for stream 0 does not use global headers but
container format requires global headers
Bus error


$ sox file.wav file.m4b
sox WARN ffmpeg: ffmpeg could not deduce output format from file extension; using MPEG
[mpeg @ 0x280ce00] buffer underflow i=0 bufi=339 size=836
[mpeg @ 0x280ce00] buffer underflow i=0 bufi=704 size=836
hans at mac:~$ soxi file.m4b
[mpeg @ 0x280be00] Format mpeg detected only with low score of 25,
misdetection possible!

Input File     : 'file.m4b'
Channels       : 2
Sample Rate    : 44100
Precision      : 16-bit
Sample Encoding: 16-bit Signed Integer PCM

- the output file is broken.


$ sox file.wav file.mp4
[mp4 @ 0x280ce00] Codec for stream 0 does not use global headers but
container format requires global headers
Bus error


$ sox file.wav file.mpg
[mpeg @ 0x280ce00] buffer underflow i=0 bufi=339 size=836
[mpeg @ 0x280ce00] buffer underflow i=0 bufi=704 size=836
hans at mac:~$ soxi file.mpg
[mpeg @ 0x280be00] Format mpeg detected only with low score of 25,
misdetection possible!

Input File     : 'file.mpg'
Channels       : 2
Sample Rate    : 44100
Precision      : 16-bit
Sample Encoding: 16-bit Signed Integer PCM

- the output file is broken.


$ sox file.wav file.wmv
[asf @ 0x280ce00] Codec for stream 0 does not use global headers but
container format requires global headers
hans at mac:~$ soxi file.wmv

Input File     : 'file.wmv'
Channels       : 2
Sample Rate    : 44100
Precision      : 16-bit
Sample Encoding: 16-bit Signed Integer PCM

- the output file is broken.


So I don't think ffmpeg brings anything usefull to SoX.
If anyone is using it successfully, please report.

What does the maintainer think?


> In general, it'd be useful to see your changes as a unified diff (diff
> -u) from the current Portfile. It'd also probably be best to file an
> issue on trac and then post a message here, to bring it to wider
> attention, if you don't see any movement or comments on the trac
> issue.

Yes.

I come from OpenBSD, where the ports mailing list is the main
communication channels. But I have actually read the Guide since,
and have posted a TRAC ticket with the diff:

https://trac.macports.org/ticket/33004

	Jan



More information about the macports-users mailing list