// Copyright (C) 2018 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.

// DynamicsProcessing library
package {
    default_applicable_licenses: [
        "frameworks_av_media_libeffects_dynamicsproc_license",
    ],
}

// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
    name: "frameworks_av_media_libeffects_dynamicsproc_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
    ],
    license_text: [
        "NOTICE",
    ],
}

cc_defaults {
    name : "dynamicsprocessingdefaults",
    srcs: [
        "dsp/DPBase.cpp",
        "dsp/DPFrequency.cpp",
    ],

    shared_libs: [
        "libaudioutils",
        "libbase",
        "liblog",
        "libutils",
    ],
    header_libs: [
        "libaudioeffects",
        "libeigen",
    ],
    cflags: [
        "-Wthread-safety",
        "-Wall",
        "-Werror",
    ],
    relative_install_path: "soundfx",
}

cc_library_shared {
    name: "libdynproc",

    vendor: true,

    defaults: [
        "dynamicsprocessingdefaults",
    ],

    srcs: [
        "EffectDynamicsProcessing.cpp",
    ],

    cflags: [
        "-O2",
        "-fvisibility=hidden",
    ],
}

cc_library_shared {
    name: "libdynamicsprocessingaidl",

    srcs: [
        "aidl/DynamicsProcessing.cpp",
        "aidl/DynamicsProcessingContext.cpp",
        ":effectCommonFile",
    ],

    defaults: [
        "aidlaudioservice_defaults",
        "latest_android_hardware_audio_effect_ndk_shared",
        "latest_android_media_audio_common_types_ndk_shared",
        "dynamicsprocessingdefaults",
    ],

    static_libs: [
        "libaudioaidlranges",
    ],

    visibility: [
        "//hardware/interfaces/audio/aidl/default",
    ],
}
