14d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent/*
24d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent * Copyright (C) 2011 The Android Open Source Project
34d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent *
44d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent * Licensed under the Apache License, Version 2.0 (the "License");
54d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent * you may not use this file except in compliance with the License.
64d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent * You may obtain a copy of the License at
74d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent *
84d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent *      http://www.apache.org/licenses/LICENSE-2.0
94d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent *
104d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent * Unless required by applicable law or agreed to in writing, software
114d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent * distributed under the License is distributed on an "AS IS" BASIS,
124d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent * See the License for the specific language governing permissions and
144d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent * limitations under the License.
154d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent */
164d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent
174d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent#ifndef ANDROID_EFFECT_NS_H_
184d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent#define ANDROID_EFFECT_NS_H_
194d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent
204d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent#include <hardware/audio_effect.h>
214d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent
224d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent#if __cplusplus
234d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurentextern "C" {
244d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent#endif
254d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent
264d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent// The NS type UUID is not defined by OpenSL ES and has been generated from
274d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent// http://www.itu.int/ITU-T/asn1/uuid.html
284d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurentstatic const effect_uuid_t FX_IID_NS_ =
294d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent    { 0x58b4b260, 0x8e06, 0x11e0, 0xaa8e, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
304d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurentconst effect_uuid_t * const FX_IID_NS = &FX_IID_NS_;
314d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent
324d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurenttypedef enum
334d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent{
344d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent    NS_PARAM_LEVEL,             // noise suppression level (t_ns_level)
354d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent    NS_PARAM_PROPERTIES
364d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent} t_ns_params;
374d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent
384d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent// noise suppression level
394d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurenttypedef enum {
404d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent    NS_LEVEL_LOW,
414d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent    NS_LEVEL_MEDIUM,
424d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent    NS_LEVEL_HIGH
434d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent} t_ns_level;
444d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent
454d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent// s_ns_settings groups all current ns settings for backup and restore.
464d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurenttypedef struct s_ns_settings {
474d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent    uint32_t  level;
484d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent} t_ns_settings;
494d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent
504d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent#if __cplusplus
514d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent}  // extern "C"
524d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent#endif
534d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent
544d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent
554d64e7d0abff40010796dbf199f6bc935690afa1Eric Laurent#endif /*ANDROID_EFFECT_NS_H_*/
56