From blank@uni-trier.de  Fri Jun  9 07:42:29 2000
Return-Path: <blank@uni-trier.de>
Received: from rzmail.uni-trier.de (dns.uni-trier.de [136.199.8.101])
	by hub.freebsd.org (Postfix) with ESMTP id 1602737C1DA
	for <FreeBSD-gnats-submit@freebsd.org>; Fri,  9 Jun 2000 07:42:28 -0700 (PDT)
	(envelope-from blank@uni-trier.de)
Received: from blank.uni-trier.de (rzppp-23.uni-trier.de [136.199.4.23])
	by rzmail.uni-trier.de (8.9.3+Sun/8.9.3) with ESMTP id QAA25796
	for <FreeBSD-gnats-submit@freebsd.org>; Fri, 9 Jun 2000 16:42:25 +0200 (MET DST)
Received: by blank.uni-trier.de (Postfix, from userid 1000)
	id 8E0DE5F36; Fri,  9 Jun 2000 14:31:09 +0200 (CEST)
Message-Id: <20000609123109.8E0DE5F36@blank.uni-trier.de>
Date: Fri,  9 Jun 2000 14:31:09 +0200 (CEST)
From: blank@uni-trier.de (Sascha Blank)
Reply-To: blank@uni-trier.de (Sascha Blank)
To: FreeBSD-gnats-submit@freebsd.org
Subject: xmms-1.0.1: patch to make equalizer work
X-Send-Pr-Version: 3.2

>Number:         19141
>Category:       ports
>Synopsis:       patch to make equalizer finally work in xmms-1.0.1
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jun 09 07:50:00 PDT 2000
>Closed-Date:    Fri Jun 16 07:18:54 PDT 2000
>Last-Modified:  Fri Jun 16 07:19:22 PDT 2000
>Originator:     Sascha Blank
>Release:        FreeBSD 4.0-STABLE i386
>Organization:
>Environment:

My configuration:

- FreeBSD 4.0-STABLE/i386 system current as of Thursday, June 6th 2000.
- the xmms-1.0.1 port from /usr/ports/audio/xmms.
- SoundBlaster 128/PCI soundcard.
- the pcm drivers that come with FreeBSD by default.
- "gcc version 2.95.2 19991024 (release)" as it comes with the base system.
- "-O -pipe -march=i586" as my default optimization flags.

>Description:

XMMS can optionally pipe its audio output through an equalizer to enhance 
sound quality.  But as soon as you turn the equalizer on the audio output stops
and no longer resumes until you turn it off again.  This can be reliably
reproduced and in fact other users have reported that too.

The problem is created by the following line (line 4896) in the "./configure"
script that adds even more optimization flags to those which are already given
by CFLAGS:

CFLAGS="$CFLAGS -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math"

The -funroll-all-loops makes our version of gcc produce incorrect code for the
module "Input/mpg123" which results in the problem described above; so far I
haven't investigated further on which file actually produces the incorrect
code.  When I remove that flag from "Input/mpg123/Makefile" and recompile xmms
again, the problem is gone: the equalizer works again.

>How-To-Repeat:

Try switching the equalizer on and off, wait for about three to five seconds
and listen how the sound vanishes and reappears.

>Fix:

The file attached contains a new patch called "patch-ad" that will explicitely
turn of loop-unrolling optimization.  Save it under
/usr/ports/audio/xmms/patches and recompile xmms.

>Release-Note:
>Audit-Trail:

From: Will Andrews <andrews@technologist.com>
To: Sascha Blank <blank@uni-trier.de>
Cc: FreeBSD-gnats-submit@FreeBSD.ORG
Subject: Re: ports/19141: xmms-1.0.1: patch to make equalizer work
Date: Fri, 9 Jun 2000 11:20:28 -0400

 On Fri, Jun 09, 2000 at 02:31:09PM +0200, Sascha Blank wrote:
 > >Synopsis:       patch to make equalizer finally work in xmms-1.0.1
 
 A patch like this really ought to be reported to the xmms people, not to
 us.  However, since it is something simple as you've specified, we can
 implement a temporary patch in the meantime.  PLEASE: report this
 problem to xmms people, and since you have a fix, I'm sure they, by all
 means, will be happy to implement it!
 
 -- 
 Will Andrews <andrews@technologist.com>
 GCS/E/S @d- s+:+>+:- a--->+++ C++ UB++++ P+ L- E--- W+++ !N !o ?K w---
 ?O M+ V-- PS+ PE++ Y+ PGP+>+++ t++ 5 X++ R+ tv+ b++>++++ DI+++ D+ 
 G++>+++ e->++++ h! r-->+++ y?
 
State-Changed-From-To: open->closed 
State-Changed-By: sobomax 
State-Changed-When: Fri Jun 16 07:18:54 PDT 2000 
State-Changed-Why:  
Thanks, patch applied! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=19141 
>Unformatted:
