From mboxrd@z Thu Jan 1 00:00:00 1970 From: "John Shepherd" Subject: accessing sw data buffers in card driver? Date: Tue, 5 Nov 2002 18:02:46 +0200 Sender: alsa-devel-admin@lists.sourceforge.net Message-ID: <007301c284e4$c833c0c0$2b7be792@ict.ru.ac.za> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0070_01C284F5.8B7E0120" Return-path: Errors-To: alsa-devel-admin@lists.sourceforge.net List-Help: List-Post: List-Subscribe: , List-Unsubscribe: , List-Archive: To: alsa-devel@lists.sourceforge.net List-Id: alsa-devel@alsa-project.org This is a multi-part message in MIME format. ------=_NextPart_000_0070_01C284F5.8B7E0120 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable hi, um ....how do i extract the audio buffers from memory inside say a card = driver, like the snd-dummy. i am just experimenting with ALSA to see if = it is possible to stream the audio data to the 1394 bus... so i just need to know how to get the data out of the buffer... i assume a call to this gets the size out: snd_pcm_lib_buffer_bytes(substream); what pcm_function will return the *buffer? do i access it through = runtime->dma_area? thanx, john. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D John Shepherd=20 Dept. of Computer Science Rhodes University Grahamstown South Africa 6140. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D ------=_NextPart_000_0070_01C284F5.8B7E0120 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
hi,
 
um ....how do i extract the audio = buffers from=20 memory inside say a card driver, like the snd-dummy.  i am just=20 experimenting with ALSA to see if it is possible to stream the audio = data to the=20 1394 bus...
so i just need to know how to get = the data out=20 of the buffer...
 
i assume a call to this gets the = size=20 out:
 
snd_pcm_lib_buffer_bytes(substream);
 
 
what pcm_function will return the = *buffer?  do i access it through runtime->dma_area?
 
thanx,
john.
 
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
John=20 Shepherd
 
Dept. of Computer Science
Rhodes=20 University
Grahamstown
South=20 Africa
6140.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
------=_NextPart_000_0070_01C284F5.8B7E0120-- ------------------------------------------------------- This sf.net email is sponsored by: See the NEW Palm Tungsten T handheld. Power & Color in a compact size! http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0001en From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: accessing sw data buffers in card driver? Date: Tue, 05 Nov 2002 18:21:11 +0100 Sender: alsa-devel-admin@lists.sourceforge.net Message-ID: References: <007301c284e4$c833c0c0$2b7be792@ict.ru.ac.za> Mime-Version: 1.0 (generated by SEMI 1.14.4 - "Hosorogi") Content-Type: text/plain; charset=US-ASCII Return-path: In-Reply-To: <007301c284e4$c833c0c0$2b7be792@ict.ru.ac.za> Errors-To: alsa-devel-admin@lists.sourceforge.net List-Help: List-Post: List-Subscribe: , List-Unsubscribe: , List-Archive: To: John Shepherd Cc: alsa-devel@lists.sourceforge.net List-Id: alsa-devel@alsa-project.org Hi, At Tue, 5 Nov 2002 18:02:46 +0200, John Shepherd wrote: > > hi, > > um ....how do i extract the audio buffers from memory inside say a card driver, like > the snd-dummy. i am just experimenting with ALSA to see if it is possible to stream > the audio data to the 1394 bus... for accessing from the user space, usually you need to call mmap from the application. and, perhaps you misunderstand about snd-dummy. snd-dummy does nothing. it works just like /dev/null, simply ignores the data. > so i just need to know how to get the data out of the buffer... > > i assume a call to this gets the size out: > > snd_pcm_lib_buffer_bytes(substream); > > what pcm_function will return the *buffer? do i access it through runtime->dma_area? snd_pcm_lib_buffer_bytes() returns the size of the buffer in bytes. in general, the sizes are handled in frames on ALSA. note that bytes per frame = # channels * sample-width-in-bytes unfortuantely, there are really no documents about the ALSA kernel API, although the API is fairly easy to understand... you can find my post with a very brief explanation of pcm API in past on this ML from the archive. it would help a bit for understanding. Takashi ------------------------------------------------------- This sf.net email is sponsored by: See the NEW Palm Tungsten T handheld. Power & Color in a compact size! http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0001en