/*
 * Copyright (c) 2026 Huawei Device Co., Ltd.
 * 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.
 */

#ifndef AUDIO_CONFIG_H
#define AUDIO_CONFIG_H

#include <multimedia/native_audio_channel_layout.h>

namespace AudioConfig {
    constexpr int32_t SAMPLE_RATE = 48000;
    constexpr int32_t FRAME_SIZE = 1024;
    constexpr int32_t BYTES_PER_SAMPLE = 3;
    // Channel configuration for 4-channel input(2ch sound bed + 2ch object)
    constexpr int32_t CHANNEL_COUNT = 4;
    constexpr int32_t CHANNEL_LAYOUT = OH_AudioChannelLayout::CH_LAYOUT_STEREO;
    constexpr int32_t BITRATE = 512000;
    constexpr int32_t BYTES_PER_INPUT_FRAME = CHANNEL_COUNT * BYTES_PER_SAMPLE * FRAME_SIZE;
    constexpr int32_t BYTES_PER_OUTPUT_FRAME = CHANNEL_COUNT * BYTES_PER_SAMPLE * FRAME_SIZE;
    constexpr int32_t MAX_DECODED_QUEUE_SIZE = 5;
}

#endif