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