Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Sep 2001 21:58:41 +0100
From:      "Cameron Grant" <gandalf@vilnya.demon.co.uk>
To:        <sobomax@FreeBSD.org>, <sound@FreeBSD.org>
Cc:        <multimedia@FreeBSD.ORG>, <current@FreeBSD.ORG>
Subject:   Re: " Making DMA buffer resizeable depending on audio speed/format "
Message-ID:  <012801c13ef2$5d759800$0504020a@haveblue>
References:  <E15iiaB-0003kl-00@mx7.port.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
> > The sound driver interface provides the application writer the choice to
set
> > the buffering they require.  This patch has obvious implications for the
> > ordering of ioctl's that we may not want to introduce.
>
> Yes, OSS interface allows for that, but currently FreeBSD doesn't fully
> provide applications with means to control buffering, because it only
> allows application to regulate front buffer size and state, while retains
> back buffer (i.e. DMA buffer) out of application's control, thus
> significantly lowering its ability to control audio latency.

we set the hardware buffer to the smaller of the application requested size
and the maximum size supported by the hardware driver.

> Not actually. If our pcm driver was correctly reporting its internal state
> then SDL would be able to cope with situation intelligently (it has the
code to
> do so), but as long as now pcm driver doesn't reports to the application
state
> of its DMA buffers the application has no ways to regulate buffering
> intelligently. You may want to look for my previous messages on topic
(more
> than a year ago on multimedia@ list). I reduced this problem by downsizing
> a mss buffer size from the 64KB (sic!) to 4KB now, but this creates
another
> problem with the high speed audio. :((

have you tested this in the last 6 months?  note that mss.c does not fully
implement setblocksize.  some drivers do not attempt to implement it at all,
but the majority implement it correctly.

    -cg



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?012801c13ef2$5d759800$0504020a>