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