>On 11/22/21 5:38 AM, Tim wrote:
>> My thinking now is perhaps to add some sub-feature #defines (e.g.
>>AUDIO_FU_SUBEQUALIZER_BASS_BOOST_PLUS6) to be used as subtypes when
>>capabilities are queried for AUDIO_TYPE_FEATURE and for the audio_configure
>>function to make use of. As far as I see no drivers or apps currently support
>>AUDIO_FU_EQUALIZER so it's unlikely anything will get broken doing this, but 
>>it
>>will allow me to make use it "properly".
>>
>>
>Hey Tim,
>
>You are correct that AUDIO_FU_EQUALIZER feature is not implemented
>anywhere.  There are probably several other "features" that are also not
>implmented.  When I added the audio subsystem circa 2014, I defined the header
>files and structures to be extensible even before implementing the first actual
>audio device.  That way I could determine if I had the needed control in the
>structures for expandability.  In creating those headers, I included audio 
>features
>present in USB type audio devices (which I was using as a reference), and that 
>is
>why the feature is present but not implemented.
>
Hi Ken,

Thanks for the information and background. The sama5d2 I am working with 
doesn't have a parametric equaliser, which is possibly what AUDIO_FU_EQUALIZER 
was intended for? It just has bass/mid/treble boost and cuts, only one of which 
can be active at a time; but it is described as an equalizer in the datasheet.

Is it OK with all for me to use AUDIO_FU_EQUALIZER for this (I need 14 states 
which pretty much eats up the bit-fields)? Then if someone wants or needs to 
add a full blown parametric equalizer in the future they can use a complete 
feature type, such as AUDIO_TYPE_PROCESSING with a new control such as 
AUDIO_PU_PARAMETRIC?

If so, I might suggest making it a little more generic than the specific 
boost/cuts offered by the sama5d2 and just have

#define AUDIO_FU_EQUALIZER_MODE0                0x0000
#define AUDIO_FU_EQUALIZER_MODE1                0x0001
.
.
#define AUDIO_FU_EQUALIZER_MODE15       0x8000

The audio driver would then describe what those modes mean to the peripheral 
itself.

Am I on the right track here?

Reply via email to