1/*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16#include "effect_common.h"
17#include <cstddef>
18#include <osal_mem.h>
19
20static const int32_t HDF_EFFECT_NUM_MAX = 32;
21namespace OHOS {
22namespace Audio {
23void EffectControllerReleaseDesc(struct EffectControllerDescriptor *desc)
24{
25    if (desc == nullptr) {
26        return;
27    }
28
29    OsalMemFree(desc->effectId);
30    desc->effectId = nullptr;
31
32    OsalMemFree(desc->effectName);
33    desc->effectName = nullptr;
34
35    OsalMemFree(desc->libName);
36    desc->libName = nullptr;
37
38    OsalMemFree(desc->supplier);
39    desc->supplier = nullptr;
40}
41
42void EffectControllerReleaseDescs(struct EffectControllerDescriptor *descs, const uint32_t *descsLen)
43{
44    if (descs == nullptr || descsLen == nullptr || *descsLen == 0 || *descsLen > HDF_EFFECT_NUM_MAX) {
45        return;
46    }
47
48    for (uint32_t i = 0; i < *descsLen; i++) {
49        EffectControllerReleaseDesc(&descs[i]);
50    }
51}
52
53}
54}