arecord: does hardware or software throw away unused

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

 



Hi Clemens,

I'm building the hardware, so I can technically do whatever I want. I
didn't want to add more to the hardware if ALSA can handle this.

The hardware is spec-ed to *always* have 16 channels worth of data being
written into DDR. I think this comes full-circle to my original question of
whether arecord can filter out channels. It sounds like arecord can handle
multiple channels, but its under the assumption that the hardware itself
changes (in the pcm_open function) to only copy in the requested channels
worth of data; i.e. arecord assumes that the data in dma_area is exactly as
requested by arecord.

If it's -c10 channels worth of data requested, my hardware needs to change
to capture only 10 channels, and throw away the last 6 before it writes it
to DDR. Does that sound right?

Thanks,
Rob

On Fri, Sep 16, 2016 at 12:26 AM, Clemens Ladisch <clemens@xxxxxxxxxx>
wrote:

> Rob Nertney wrote:
> > If I define my hw_params like this, is it correct for multiple channels?
> >
> > channels_min = 1
> > channels_max = 16
>
> I don't know what the actual constraints of your hardware are.
>
> > buffer_bytes_max = 32768
> > period_bytes_min = 32768/16
> > period_bytes_max = 32768/16
> > periods_min = 16
> > periods_max = 16
> >
> > Everything is really associated around a 2048 Byte IRQ.
>
> Is that an actual constraint of your hardware?
>
> Anyway, this will not work with, e.g., 15 channels; 60-byte frames do
> not fit into 32768 bytes.
>
>
> Regards,
> Clemens
>
_______________________________________________
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