Hi Erik

The OpenSL document specifies Interfaces for audio effects such as equalizer, bass boost, preset reverberation, stereo widening etc. OpenSL ES supports bass boost via SLBassBoostItf. I need to introduce a vendor-IP audio effect.

(a)Can I introduce a new structure specific to the new audio effect. For Ex. BassBoost is supported through the structure SLBassBoostItf with a specified set of functions. If I have an audio effect " AudioEnhancement". Can I add an interface " SLAudioEnhancementItf " as follows

struct SLAudioEnhancementItf_ {


SLresult (*SetBassGain)(
SLAudioEnhancementItf self,
SLpermille strength
);
SLresult (*SetAudioGain)(
SLAudioEnhancementItf self,
SLpermille strength
);
SLresult (*SetSurroundGain)(
SLAudioEnhancementItf self,
SLpermille strength
);
SLresult (*SetEnabled)(
SLAudioEnhancementItf self,
SLboolean enabled
);
SLresult (*IsEnabled)(
SLAudioEnhancementItf self,
SLboolean *pEnabled
);
};

(b)Or can I modify the current SLBassBoostItf to accommodate the interfaces i require.
(c)Or do I derive from the existing SLBassBoostItf.

Thanks
Simi