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 _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to