[Asterisk-Users] Why does * only work with an ancient mpg123?

Remco Barende asterisk at barendse.to
Mon Dec 20 13:44:01 MST 2004


On Mon, 20 Dec 2004, Eric Wieling aka ManxPower wrote:

> Remco Barende wrote:
>> Hi list!
>> 
>> Just wondering, why is * sticking with an mpg123 version from the 
>> stoneage?
>> 
>> Gentoo comes with 0.59s-r8 and this version doesn't even start.
>> 
>> Ik know I could forcibly unmerge mpg123 and install the old version but I 
>> guess some day newer versions will have to be supported?
>
> Asterisk sets the following mpg123 options:
>
> "mpg123 -q -s --mono -r 8000 -b 2048 -f 4096"
>
> -q, --quiet  Quiet.  Suppress diagnostic messages.
>
> -s, --stdout  The decoded  audio  samples  are  written  to  standard output, 
> instead  of  playing them through the audio device.  This option
> must be used if your audio hardware is not supported by  mpg123.
> The  output format is raw (headerless) linear PCM audio data, 16
> bit, stereo, host byte order.
>
> -r rate, --rate rate  Set sample rate (default: automatic).  You may want  to 
> change this  if  you  need  a  constant  bitrate independed of the mpeg 
> stream rate. mpg123 automagically converts the rate. You should then combine 
> this with --stereo or --mono.
>
> -b size, --buffer size  Use an audio output buffer of size Kbytes.  This  is 
> useful  to bypass  short periods of heavy system activity, which would 
> normally cause the audio output  to  be  interrupted.   You should specify  a 
> buffer size of at least 1024 (i.e. 1 Mb, which equals about 6 seconds of 
> audio data) or more; less than about 300 does not make  much  sense.  The 
> default is 0, which turns buffering off.
>
> -f factor, --scale factor  Change scale factor (default: 32768).
>
> Pretty much any program that accepts these options to generate raw 
> (headerless) linear PCM audio data, 16 bit, mono, host byte order, at 8khz to 
> stdout will work.  At this time the only one that does this that I know is 
> mpg123 0.59r

Thanks! But when I look at the output of mpg123 0.59s-r8 all these 
commandline switches are still supported, why it it only the old version 
that is supported, not the newer ones?


asterisk # mpg123
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59s-r8 (2000/Oct/27). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!

usage: mpg123 [option(s)] [file(s) | URL(s) | -]
supported options [defaults in brackets]:
    -v    increase verbosity level       -q    quiet (don't print title)
    -t    testmode (no output)           -s    write to stdout
    -w <filename> write Output as WAV file
    -k n  skip first n frames [0]        -n n  decode only n frames [all]
    -c    check range violations         -y    DISABLE resync on errors
    -b n  output buffer: n Kbytes [0]    -f n  change scalefactor [32768]
    -r n  set/force samplerate [auto]    -g n  set audio hardware output 
gain
    -os,-ol,-oh  output to built-in speaker,line-out connector,headphones
                                         -a d  set audio device
    -2    downsample 1:2 (22 kHz)        -4    downsample 1:4 (11 kHz)
    -d n  play every n'th frame only     -h n  play every frame n times
    -0    decode channel 0 (left) only   -1    decode channel 1 (right) 
only
    -m    mix both channels (mono)       -p p  use HTTP proxy p 
[$HTTP_PROXY]
    -@ f  read filenames/URLs from f
    -z    shuffle play (with wildcards)  -Z    random play
    -u a  HTTP authentication string     -E f  Equalizer, data from file
See the manpage mpg123(1) or call mpg123 with --longhelp for more 
information.




More information about the asterisk-users mailing list