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 #ifndef OHOS_AV_TRANSPORT_CONSTANTS_H
17 #define OHOS_AV_TRANSPORT_CONSTANTS_H
18 
19 #include <string>
20 #include <unistd.h>
21 
22 namespace OHOS {
23 namespace DistributedHardware {
24 const int32_t AV_LOG_MAX_LEN = 4096;
25 const int32_t LINK_TYPE_MAX = 4;
26 const int32_t BASE_ENGINE_ID = 1000;
27 const int32_t DEVICE_ID_LENGTH = 65;
28 const int32_t INVALID_ENGINE_ID = -1;
29 const int32_t INVALID_SESSION_ID = -1;
30 const int32_t SESSION_WAIT_SECONDS = 5;
31 const int32_t INTERCERT_STRING_LENGTH = 20;
32 const int32_t PLUGIN_RANK = 100;
33 const int32_t PLUGIN_TASK_WAIT_TIME = 10;
34 
35 const uint32_t VIDEO_H264_LEVEL = 32;
36 const uint32_t MAX_DEVICE_ID_LEN = 100;
37 const uint32_t MAX_SESSION_NAME_LEN = 100;
38 const uint32_t MAX_MESSAGES_LEN = 40 * 1024 * 1024;
39 const uint32_t DSOFTBUS_INPUT_MAX_RECV_EXT_LEN = 104857600;
40 const uint32_t DSOFTBUS_INPUT_MAX_RECV_DATA_LEN = 104857600;
41 const uint32_t DEFAULT_FRAME_NUMBER = 100;
42 const uint32_t AUDIO_CHANNEL_LAYOUT_MONO = 1;
43 const uint32_t AUDIO_CHANNEL_LAYOUT_STEREO = 2;
44 
45 const int64_t DEFAULT_PTS = 100;
46 
47 const std::string EMPTY_STRING = "";
48 const std::string SENDER_CONTROL_SESSION_NAME_SUFFIX = "sender.avtrans.control";
49 const std::string RECEIVER_CONTROL_SESSION_NAME_SUFFIX = "receiver.avtrans.control";
50 const std::string SENDER_DATA_SESSION_NAME_SUFFIX = "sender.avtrans.data";
51 const std::string RECEIVER_DATA_SESSION_NAME_SUFFIX = "receiver.avtrans.data";
52 const std::string AV_SYNC_SENDER_CONTROL_SESSION_NAME = "ohos.dhardware.av.sync.sender.control";
53 const std::string AV_SYNC_RECEIVER_CONTROL_SESSION_NAME = "ohos.dhardware.av.sync.receiver.control";
54 
55 const std::string AVINPUT_NAME = "builtin.avtransport.avinput";
56 const std::string AVOUTPUT_NAME = "builtin.avtransport.avoutput";
57 const std::string AENCODER_NAME = "builtin.recorder.audioencoder";
58 const std::string VENCODER_NAME = "builtin.recorder.videoencoder";
59 const std::string ADECODER_NAME = "builtin.player.audiodecoder";
60 const std::string VDECODER_NAME = "builtin.player.videodecoder";
61 
62 const std::string AVT_DATA_META_TYPE = "avtrans_data_meta_type";
63 const std::string AVT_DATA_PARAM = "avtrans_data_param";
64 const std::string AV_TRANS_SPECIAL_DEVICE_ID = "av.trans.special.device.id";
65 
66 const std::string KEY_MY_DEV_ID = "myDevId";
67 const std::string KEY_SCENE_TYPE = "sceneType";
68 const std::string KEY_PEER_DEV_ID = "peerDevId";
69 const std::string KEY_SESSION_ID = "sessionId";
70 const std::string KEY_SESSION_NAME = "sessionName";
71 const std::string KEY_AV_SYNC_FLAG = "avSyncFlag";
72 const std::string KEY_START_FRAME_NUM = "startFrameNum";
73 const std::string KEY_GROUP_INFO_ARRAY = "groupInfoArray";
74 const std::string KEY_SHARED_MEM_FD = "sharedMemoryFd";
75 const std::string KEY_SHARED_MEM_SIZE = "sharedMemorySize";
76 const std::string KEY_SHARED_MEM_NAME = "sharedMemoryName";
77 
78 const std::string SCREEN_FILE_NAME_BEFOREENCODING = "/data/data/dscreen/BeforeEncoding.h265";
79 const std::string SCREEN_FILE_NAME_AFTERCODING = "/data/data/dscreen/AfterCoding.h265";
80 
81 const uint8_t DATA_WAIT_SECONDS = 1;
82 const size_t DATA_QUEUE_MAX_SIZE = 1000;
83 constexpr const char *SEND_CHANNEL_EVENT = "SendChannelEvent";
84 } // namespace DistributedHardware
85 } // namespace OHOS
86 #endif // OHOS_AV_TRANSPORT_CONSTANTS_H