[alsa-devel] Why is the bufs argument for snd_pcm_writen not const?

Takashi Iwai tiwai at suse.de
Mon May 16 08:58:19 CEST 2016


On Sun, 15 May 2016 05:05:49 +0200,
Trent Reed wrote:
> 
> Hey All,
> 
> Just wondering what the reasoning is behind snd_pcm_writen not having
> a constant variable for bufs. To me, this doesn't make sense. Does
> snd_pcm_writen make any alterations to bufs? I would expect one of the
> following declaration:
> 
> // Better, but doesn't promise that the API won't change the channel pointers.
> snd_pcm_sframes_t snd_pcm_writen(snd_pcm_t* pcm, const void** bufs,
> snd_pcm_uframes_t size);
> // Best, promises ALSA won't change channel pointers, wont change
> underlying data.
> snd_pcm_sframes_t snd_pcm_writen(snd_pcm_t* pcm, const void*const*
> bufs, snd_pcm_uframes_t size);
> 
> For now, is it safe to assume that snd_pcm_writen() doesn't alter any
> of the data in bufs passed into it? Any chance on seeing this patched
> or is there some reason for this?

We never thought of modifying the data inside the writen API
function.  The lack of const is merely the laziness.


Takashi


More information about the Alsa-devel mailing list