All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Courtier-Dutton <James@superbug.co.uk>
To: Assaf Hoffman <hoffman@marvell.com>
Cc: Rita Shtern <rita@marvell.com>, alsa-devel@lists.sourceforge.net
Subject: Re: ALSA snd_xferi_t buffer arrangment
Date: Wed, 11 Oct 2006 15:22:56 +0100	[thread overview]
Message-ID: <452CFE40.2020705@superbug.co.uk> (raw)
In-Reply-To: <B9FFC3F97441D04093A504CEA31B7C41E4E01C@msilexch01.marvell.com>

Assaf Hoffman wrote:
> Thank you for your reply.
> Please let me clarify. What you say is that my device can deliver a raw
> ICE958 data from the capture channel to the DMA buffer and the ALSA
> stack will know how to deal with it? No need for the device to strip
> down the payload and only then transfer it to the DMA buffer?
> In case the sound card can strip down the IEC958 frames into raw sound
> data + ch status + user data, how would the ALSA stack expect the data?
> Is there an API for that?
> Thanks again.
> 

If you don't strip the IEC958 frames, tell ALSA the format is:
SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE
SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_BE
If you do strip the IEC958 frames, tell ALSA the format is:
SNDRV_PCM_FMTBIT_S24_LE or
SNDRV_PCM_FMTBIT_S16_LE

Or whatever format your hardware decides to send.

The API for this is contained in the following structure in the sound
driver:
This example is from the snd-emu10k1 driver.

static struct snd_pcm_hardware snd_emu10k1_capture =
{
        .info =                 (SNDRV_PCM_INFO_MMAP |
SNDRV_PCM_INFO_INTERLEAVED |
                                 SNDRV_PCM_INFO_BLOCK_TRANSFER |
                                 SNDRV_PCM_INFO_RESUME |
                                 SNDRV_PCM_INFO_MMAP_VALID),
        .formats =              SNDRV_PCM_FMTBIT_S16_LE,
        .rates =                SNDRV_PCM_RATE_8000_48000,
        .rate_min =             8000,
        .rate_max =             48000,
        .channels_min =         1,
        .channels_max =         2,
        .buffer_bytes_max =     (64*1024),
        .period_bytes_min =     384,
        .period_bytes_max =     (64*1024),
        .periods_min =          2,
        .periods_max =          2,
        .fifo_size =            0,
};


As you can see, it tells use that this device can do only
SNDRV_PCM_FMTBIT_S16_LE format.

James


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

  reply	other threads:[~2006-10-11 14:22 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-11 14:08 ALSA snd_xferi_t buffer arrangment Assaf Hoffman
2006-10-11 14:22 ` James Courtier-Dutton [this message]
  -- strict thread matches above, loose matches on Subject: below --
2006-10-18  6:31 Assaf Hoffman
2006-10-11 15:40 Assaf Hoffman
2006-10-11 14:52 Assaf Hoffman
2006-10-11 15:00 ` James Courtier-Dutton
2006-10-11 15:17   ` Takashi Iwai
2006-10-11 15:19     ` James Courtier-Dutton
2006-10-11 15:22       ` Takashi Iwai
2006-10-11 13:07 Assaf Hoffman
2006-10-11 13:53 ` James Courtier-Dutton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=452CFE40.2020705@superbug.co.uk \
    --to=james@superbug.co.uk \
    --cc=alsa-devel@lists.sourceforge.net \
    --cc=hoffman@marvell.com \
    --cc=rita@marvell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.