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
