blob: aca9bbe326c3d5def42983e8842778174a7b2376 [file] [log] [blame]
/*
* Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.audio.effect;
import android.hardware.audio.effect.Capability;
import android.hardware.audio.effect.Flags;
import android.media.audio.common.AudioUuid;
/**
* Descriptor contains all information (capabilities, attributes, etc) for an effect implementation.
* The client uses this information to decide when and how to apply an effect implementation.
*/
@VintfStability
parcelable Descriptor {
/**
* UUID for effect types, these definitions are in sync with SDK, see @c AudioEffect.java.
*/
// UUID for environmental reverberation effect type.
const String EFFECT_TYPE_UUID_ENV_REVERB = "c2e5d5f0-94bd-4763-9cac-4e234d06839e";
// UUID for preset reverberation effect type.
const String EFFECT_TYPE_UUID_PRESET_REVERB = "47382d60-ddd8-11db-bf3a-0002a5d5c51b";
// UUID for equalizer effect type.
const String EFFECT_TYPE_UUID_EQUALIZER = "0bed4300-ddd6-11db-8f34-0002a5d5c51b";
// UUID for bass boost effect type.
const String EFFECT_TYPE_UUID_BASS_BOOST = "0634f220-ddd4-11db-a0fc-0002a5d5c51b";
// UUID for virtualizer effect type.
const String EFFECT_TYPE_UUID_VIRTUALIZER = "37cc2c00-dddd-11db-8577-0002a5d5c51b";
// UUID for Automatic Gain Control (AGC) type.
const String EFFECT_TYPE_UUID_AGC = "0a8abfe0-654c-11e0-ba26-0002a5d5c51b";
// UUID for Acoustic Echo Canceler (AEC) type.
const String EFFECT_TYPE_UUID_AEC = "7b491460-8d4d-11e0-bd61-0002a5d5c51b";
// UUID for Noise Suppressor (NS) type.
const String EFFECT_TYPE_UUID_NS = "58b4b260-8e06-11e0-aa8e-0002a5d5c51b";
// UUID for Loudness Enhancer type.
const String EFFECT_TYPE_UUID_LOUDNESS_ENHANCER = "fe3199be-aed0-413f-87bb-11260eb63cf1";
// UUID for Dynamics Processing type.
const String EFFECT_TYPE_UUID_DYNAMICS_PROCESSING = "7261676f-6d75-7369-6364-28e2fd3ac39e";
// UUID for Haptic Generator type.
const String EFFECT_TYPE_UUID_HAPTIC_GENERATOR = "1411e6d6-aecd-4021-a1cf-a6aceb0d71e5";
// UUID for Spatializer type.
const String EFFECT_TYPE_UUID_SPATIALIZER = "ccd4cf09-a79d-46c2-9aae-06a1698d6c8f";
// UUID for Volume type. The volume effect is used for automated tests only.
const String EFFECT_TYPE_UUID_VOLUME = "09e8ede0-ddde-11db-b4f6-0002a5d5c51b";
/**
* This structure completely identifies an effect implementation.
*/
@VintfStability
parcelable Identity {
/**
* UUID for the type of effect.
*/
AudioUuid type;
/**
* UUID for this particular implementation.
*/
AudioUuid uuid;
}
// Common attributes of all effect implementation.
@VintfStability
parcelable Common {
/**
* Identity of effect implementation.
*/
Identity id;
/**
* Effect engine defined capabilities/requirements flags.
*/
Flags flags;
}
Common common;
/**
* Effect implementation capability.
*/
Capability capability;
}