[Asterisk-bsd] Real usefullness of mpg123 dependency / rxfax note

Dr. Rich Murphey Rich at WhiteOakLabs.com
Thu Feb 23 12:05:41 MST 2006


Luigi Rizzo wrote:
> On Thu, Feb 23, 2006 at 07:54:39PM +0400, Vahan Yerkanian wrote:
>   
>> Greetings folks,
>>
>> I'd like to inquiry on how many of you are using the mpg123 on your 
>> FreeBSD Asterisk installations and how useful you think this dependency 
>> for the Asterisk port is? Personally for me, leaving MoH as it is per 
>> out-of-ports install causes mpg123 processes eat CPU 100% under FreeBSD 
>> 6.0... I've switched to native format MoH since 1.1 and haven't looked 
>> back for mpg123. Was wondering if we really want to have it installed as 
>> a dependency at all for the /usr/ports/net/asterisk. At least having a 
>> WITHOUT_MPG123 switch in the makefile could help us keep our port list 
>> as minimal as possible.
>>     
>
> if you try the asterisk-devel port, it does not have that and
> a few other dependencies, and it uses either the trunk code or
> a branch with some modifications of mine that i am using on
> FreeBSD.
>
> yes there is a problem with mpg123 because the parent (asterisk)
> process doesn't handle interaction with the children (mpg123)
> properly, at least on freebsd.
> a change was committed last summer, but backed out because it
> caused some problem on linux. i gave up on tracking the issue
> because i don't use mpg123 or moh anyways.
>
> cheers
> luigi
>
> p.s. we are now in a rather long ports freeze in freebsd so
> for the next couple of weeks there are basically no commits
> allowed to the ports tree
>
>   
If you see mpg123 consume 100% CPU upon
shutting down asterisk, this sounds like a
familiar symptom.

I recall looking at mpg123 and finding that
when asterisk exits and closes the pipe to
mpg123, mpg123 would not detect
that the pipe closed, but rather loop indefinitely
reading 0 bytes from the closed pipe.

Since it's possible for the pipe to close unexpectedly
I assumed that this was a bug in mpg123.

The (rather old) patch is here:
http://www.whiteoaklabs.com/code/patch-mpg123.c

The patch isn't present in the current mpg123 port
and should apply cleanly to the port.

cd /usr/ports/audio/mpg123/files
wget http://www.whiteoaklabs.com/code/patch-mpg123.c
cd /usr/ports/audio/mpg123
make deinstall
make reinstall

Does that fix it?

Cheers,
Rich



More information about the Asterisk-BSD mailing list