[alsa-devel] [PATCH - AAF PCM plugin 3/7] aaf: Implement Playback mode support

Takashi Iwai tiwai at suse.de
Thu Oct 11 10:00:11 CEST 2018


On Thu, 11 Oct 2018 09:45:07 +0200,
Takashi Sakamoto wrote:
> 
> On Oct 11 2018 16:31, Takashi Iwai wrote:
> > On Wed, 10 Oct 2018 23:27:29 +0200,
> > Guedes, Andre wrote:
> >>
> >> On Wed, 2018-10-10 at 12:34 +0200, Takashi Iwai wrote:
> >>>> +static int aaf_set_hw_constraint(snd_pcm_aaf_t *aaf)
> >>>> +{
> >>>> +     int res;
> >>>> +     snd_pcm_ioplug_t *io = &aaf->io;
> >>>> +     const unsigned int accesses[] = {
> >>>> +             SND_PCM_ACCESS_RW_INTERLEAVED,
> >>>> +     };
> >>>> +     const unsigned int formats[] = {
> >>>> +             SND_PCM_FORMAT_S16_BE,
> >>>> +             SND_PCM_FORMAT_S24_3BE,
> >>>> +             SND_PCM_FORMAT_S32_BE,
> >>>> +             SND_PCM_FORMAT_FLOAT_BE,
> >>>> +     };
> >>>> +     const unsigned int rates[] = {
> >>>> +             8000,
> >>>> +             16000,
> >>>> +             24000,
> >>>> +             32000,
> >>>> +             44100,
> >>>> +             48000,
> >>>> +             88200,
> >>>> +             96000,
> >>>> +             176400,
> >>>> +             192000,
> >>>> +     };
> >>>
> >>> Use static arrays for the above.
> >>
> >> It isn't clear to me what is the point in allocating these variables in
> >> the global scope. May I ask what is the benefit in adding the 'static'
> >> modifier to these local variables?
> >
> > Yes.
> 
> In this case, it's not relevant to access scope.
> 
> Just with 'const' qualifier, the symbol allocates in .text section of
> ELF binary. With additional 'static' qualifier, the symbol allocates
> in .rodata section.
> 
> In loading, symbol in .rodata section locates in segments of VMA with
> 'read-only' flag. This brings safety from several bugs such as buffer
> over-run.

OK, then scratch my comments.


thanks,

Takashi


More information about the Alsa-devel mailing list