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 AI_VOICE_NOISE_SUPPRESSION = 23, 64 VOLUME_SUBSCRIBE = 24, 65 SMARTPA_STATUS = 25, 66 JANK_PLAYBACK = 26, 67 68 EXCLUDE_OUTPUT_DEVICE = 27, 69 }; 70 71 enum EventType { 72 UNKNOW_EVENTTYPE = -1, 73 FAULT_EVENT = 0, 74 BEHAVIOR_EVENT = 1, 75 FREQUENCY_AGGREGATION_EVENT = 2, 76 DURATION_AGGREGATION_EVENT = 3, 77 }; 78 79 struct MonitorDeviceInfo { 80 int32_t deviceType_ = -1; 81 int32_t deviceCategory_ = -1; 82 int32_t usageOrSourceType_ = -1; 83 int32_t audioDeviceUsage_ = -1; 84 std::string deviceName_ = ""; 85 std::string address_ = ""; 86 std::string networkId_ = ""; 87 }; 88 89 enum RendererState { 90 /** INVALID state */ 91 RENDERER_INVALID = -1, 92 /** Create New Renderer instance */ 93 RENDERER_NEW, 94 /** Reneder Prepared state */ 95 RENDERER_PREPARED, 96 /** Rendere Running state */ 97 RENDERER_RUNNING, 98 /** Renderer Stopped state */ 99 RENDERER_STOPPED, 100 /** Renderer Released state */ 101 RENDERER_RELEASED, 102 /** Renderer Paused state */ 103 RENDERER_PAUSED 104 }; 105 106 enum CapturerState { 107 /** Capturer INVALID state */ 108 CAPTURER_INVALID = -1, 109 /** Create new capturer instance */ 110 CAPTURER_NEW, 111 /** Capturer Prepared state */ 112 CAPTURER_PREPARED, 113 /** Capturer Running state */ 114 CAPTURER_RUNNING, 115 /** Capturer Stopped state */ 116 CAPTURER_STOPPED, 117 /** Capturer Released state */ 118 CAPTURER_RELEASED, 119 /** Capturer Paused state */ 120 CAPTURER_PAUSED 121 }; 122 123 enum AudioConfigType { 124 AUDIO_CONVERTER_CONFIG = 0, 125 AUDIO_DEVICE_PRIVACY = 1, 126 AUDIO_EFFECT_CONFIG = 2, 127 AUDIO_INTERRUPT_POLICY_CONFIG = 3, 128 AUDIO_STRATEGY_ROUTER = 4, 129 AUDIO_TONE_DTMF_CONFIG = 5, 130 AUDIO_USAGE_STRATEGY = 6, 131 AUDIO_VOLUME_CONFIG = 7, 132 }; 133 134 enum ServiceId { 135 AUDIO_SERVER_ID = OHOS::AUDIO_DISTRIBUTED_SERVICE_ID, 136 AUDIO_POLICY_SERVICE_ID = OHOS::AUDIO_POLICY_SERVICE_ID, 137 }; 138 139 enum ServiceType { 140 AUDIO_SERVER = 0, 141 AUDIO_POLICY_SERVER = 1, 142 AUDIO_INTERRUPT_SERVER = 2, 143 AUDIO_POLICY_SERVICE = 3, 144 }; 145 146 enum PreferredType { 147 MEDIA_RENDER = 0, 148 CALL_RENDER = 1, 149 CALL_CAPTURE = 2, 150 RING_RENDER = 3, 151 RECORD_CAPTURE = 4, 152 TONE_RENDER = 5, 153 }; 154 155 enum FocusDirection { 156 LOCAL = 0, 157 ROMOTE = 1, 158 }; 159 160 enum PipeChangeReason { 161 DEVICE_CHANGE_FROM_FAST = 0, 162 }; 163 164 enum EffectEngineType { 165 AUDIO_EFFECT_PROCESS_ENGINE = 0, 166 AUDIO_CONVERTER_ENGINE = 1, 167 }; 168 169 enum AudioDeviceUsage { 170 MEDIA_OUTPUT_DEVICES = 1, 171 MEDIA_INPUT_DEVICES = 2, 172 ALL_MEDIA_DEVICES = 3, 173 CALL_OUTPUT_DEVICES = 4, 174 CALL_INPUT_DEVICES = 8, 175 ALL_CALL_DEVICES = 12, 176 D_ALL_DEVICES = 15, 177 }; 178 } // namespace MediaMonitor 179 } // namespace Media 180 } // namespace OHOS 181 182 #endif // I_MEDIA_MONITOR_INFO_H