* 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* Re: Suggestion regarding alsa driver writing documentation.
2004-05-08 19:33 Suggestion regarding alsa driver writing documentation James Courtier-Dutton
@ 2004-05-10 9:29 ` Takashi Iwai
0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2004-05-10 9:29 UTC (permalink / raw)
To: James Courtier-Dutton; +Cc: alsa-devel
Hi James,
could you create a patch to the source
(alsa-kernel/Documentation/DocBook/writing-an-alsa-driver.tmpl)?
it's just a DocBook format. the tmpl extension is used to allow the
inclusion from the kernel source, although this document doesn't do
it.
thank,s
Takashi
At Sat, 08 May 2004 19:33:51 +0000,
James Courtier-Dutton wrote:
>
> 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
> Alsa-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/alsa-devel
>
-------------------------------------------------------
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.