1/* 2 * Copyright (c) 2022-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#ifndef OHOS_DAUDIO_CONSTANTS_H 17#define OHOS_DAUDIO_CONSTANTS_H 18 19#include <cstdint> 20#include <string> 21#include <unistd.h> 22 23namespace OHOS { 24namespace DistributedHardware { 25/* Audio package name */ 26const std::string PKG_NAME = "ohos.dhardware.daudio"; 27/* Audio data session name */ 28const std::string DATA_SPEAKER_SESSION_NAME = "ohos.dhardware.daudio.speakerdata"; 29const std::string DATA_MIC_SESSION_NAME = "ohos.dhardware.daudio.micdata"; 30/* Audio ctrl session name */ 31const std::string CTRL_SESSION_NAME = "ohos.dhardware.daudio.ctrl"; 32 33constexpr int32_t DEFAULT_AUDIO_DATA_SIZE = 4096; 34 35constexpr int32_t DELETE_POINT_POS = 4; 36constexpr int32_t DELETE_CPP_LEN = 4; 37constexpr int32_t CHANNEL_WAIT_SECONDS = 5; 38constexpr int32_t LOG_MAX_LEN = 4096; 39constexpr int32_t DISTRIBUTED_HARDWARE_AUDIO_SOURCE_SA_ID = 4805; 40constexpr int32_t DISTRIBUTED_HARDWARE_AUDIO_SINK_SA_ID = 4806; 41constexpr int32_t AUDIO_LOADSA_TIMEOUT_MS = 10000; 42constexpr int32_t AUDIO_SET_HISTREAMER_BIT_RATE = 1536000; 43 44constexpr int32_t AUDIO_DEVICE_TYPE_UNKNOWN = 0; 45constexpr int32_t AUDIO_DEVICE_TYPE_SPEAKER = 1; 46constexpr int32_t AUDIO_DEVICE_TYPE_MIC = 2; 47 48constexpr int32_t PIN_OUT_SPEAKER = 1; 49constexpr int32_t PIN_OUT_DAUDIO_DEFAULT = 1 << 7; 50constexpr int32_t PIN_IN_DAUDIO_DEFAULT = 1 << 27 | 1 << 5; 51constexpr int32_t PIN_IN_MIC = 1 << 27 | 1 << 0; 52 53constexpr int32_t NONE_ITEM = 0; 54constexpr int32_t SINGLE_ITEM = 1; 55constexpr int32_t MAX_EVENT_TYPE_NUM = 100; 56 57constexpr uint32_t SAMPLE_RATE_DEFAULT = 48000; 58constexpr uint32_t CHANNEL_COUNT_DEFAULT = 2; 59constexpr uint32_t SAMPLE_FORMAT_DEFAULT = 1; 60 61constexpr uint32_t STR_TERM_LEN = 1; 62constexpr uint32_t DAUDIO_MAX_SESSION_NAME_LEN = 50; 63constexpr uint32_t DAUDIO_MAX_DEVICE_ID_LEN = 100; 64constexpr uint32_t DAUDIO_MAX_TASKQUEUE_LEN = 100; 65constexpr uint32_t DAUDIO_MAX_RECV_DATA_LEN = 104857600; 66constexpr uint32_t DAUDIO_MAX_JSON_LEN = 1024; 67 68static constexpr int64_t AUDIO_OFFSET_FRAME_NUM = 10; 69static constexpr int64_t LOW_LATENCY_CLIENT_INTERVAL_NS = 20000000; 70static constexpr int64_t MAX_TIME_INTERVAL_US = 23000; 71 72static constexpr int32_t LOW_LATENCY_RENDER_ID = 1 << 1 | 1 << 0; 73static constexpr int32_t DEFAULT_RENDER_ID = 1; 74static constexpr int32_t DEFAULT_CAPTURE_ID = 1 << 27 | 1 << 0; 75 76const std::string DAUDIO_LOG_TITLE_TAG = "DAUDIO"; 77const std::string DAUDIO_PREFIX = "DISTRIBUTED_AUDIO"; 78const std::string AUDIO_PREFIX = "AUDIO"; 79const std::string SEPERATOR = "#"; 80const std::string SUPPORTED_SAMPLE_RATE = "supportedSampleRate"; 81const std::string SUPPORTED_FORMATS = "supportedFormats"; 82const std::string SUPPORTED_CHANNEL_MAX = "supportedChannelMax"; 83const std::string SUPPORTED_CHANNEL_MIN = "supportedChannelMin"; 84const std::string SUPPORTED_BITRATE_MAX = "supportedBirteMax"; 85const std::string SUPPORTED_BITRATE_MIN = "supportedBirteMin"; 86const std::string MINE_TYPE = "mineType"; 87const std::string AVENC_AAC = "avenc_aac"; 88const std::string NAME = "name"; 89const std::string KEY_CODECTYPE = "codecType"; 90const std::string KEY_DEVICE_TYPE = "deviceType"; 91 92const std::string KEY_HISTREAMER_AUDIO_ENCODER = "histmAudEnc"; 93const std::string KEY_HISTREAMER_AUDIO_DECODER = "histmAudDec"; 94 95const std::string HDF_EVENT_RESULT_SUCCESS = "DH_SUCCESS"; 96const std::string HDF_EVENT_INIT_ENGINE_FAILED = "ERR_DH_AUDIO_INIT_ENGINE_FAILED"; 97const std::string HDF_EVENT_NOTIFY_SINK_FAILED = "ERR_DH_AUDIO_NOTIFY_SINK_FAILED"; 98const std::string HDF_EVENT_TRANS_SETUP_FAILED = "ERR_DH_AUDIO_TRANS_SETUP_FAILED"; 99const std::string HDF_EVENT_TRANS_START_FAILED = "ERR_DH_AUDIO_TRANS_START_FAILED"; 100const std::string HDF_EVENT_RESULT_FAILED = "DH_FAILED"; 101 102const std::string STREAM_MUTE_STATUS = "STREAM_MUTE_STATUS"; 103const std::string AUDIO_VOLUME_TYPE = "AUDIO_VOLUME_TYPE"; 104const std::string VOLUME_LEVEL = "VOLUME_LEVEL"; 105 106const std::string AUDIO_EVENT_RESTART = "restart"; 107const std::string AUDIO_EVENT_PAUSE = "pause"; 108 109const std::string AUDIO_ENGINE_FLAG = "persist.distributedhardware.distributedaudio.engine.enable"; 110const std::string KEY_TYPE_META = "meta"; 111const std::string KEY_TYPE_FULL = "full"; 112 113constexpr const char *KEY_TYPE = "type"; 114constexpr const char *KEY_CHANGE_TYPE = "ChangeType"; 115constexpr const char *KEY_EVENT_CONTENT = "content"; 116constexpr const char *KEY_DH_ID = "dhId"; 117constexpr const char *KEY_DEV_ID = "devId"; 118constexpr const char *KEY_VERSION = "version"; 119constexpr const char *KEY_REQID = "reqId"; 120constexpr const char *KEY_RESULT = "result"; 121constexpr const char *KEY_EVENT_TYPE = "eventType"; 122constexpr const char *KEY_AUDIO_PARAM = "audioParam"; 123constexpr const char *KEY_ATTRS = "attrs"; 124constexpr const char *KEY_RANDOM_TASK_CODE = "randomTaskCode"; 125 126constexpr const char *KEY_SAMPLING_RATE = "samplingRate"; 127constexpr const char *KEY_CHANNELS = "channels"; 128constexpr const char *KEY_FORMAT = "format"; 129constexpr const char *KEY_FRAMESIZE = "frameSize"; 130constexpr const char *KEY_SOURCE_TYPE = "sourceType"; 131constexpr const char *KEY_CONTENT_TYPE = "contentType"; 132constexpr const char *KEY_STREAM_USAGE = "streamUsage"; 133constexpr const char *KEY_RENDER_FLAGS = "renderFlags"; 134constexpr const char *KEY_CAPTURE_FLAGS = "capturerFlags"; 135 136constexpr const char *AUDIO_STREAM_TYPE = "AUDIO_STREAM_TYPE"; 137constexpr const char *IS_UPDATEUI = "IS_UPDATEUI"; 138constexpr const char *VOLUME_CHANAGE = "VOLUME_CHANAGE"; 139constexpr const char *FIRST_VOLUME_CHANAGE = "FIRST_VOLUME_CHANAGE"; 140constexpr const char *INTERRUPT_EVENT = "INTERRUPT_EVENT"; 141constexpr const char *FORCE_TYPE = "FORCE_TYPE"; 142constexpr const char *HINT_TYPE = "HINT_TYPE"; 143constexpr const char *RENDER_STATE_CHANGE_EVENT = "RENDER_STATE_CHANGE_EVENT"; 144constexpr const char *KEY_STATE = "STATE"; 145constexpr const char *MAX_VOLUME_LEVEL = "MAX_VOLUME_LEVEL"; 146constexpr const char *MIN_VOLUME_LEVEL = "MIN_VOLUME_LEVEL"; 147constexpr const char *VOLUME_GROUP_ID = "VOLUME_GROUP_ID"; 148constexpr const char *VOLUME_EVENT_TYPE = "EVENT_TYPE"; 149constexpr const char *KEY_DATATYPE = "dataType"; 150constexpr const char *INTERRUPT_GROUP_ID = "INTERRUPT_GROUP_ID"; 151 152const std::string DUMP_FILE_PATH = "/data/data/daudio"; 153const std::string AUDIO_PERMISSION_NAME = "ohos.permission.ENABLE_DISTRIBUTED_HARDWARE"; 154} // namespace DistributedHardware 155} // namespace OHOS 156#endif // OHOS_DAUDIO_CONSTANTS_H 157