On Thu, 4 Mar 2004, Ove Kaaven wrote:

> tor, 04.03.2004 kl. 17.33 skrev Jaroslav Kysela:
> > The silence is filled at snd_pcm_start(). This mode is special one for
> > our direct plugins. I don't think that other code need to use this mode.
> 
> Well, perhaps you don't think so, but the code we're trying to use here
> does work much like any "direct plugins"... mixes several dynamic
> streams, probably much like the dmix plugin does.

Yes, but note that you can still enable the "auto silence" mechanism 
which does empty buffer at snd_pcm_start().

> > > mmap buffer with sounds, then run snd_pcm_start. Right now when I do
> > > that, the beginning of the sound effect that triggers snd_pcm_start is
> > > silent (but more gets streamed into the mmap buffer later on, and that
> > > is heard). With ALSA's oddball mmap scheme it's not like I could just
> > > easily do the silence processing myself, so it would be nice if ALSA's
> > > would do the right thing.
> > 
> > You can do everything like in OSS. It seems that you don't understand 
> > API concepts. Forget to ALSA silence extensions and do it yourself
> > if you wish (simply put stream into no-xrun mode and use rewind and 
> > forward functions to move the actual write pointer).
> 
> Are you saying that the design of the API is very different from what is
> considered the appropriate way to do things, so that using the API in
> awkward ways are endorsed, while using all the API features in
> straightforward ways, the way it is apparently designed, is discouraged?

Not really. I don't know, what you're trying to do. The silence extension
can be used to silence played area automatically from the interrupt 
contents. If you set "silence_threshold" and "silence_size" to 
buffer_size, then the whole _unused_ portion of the ring buffer will be 
filled with silence. Perhaps, that's the behaviour what you expect.

I wanted to note, that we can do everything like OSS API does.

> Well, concerns of having to resort to messy application-side code to
> reimplement ALSA API features aside, there's also the issue of whether
> to rewind to before the playing position, or rather to forward to one
> buffer size after the playing position, to insert the silence, since for
> the ALSA API, there's a difference. But perhaps forward makes most
> sense. I guess I can do that.

I don't understand.

> > It is wavetable synthesizer API not PCM API. This part of ALSA is still
> > in the development phase.
> 
> But when that gets fully developed, would I have to use the rawmidi API
> to do this then?

I think that sequencer API is more appropriate, but as I said, we don't 
have a clear design at this time. It's also possible that we will hide 
these things in alsa-lib and the kernel API will be hardware specific 
using the hwdep interface.

                                                Jaroslav

-----
Jaroslav Kysela <[EMAIL PROTECTED]>
Linux Kernel Sound Maintainer
ALSA Project, SuSE Labs


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to