Re: non-interleaved mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Wed, 11 Jul 2007 09:13:24 -0400,
J. Scott Merritt wrote:
> 
> On Wed, 11 Jul 2007 10:47:56 +0200
> Takashi Iwai <tiwai@xxxxxxx> wrote:
> 
> > At Tue, 10 Jul 2007 11:08:01 -0700,
> > Steve Longerbeam wrote:
> > > 
> > > Hi,
> > > 
> > > The driver for the sound engine I'm working on requires NONINTERLEAVED. 
> > > Will ALSA core give my driver a full period of left-only samples, 
> > > followed by a full period of right-only samples? Or are left/right 
> > > samples split within a single period (ie. first half of period is left 
> > > samples, second half is right samples)?
> > 
> > The former case.  The standard non-interleaved buffer consists of
> > (the same buffer-size of) full-length of mono-streams.
> > 
> > 
> > Takashi
> 
> Doesn't this depend upon the driver implementation ?  IIRC, I tried to
> request NON-INTERLEAVED on the PXA270 AC97 driver and it told me that
> wasn't a permitted operation (one of the reasons that I needed to use
> mmap access in SALSA-Lib).

The latter case, "multi-streams in each period" style, cannot be
represented in ALSA API, more specifically, snd_pcm_channel_info
struct.  Thus, it has to be remapped virtually to the normal
non-interleaved streams (each with full periods), or to avoid mmap and
copy the data inside the driver.

There is another COMPLEX_MMAP access type, but it's also for linear
frames with constant increments, where each channel can be represented
with snd_pcm_channel_info record.  The "multi-streams in each period"
is non-linear.


Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux