asterisk/contrib/utils
Tilghman Lesher fd15274898 Add contributed EAGI proxy, which provides FastAGI functionality for EAGI, while also
buffering the audio stream.
Reported by: devil_slayer
Patch by: devil_slayer
Closes issue #8921


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-07 01:08:31 +00:00
..
README.rawplayer remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00
eagi_proxy.c Add contributed EAGI proxy, which provides FastAGI functionality for EAGI, while also 2007-11-07 01:08:31 +00:00
rawplayer.c catch read/write errors and exit if they occur (issue #6721) 2006-03-14 16:10:44 +00:00
zones2indications.c rename the structs struct tone_zone_sound and struct tone_zone 2006-12-25 06:38:09 +00:00

README.rawplayer

rawplayer is a simple C applet to stream raw music files in place of mpg123

INSTALL

compile the .c file and install:
gcc -O2 rawplayer.c -o /usr/bin/rawplayer



Converting MP3 to RAW

Make track01.mp3 into track01.raw with sox (if compiled with mp3 support).
sox -c 1 track01.mp3 -t raw -r 8000 -c 1 -s -w track01.raw

Otherwise, use whatever app to turn track01.mp3 into track01.wav then use sox on the wav.
sox -c 1 track01.wav -t raw -r 8000 -c 1 -s -w track01.raw


Once you have the raw files put them in any dir on your system (eg /var/lib/asterisk/holdmusic_raw).
and set up a class in musiconhold.conf like so:

[classes]
default => custom:/var/lib/asterisk/holdmusic_raw,/usr/bin/rawplayer


This is the most efficient way to implement moh because no cpu usage is required to 
explode the very compressed mp3 data then downsample the music to the 8khz mono on the fly
instead the data is already stored on the disk in the format that asterisk needs it to be 
and the player does little more than pick up frames from the file and hand them to right 
to the asterisk pipe where the audio is shared into all the channels who require it.


If you have cpu to spare and want a simple mp3 solution consider the format_mp3 from
asterisk-addons and the files based moh.