Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 May 2006 07:36:08 +0800
From:      Ariff Abdullah <ariff@FreeBSD.org>
To:        Dylan Alex Simon <dylan@dylex.net>, "Daniel O'Connor" <doconnor@gsoft.com.au>
Cc:        freebsd-multimedia@FreeBSD.org
Subject:   Re: snd_ich garbled audio
Message-ID:  <20060512073608.478a3856.ariff@FreeBSD.org>
In-Reply-To: <20060511222238.GA4133@datura.dylex.net>
References:  <200605101601.40457.doconnor@gsoft.com.au> <20060510091107.ihklfr948ock04gc@netchild.homeip.net> <200605101937.45885.doconnor@gsoft.com.au> <20060511222238.GA4133@datura.dylex.net>

next in thread | previous in thread | raw e-mail | index | archive | help
--Signature=_Fri__12_May_2006_07_36_09_+0800_MVYQyXVUKi5SCYy5
Content-Type: text/plain; charset=US-ASCII
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, 11 May 2006 15:22:38 -0700
Dylan Alex Simon <dylan@dylex.net> wrote:
> > > > It is not totally garbled and doesn't happen all the time but
> > > > it is almost like the endianess is wrong, or something similar
> > > > as it only affects loud-ish sounds..
> > >
> > > Please reduce your mixer settings. If the problem vanishes, too
> > > high
> >=20
> > The mixer settings are quite low usually (pcm & vol/ogain)
>=20
> I'm having the same kind of problem which started after upgrading
> from 6.0 to 6.1-RELEASE.  This is with an application using
> ports/libao-0.8.5_2 direct through /dev/dsp0.0 for output, but a
> little testing with ossdsp output show similar issues.  It's not
> significant distortion but there's clearly little garbled skips.  It
> seems to happen more when the system's under load.  If I play a
> simple pure tone with no load, the most reproducible issue is a
> little skip (like a few hundred blank samples) every 30 seconds.
>=20

There is a latent interrupt latency that randomly occured, especially
on few drivers (notably atiixp, ich, etc.). I'm currently
investigating this issue. You may try to increase default hardware
buffersize a little bit higher, like 32768, through
hint.pcm.0.buffersize=3D"32768" in /boot/device.hints, or use kenv(1)
and reload the snd_ich module.

Another suggestion is to switch to SCHED_ULE instead of SCHED_4BSD.
YMMV.

I probably managed to fix few things. In case you guys wanna have a
try, pick this binary modules at:

   http://people.freebsd.org/~ariff/test/sndkld_r6.tar.gz

The source diff can be found at:

   http://people.freebsd.org/~ariff/test/r6.diff

> :-Dylan
>=20
> pcm0@pci0:31:5: class=3D0x040100 card=3D0x80b01043 chip=3D0x24d58086
> rev=3D0x02 hdr=3D0x00
>     vendor   =3D 'Intel Corporation'
>     device   =3D '82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller'
>     class    =3D multimedia
>     subclass =3D audio
>=20
> pcm0: <Intel ICH5 (82801EB)> port 0xe800-0xe8ff,0xef00-0xef3f mem
> 0xfe77bc00-0xfe77bdff,0xfe77b800-0xfe77b8ff irq 17 at device 31.5 on
> pci0 pcm0: <Analog Devices AD1980 AC97 Codec>
>=20
> FreeBSD Audio Driver (newpcm)
> Installed devices:
> pcm0: <Intel ICH5 (82801EB)> at io 0xfe77bc00, 0xfe77b800 irq 17
> bufsz 16384 kld snd_ich (1p/1r/0v channels duplex default)
>         [pcm0:play:0:dsp0.0]: spd 44100, fmt 0x10000010, flags
>         0x00000000, 0x00000000 interrupts 0, underruns 0, ready 0
>         [b:8192/4096/2|bs:131072/4096/32] {userland} ->
>         feeder_root(0x10000010) -> {hardware}
>         [pcm0:record:0:dsp0.1]: spd 8000, fmt 0x00000008/0x10000010,
>         flags 0x00000000, 0x00000000 interrupts 0, overruns 0, hfree
>         1024, sfree 131072 [b:1024/512/2|bs:131072/128/1024]
>         {hardware} -> feeder_root(0x10000010) ->
>         feeder_16leto8(0x10000010 -> 0x10000040) ->
>         feeder_stereotomono8(0x10000040 -> 0x00000040) ->
>         feeder_sign8(0x00000040 -> 0x00000008) -> {userland}
>=20
> hw.snd.report_soft_formats: 1
> hw.snd.targetirqrate: 32
> hw.snd.verbose: 2
> hw.snd.maxautovchans: 0
> hw.snd.unit: 0
> hw.snd.pcm0.buffersize: 16384
> hw.snd.pcm0.vchans: 0
> hw.snd.pcm0.ac97rate: 48000
>=20
> Mixer vol      is currently set to   0:0
> Mixer pcm      is currently set to  75:75
> Mixer line     is currently set to   0:0
> Mixer mic      is currently set to   0:0
> Mixer cd       is currently set to   0:0
> Mixer rec      is currently set to   0:0
> Mixer igain    is currently set to   0:0
> Mixer ogain    is currently set to  50:50
> Mixer line1    is currently set to   0:0
> Mixer phin     is currently set to   0:0
> Mixer phout    is currently set to   0:0
> Recording source: mic
>=20
> _______________________________________________
> freebsd-multimedia@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia
> To unsubscribe, send any mail to
> "freebsd-multimedia-unsubscribe@freebsd.org"
>=20


--
Ariff Abdullah
FreeBSD

--Signature=_Fri__12_May_2006_07_36_09_+0800_MVYQyXVUKi5SCYy5
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)

iD8DBQFEY8pulr+deMUwTNoRAs1DAKCTtt04+iPKuryaQyGygCVguSRlMwCfUvHZ
Diswwuq0gUbaSo35ZRlJVkY=
=xI0H
-----END PGP SIGNATURE-----

--Signature=_Fri__12_May_2006_07_36_09_+0800_MVYQyXVUKi5SCYy5--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060512073608.478a3856.ariff>