All of lore.kernel.org
 help / color / mirror / Atom feed
* Suggestion regarding alsa driver writing documentation.
@ 2004-05-08 19:33 James Courtier-Dutton
  2004-05-10  9:29 ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: James Courtier-Dutton @ 2004-05-08 19:33 UTC (permalink / raw)
  To: alsa-devel

I have been helping some people with writing alsa drivers.
One thing that they did not totally understand from the alsa 
documentation was the concept of frames.
To help with this, could we add a html link between in the following 
document: -
http://www.alsa-project.org/~iwai/writing-an-alsa-driver/x490.htm

In section: -
/* pointer callback */

pointing to: -
http://www.alsa-project.org/~iwai/writing-an-alsa-driver/x537.htm

In Section: -
PCM Configurations

Where it explains about what a "frame" is.
I think it would be helpful to also explain that the document: -
http://www.alsa-project.org/~iwai/writing-an-alsa-driver/x490.htm

has a line: -
current_ptr = mychip_get_hw_pointer(chip);

I think that comments should be added close to that line to say: -
"
The pointer value obtained from the hardware is likely to be a byte 
offset within the buffer. In order to convert this value to a type 
"snd_pcm_uframes_t" , that is required as the return value, use the 
following code: -
return bytes_to_frames(substream->runtime, pointer);

An explanation of what a "frame" is can be found at http://xyz
"

Or just change the document example code: -
/* pointer callback */
   static snd_pcm_uframes_t
   snd_mychip_pcm_pointer(snd_pcm_substream_t *substream)
   {
           mychip_t *chip = snd_pcm_substream_chip(substream);
-          unsigned int current_ptr;
+          unsigned int current_byte_ptr;

           // get the current hardware pointer
-          current_ptr = mychip_get_hw_pointer(chip);
-          return current_ptr;
+          current_byte_ptr = mychip_get_hw_pointer(chip);
+          return bytes_to_frames(substream->runtime, current_byte_ptr);

   }


Cheers
James


-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to deliver
higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-05-10  9:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-05-08 19:33 Suggestion regarding alsa driver writing documentation James Courtier-Dutton
2004-05-10  9:29 ` Takashi Iwai

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.