1 /*
2  * Copyright (c) 2024 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 I_MEDIA_MONITOR_INFO_H
17 #define I_MEDIA_MONITOR_INFO_H
18 
19 #include <string>
20 #include "system_ability_definition.h"
21 
22 namespace OHOS {
23 namespace Media {
24 namespace MediaMonitor {
25 
26 enum ModuleId {
27     UNKNOW_MODULEID = -1,
28     AUDIO = 0,
29     MEDIA = 1,
30 };
31 
32 enum EventId {
33     UNKNOW_EVENTID = -1,
34     // FAULT_EVENT
35     LOAD_CONFIG_ERROR = 0,
36     LOAD_EFFECT_ENGINE_ERROR = 1,
37     AUDIO_SERVICE_STARTUP_ERROR = 2,
38     AUDIO_STREAM_EXHAUSTED_STATS = 3,
39     AUDIO_STREAM_CREATE_ERROR_STATS = 4,
40     // AGGREGATION_EVENT
41     BACKGROUND_SILENT_PLAYBACK = 5,
42     STREAM_UTILIZATION_STATS = 6,
43     AUDIO_DEVICE_UTILIZATION_STATS = 7,
44     BT_UTILIZATION_STATS = 8,
45     PERFORMANCE_UNDER_OVERRUN_STATS = 9,
46     PLAYBACK_VOLUME_STATS = 10,
47     MUTED_CAPTURE_STATS = 11,
48     STREAM_PROPERTY_STATS = 12,
49     // BEHAVIOR_EVENT
50     DEVICE_CHANGE = 13,
51     HEADSET_CHANGE = 14,
52     VOLUME_CHANGE = 15,
53     STREAM_CHANGE = 16,
54     AUDIO_ROUTE_CHANGE = 17,
55     AUDIO_PIPE_CHANGE = 18,
56     AUDIO_FOCUS_MIGRATE = 19,
57     SET_FORCE_USE_AUDIO_DEVICE = 20,
58 
59     // just for capturer mute status change
60     CAPTURE_MUTE_STATUS_CHANGE = 21,
61 
62     STREAM_STANDBY = 22,
63 };
64 
65 enum EventType {
66     UNKNOW_EVENTTYPE = -1,
67     FAULT_EVENT = 0,
68     BEHAVIOR_EVENT = 1,
69     FREQUENCY_AGGREGATION_EVENT = 2,
70     DURATION_AGGREGATION_EVENT = 3,
71 };
72 
73 struct MonitorDeviceInfo {
74     int32_t deviceType_ = -1;
75     std::string deviceName_ = "";
76     std::string address_ = "";
77     int32_t deviceCategory_ = -1;
78     int32_t usageOrSourceType_ = -1;
79 };
80 
81 enum RendererState {
82     /** INVALID state */
83     RENDERER_INVALID = -1,
84     /** Create New Renderer instance */
85     RENDERER_NEW,
86     /** Reneder Prepared state */
87     RENDERER_PREPARED,
88     /** Rendere Running state */
89     RENDERER_RUNNING,
90     /** Renderer Stopped state */
91     RENDERER_STOPPED,
92     /** Renderer Released state */
93     RENDERER_RELEASED,
94     /** Renderer Paused state */
95     RENDERER_PAUSED
96 };
97 
98 enum CapturerState {
99     /** Capturer INVALID state */
100     CAPTURER_INVALID = -1,
101     /** Create new capturer instance */
102     CAPTURER_NEW,
103     /** Capturer Prepared state */
104     CAPTURER_PREPARED,
105     /** Capturer Running state */
106     CAPTURER_RUNNING,
107     /** Capturer Stopped state */
108     CAPTURER_STOPPED,
109     /** Capturer Released state */
110     CAPTURER_RELEASED,
111     /** Capturer Paused state */
112     CAPTURER_PAUSED
113 };
114 
115 enum AudioConfigType {
116     AUDIO_CONVERTER_CONFIG = 0,
117     AUDIO_DEVICE_PRIVACY = 1,
118     AUDIO_EFFECT_CONFIG = 2,
119     AUDIO_INTERRUPT_POLICY_CONFIG = 3,
120     AUDIO_STRATEGY_ROUTER = 4,
121     AUDIO_TONE_DTMF_CONFIG = 5,
122     AUDIO_USAGE_STRATEGY = 6,
123     AUDIO_VOLUME_CONFIG = 7,
124 };
125 
126 enum ServiceId {
127     AUDIO_SERVER_ID = OHOS::AUDIO_DISTRIBUTED_SERVICE_ID,
128     AUDIO_POLICY_SERVICE_ID = OHOS::AUDIO_POLICY_SERVICE_ID,
129 };
130 
131 enum ServiceType {
132     AUDIO_SERVER = 0,
133     AUDIO_POLICY_SERVER = 1,
134     AUDIO_INTERRUPT_SERVER = 2,
135     AUDIO_POLICY_SERVICE = 3,
136 };
137 
138 enum PerferredType {
139     MEDIA_RENDER = 0,
140     CALL_RENDER = 1,
141     CALL_CAPTURE = 2,
142     RING_RENDER = 3,
143     RECORD_CAPTURE = 4,
144     TONE_RENDER = 5,
145 };
146 
147 enum FocusDirection {
148     LOCAL = 0,
149     ROMOTE = 1,
150 };
151 
152 enum PipeChangeReason {
153     DEVICE_CHANGE_FROM_FAST = 0,
154 };
155 
156 enum EffectEngineType {
157     AUDIO_EFFECT_PROCESS_ENGINE = 0,
158     AUDIO_CONVERTER_ENGINE = 1,
159 };
160 } // namespace MediaMonitor
161 } // namespace Media
162 } // namespace OHOS
163 
164 #endif // I_MEDIA_MONITOR_INFO_H