1 /* 2 * Copyright (c) 2021-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_ST_AUDIO_MANAGER_BASE_H 17 #define I_ST_AUDIO_MANAGER_BASE_H 18 19 #include "ipc_types.h" 20 #include "iremote_broker.h" 21 #include "iremote_proxy.h" 22 #include "iremote_stub.h" 23 #include "audio_effect.h" 24 #include "pulseaudio_ipc_interface_code.h" 25 #include "audio_asr.h" 26 27 namespace OHOS { 28 namespace AudioStandard { 29 class AudioDeviceDescriptor; 30 class IStandardAudioService : public IRemoteBroker { 31 public: 32 /** 33 * Sets Microphone Mute status. 34 * 35 * @param isMute Mute status true or false to be set. 36 * @return Returns 0 if success. Otherwise returns Errocode defined in audio_errors.h. 37 */ 38 virtual int32_t SetMicrophoneMute(bool isMute) = 0; 39 40 /** 41 * @brief Set the Voice Volume. 42 * 43 * @param volume Voice colume to be set. 44 * @return int32_t Returns 0 if success. Otherwise returns Errocode defined in audio_errors.h. 45 */ 46 virtual int32_t SetVoiceVolume(float volume) = 0; 47 48 virtual int32_t OffloadSetVolume(float volume) = 0; 49 virtual int32_t SuspendRenderSink(const std::string &sinkName) = 0; 50 virtual int32_t RestoreRenderSink(const std::string &sinkName) = 0; 51 52 /** 53 * Sets Audio modes. 54 * 55 * @param audioScene Audio scene type. 56 * @param activeDevice Currently active priority device 57 * @return Returns 0 if success. Otherwise returns Errocode defined in audio_errors.h. 58 */ 59 virtual int32_t SetAudioScene(AudioScene audioScene, std::vector<DeviceType> &activeOutputDevices, 60 DeviceType activeInputDevice, BluetoothOffloadState a2dpOffloadFlag) = 0; 61 62 /** 63 * Set Audio Parameter. 64 * 65 * @param key for the audio parameter to be set 66 * @param value associated with the key for the audio parameter to be set 67 * @return none. 68 */ 69 virtual void SetAudioParameter(const std::string &key, const std::string &value) = 0; 70 71 /** 72 * Set Asr Aec Mode. 73 * 74 * @param key for the audio parameter to be set 75 * @param value associated with the key for the audio parameter to be set 76 * @return none. 77 */ 78 virtual int32_t SetAsrAecMode(AsrAecMode asrAecMode) = 0; 79 80 /** 81 * Set Asr Aec Mode. 82 * 83 * @param key for the audio parameter to be set 84 * @param value associated with the key for the audio parameter to be set 85 * @return none. 86 */ 87 virtual int32_t GetAsrAecMode(AsrAecMode &asrAecMode) = 0; 88 89 /** 90 * Set Asr Aec Mode. 91 * 92 * @param key for the audio parameter to be set 93 * @param value associated with the key for the audio parameter to be set 94 * @return none. 95 */ 96 virtual int32_t SetAsrNoiseSuppressionMode(AsrNoiseSuppressionMode asrNoiseSuppressionMode) = 0; 97 98 /** 99 * Set Asr Aec Mode. 100 * 101 * @param key for the audio parameter to be set 102 * @param value associated with the key for the audio parameter to be set 103 * @return none. 104 */ 105 virtual int32_t GetAsrNoiseSuppressionMode(AsrNoiseSuppressionMode &asrNoiseSuppressionMode) = 0; 106 107 /** 108 * Set Asr WhisperDetection Mode. 109 * 110 * @param key for the audio parameter to be set 111 * @param value associated with the key for the audio parameter to be set 112 * @return none. 113 */ 114 virtual int32_t SetAsrWhisperDetectionMode(AsrWhisperDetectionMode asrWhisperDetectionMode) = 0; 115 116 /** 117 * Get Asr WhisperDetection Mode. 118 * 119 * @param key for the audio parameter to be set 120 * @param value associated with the key for the audio parameter to be set 121 * @return none. 122 */ 123 virtual int32_t GetAsrWhisperDetectionMode(AsrWhisperDetectionMode &asrWhisperDetectionMode) = 0; 124 125 /** 126 * Set Voice Control Mode. 127 * 128 * @param key for the audio parameter to be set 129 * @param value associated with the key for the audio parameter to be set 130 * @return none. 131 */ 132 virtual int32_t SetAsrVoiceControlMode(AsrVoiceControlMode asrVoiceControlMode, bool on) = 0; 133 134 /** 135 * Set Voice Mute Mode. 136 * 137 * @param key for the audio parameter to be set 138 * @param value associated with the key for the audio parameter to be set 139 * @return none. 140 */ 141 virtual int32_t SetAsrVoiceMuteMode(AsrVoiceMuteMode asrVoiceMuteMode, bool on) = 0; 142 143 /** 144 * Set Asr Aec Mode. 145 * 146 * @param key for the audio parameter to be set 147 * @param value associated with the key for the audio parameter to be set 148 * @return none. 149 */ 150 virtual int32_t IsWhispering() = 0; 151 152 /** 153 * Set Audio Parameter. 154 * 155 * @param networkId for the distributed device 156 * @param key for the audio parameter to be set 157 * @param condition for the audio parameter to be set 158 * @param value associated with the key for the audio parameter to be set 159 * @return none. 160 */ 161 virtual void SetAudioParameter(const std::string& networkId, const AudioParamKey key, const std::string& condition, 162 const std::string& value) = 0; 163 164 /** 165 * Get Audio Parameter. 166 * 167 * @param key for the audio parameter to be set 168 * @return Returns value associated to the key requested. 169 */ 170 virtual const std::string GetAudioParameter(const std::string &key) = 0; 171 172 /** 173 * Set Audio Parameter. 174 * 175 * @param networkId for the distributed device 176 * @param key for the audio parameter to be set 177 * @param condition for the audio parameter to be set 178 * @return none. 179 */ 180 virtual const std::string GetAudioParameter(const std::string& networkId, const AudioParamKey key, 181 const std::string& condition) = 0; 182 183 /** 184 * Set Extra Audio Parameters. 185 * 186 * @param key main key for the extra audio parameter to be set 187 * @param kvpairs associated with the sub keys and values for the extra audio parameter to be set 188 * @return Returns 0 if success. Otherwise returns Errocode defined in audio_errors.h. 189 */ 190 virtual int32_t SetExtraParameters(const std::string &key, 191 const std::vector<std::pair<std::string, std::string>> &kvpairs) = 0; 192 193 /** 194 * Get Extra Audio Parameters. 195 * 196 * @param mainKey main key for the extra audio parameter to be get 197 * @param subKeys associated with the key for the extra audio parameter to be get 198 * @param result value of sub key parameters 199 * @return Returns 0 if success. Otherwise returns Errocode defined in audio_errors.h. 200 */ 201 virtual int32_t GetExtraParameters(const std::string &mainKey, 202 const std::vector<std::string> &subKyes, std::vector<std::pair<std::string, std::string>> &result) = 0; 203 204 /** 205 * Update the audio route after device is detected and route is decided 206 * 207 * @return Returns 0 if success. Otherwise returns Errocode defined in audio_errors.h. 208 */ 209 virtual int32_t UpdateActiveDeviceRoute(DeviceType type, DeviceFlag flag, 210 BluetoothOffloadState a2dpOffloadFlag) = 0; 211 212 /** 213 * Update the audio route after devices is detected and route is decided 214 * 215 * @return Returns 0 if success. Otherwise returns Errocode defined in audio_errors.h. 216 */ 217 virtual int32_t UpdateActiveDevicesRoute(std::vector<std::pair<DeviceType, DeviceFlag>> &activeDevices, 218 BluetoothOffloadState a2dpOffloadFlag, const std::string &deviceName = "") = 0; 219 220 /** 221 * Update the audio dual tone state after devices is detected and route is decided 222 * 223 * @return Returns 0 if success. Otherwise returns Errocode defined in audio_errors.h. 224 */ 225 virtual int32_t UpdateDualToneState(bool enable, int32_t sessionId) = 0; 226 227 /** 228 * Get the transaction Id 229 * 230 * @return Returns transaction id. 231 */ GetTransactionId(DeviceType deviceType,DeviceRole deviceRole)232 virtual uint64_t GetTransactionId(DeviceType deviceType, DeviceRole deviceRole) 233 { 234 (void)deviceType; 235 (void)deviceRole; 236 return 0; 237 } 238 239 /** 240 * Notify device connect info 241 * 242 * @return Returns transaction id. 243 */ 244 virtual void NotifyDeviceInfo(std::string networkId, bool connected) = 0; 245 246 /** 247 * Check remote device state. 248 * 249 * @return Returns transaction id. 250 */ 251 virtual int32_t CheckRemoteDeviceState(std::string networkId, DeviceRole deviceRole, bool isStartDevice) = 0; 252 253 /** 254 * Set parameter callback 255 * 256 * @return Returns the setting result 257 */ 258 virtual int32_t SetParameterCallback(const sptr<IRemoteObject>& object) = 0; 259 260 /** 261 * Set wakeupSource callback 262 * 263 * @return Returns the setting result 264 */ 265 virtual int32_t SetWakeupSourceCallback(const sptr<IRemoteObject>& object) = 0; 266 267 /** 268 * Set audio mono state for accessibility 269 * 270 * @param audioMono the state of mono audio for accessibility 271 * @return none. 272 */ 273 virtual void SetAudioMonoState(bool audioMono) = 0; 274 275 /** 276 * Set audio balance value for accessibility 277 * 278 * @param audioBalance the value of audio balance for accessibility 279 * @return none. 280 */ 281 virtual void SetAudioBalanceValue(float audioBalance) = 0; 282 283 /** 284 * Create AudioProcess for play. 285 * 286 * @param config the config of the AudioProcess 287 * 288 * @return Returns AudioProcess client. 289 */ 290 virtual sptr<IRemoteObject> CreateAudioProcess(const AudioProcessConfig &config, int32_t &errorCode, 291 const AudioPlaybackCaptureConfig &filterConfig = AudioPlaybackCaptureConfig()) = 0; 292 293 /** 294 * Use effect manager information to load effect libraries. 295 * 296 * @return true/false. 297 */ 298 virtual bool LoadAudioEffectLibraries(std::vector<Library> libraries, std::vector<Effect> effects, 299 std::vector<Effect> &successEffects) = 0; 300 301 /** 302 * Create effect chain manager for audio effect processing. 303 * 304 * @return true/false. 305 */ 306 virtual bool CreateEffectChainManager(std::vector<EffectChain> &effectChains, 307 const EffectChainManagerParam &effectParam, const EffectChainManagerParam &enhanceParam) = 0; 308 309 /** 310 * Set output device sink for effect chain manager. 311 * 312 * @return none. 313 */ 314 virtual void SetOutputDeviceSink(int32_t device, std::string &sinkName) = 0; 315 316 /** 317 * Regiest policy provider. 318 * 319 * @return result code. 320 */ 321 virtual int32_t RegiestPolicyProvider(const sptr<IRemoteObject> &object) = 0; 322 323 /** 324 * Create playback capturer manager. 325 * 326 * @return true/false. 327 */ 328 virtual bool CreatePlaybackCapturerManager() = 0; 329 330 /** 331 * Update spatialization enabled state and head tracking enabled state. 332 * 333 * @param state identify the enabled state 334 * 335 * @return result of setting. 0 if success, error number else. 336 */ 337 virtual int32_t UpdateSpatializationState(AudioSpatializationState spatializationState) = 0; 338 339 /** 340 * Update spatial device type. 341 * 342 * @param spatialDeviceType identify the spatial device type. 343 * 344 * @return result of setting. 0 if success, error number else. 345 */ 346 virtual int32_t UpdateSpatialDeviceType(AudioSpatialDeviceType spatialDeviceType) = 0; 347 348 /** 349 * Notify Stream volume changed. 350 * 351 * @param streamType specified streamType whose volume to be notified 352 * @param volume stream volume in float 353 * 354 * @return result of notify. 0 if success, error number else. 355 */ 356 virtual int32_t NotifyStreamVolumeChanged(AudioStreamType streamType, float volume) = 0; 357 358 /** 359 * Set spatialization rendering scene type. 360 * 361 * @param spatializationSceneType identify the spatialization rendering scene type to be set. 362 * 363 * @return result of setting. 0 if success, error number else. 364 */ 365 virtual int32_t SetSpatializationSceneType(AudioSpatializationSceneType spatializationSceneType) = 0; 366 367 virtual int32_t ResetRouteForDisconnect(DeviceType type) = 0; 368 369 /** 370 * get the effect algorithmic latency value for a specified audio stream. 371 * 372 * @param sessionId the session ID value for the stream 373 * 374 * @return Returns the effect algorithmic latency in ms. 375 */ 376 virtual uint32_t GetEffectLatency(const std::string &sessionId) = 0; 377 378 /** 379 * Get max amplitude for device. 380 * 381 * @param isOutputDevice specified if the device is output device 382 * @param deviceClass specified deviceClass to get max amplitude 383 * @param sourceType specified sourceType when capture 384 * 385 * @return result of max amplitude. 386 */ 387 virtual float GetMaxAmplitude(bool isOutputDevice, std::string deviceClass, SourceType sourceType) = 0; 388 389 /** 390 * Release old endpoint and re-create one. 391 */ 392 virtual void ResetAudioEndpoint() = 0; 393 394 virtual void UpdateLatencyTimestamp(std::string ×tamp, bool isRenderer) = 0; 395 396 // Check if the multi-channel sound effect is working on the DSP 397 virtual bool GetEffectOffloadEnabled() = 0; 398 // for effect V3 399 virtual int32_t SetAudioEffectProperty(const AudioEffectPropertyArrayV3 &propertyArray, 400 const DeviceType& deviceType = DEVICE_TYPE_NONE) = 0; 401 virtual int32_t GetAudioEffectProperty(AudioEffectPropertyArrayV3 &propertyArray, 402 const DeviceType& deviceType = DEVICE_TYPE_NONE) = 0; 403 // for effect 404 virtual int32_t SetAudioEffectProperty(const AudioEffectPropertyArray &propertyArray) = 0; 405 virtual int32_t GetAudioEffectProperty(AudioEffectPropertyArray &propertyArray) = 0; 406 // for enhance 407 virtual int32_t SetAudioEnhanceProperty(const AudioEnhancePropertyArray &propertyArray, 408 DeviceType deviceType = DEVICE_TYPE_NONE) = 0; 409 virtual int32_t GetAudioEnhanceProperty(AudioEnhancePropertyArray &propertyArray, 410 DeviceType deviceType = DEVICE_TYPE_NONE) = 0; 411 412 /** 413 * Load effect hdi model when audio_host online. 414 */ 415 virtual void LoadHdiEffectModel() = 0; 416 417 /** 418 * Update Effect BtOffload Supported state. 419 */ 420 virtual void UpdateEffectBtOffloadSupported(const bool &isSupported) = 0; 421 422 /** 423 * Set Sink Mute For Switch Device. 424 */ 425 virtual int32_t SetSinkMuteForSwitchDevice(const std::string &devceClass, int32_t durationUs, bool mute) = 0; 426 427 /** 428 * Restore Session 429 */ 430 virtual void RestoreSession(const uint32_t &sessionID, RestoreInfo restoreInfo) = 0; 431 432 /** 433 * Set Rotation To Effect. 434 */ 435 virtual void SetRotationToEffect(const uint32_t rotate) = 0; 436 437 /** 438 * Update Session Connection State 439 */ 440 virtual void UpdateSessionConnectionState(const int32_t &sessionID, const int32_t &state) = 0; 441 442 /** 443 * Set Non Interrupt Mute 444 */ 445 virtual void SetNonInterruptMute(const uint32_t sessionId, const bool muteFlag) = 0; 446 447 virtual int32_t SetOffloadMode(uint32_t sessionId, int32_t state, bool isAppBack) = 0; 448 449 virtual int32_t UnsetOffloadMode(uint32_t sessionId) = 0; 450 451 virtual void CheckHibernateState(bool onHibernate) = 0; 452 453 /** 454 * Create IpcOfflineStream for audio edition. 455 * 456 * @return Returns IpcOfflineStream client. 457 */ 458 virtual sptr<IRemoteObject> CreateIpcOfflineStream(int32_t &errorCode) = 0; 459 460 /** 461 * Get all offline audio effect chain names for audio edition. 462 * 463 * @return Returns result of querying, 0 if success, error number else. 464 */ 465 virtual int32_t GetOfflineAudioEffectChains(std::vector<std::string> &effectChains) = 0; 466 467 /** 468 * check standby status. 469 * 470 * @return Returns result 0 if success, error number else. 471 */ 472 virtual int32_t GetStandbyStatus(uint32_t sessionId, bool &isStandby, int64_t &enterStandbyTime) = 0; 473 474 /** 475 * generate sessionId. 476 * 477 * @return Returns result 0 if success, error number else. 478 */ 479 virtual int32_t GenerateSessionId(uint32_t &sessionId) = 0; 480 481 virtual void NotifyAccountsChanged() = 0; 482 483 virtual void NotifySettingsDataReady() = 0; 484 485 virtual void GetAllSinkInputs(std::vector<SinkInput> &sinkInputs) = 0; 486 487 virtual void SetDefaultAdapterEnable(bool isEnable) = 0; 488 489 virtual void NotifyAudioPolicyReady() = 0; 490 491 #ifdef HAS_FEATURE_INNERCAPTURER 492 /** 493 * set inner capture limit. 494 * @param innerCapLimit inner capture limit num 495 * @return Returns result 0 if success, error number else. 496 */ 497 virtual int32_t SetInnerCapLimit(uint32_t innerCapLimit) = 0; 498 /** 499 * check inner capture limit 500 * @param AudioPlaybackCaptureConfig inner capture filter info 501 * @param innerCapId unique identifier of inner capture 502 * @return Returns result 0 if success, error number else. 503 */ 504 virtual int32_t CheckCaptureLimit(const AudioPlaybackCaptureConfig &config, int32_t &innerCapId) = 0; 505 /** 506 * release inner capture limit 507 * @param innerCapId unique identifier of inner capture 508 * @return Returns result 0 if success, error number else. 509 */ 510 virtual int32_t ReleaseCaptureLimit(int32_t innerCapId) = 0; 511 #endif 512 513 /** 514 * Load adapter of hal. 515 * 516 * @param devMgrType specify which manager to load adapter, include local, bt, remote. 517 * @param adapterName name of adapter to load. 518 * 519 * @return Returns result 0 if success, error number else. 520 */ 521 virtual int32_t LoadHdiAdapter(uint32_t devMgrType, const std::string &adapterName) = 0; 522 523 /** 524 * Unload adapter of hal. 525 * 526 * @param devMgrType specify which manager to unload adapter, include local, bt, remote. 527 * @param adapterName name of adapter to unload. 528 * @param force need to force unload adapter. 529 * 530 * @return none. 531 */ 532 virtual void UnloadHdiAdapter(uint32_t devMgrType, const std::string &adapterName, bool force) = 0; 533 virtual void SetDeviceConnectedFlag(bool flag) = 0; 534 public: 535 DECLARE_INTERFACE_DESCRIPTOR(u"IStandardAudioService"); 536 }; 537 538 class AudioManagerStub : public IRemoteStub<IStandardAudioService> { 539 public: 540 virtual int OnRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, 541 MessageOption &option) override; 542 543 private: 544 int HandleGetAudioParameter(MessageParcel &data, MessageParcel &reply); 545 int HandleSetAudioParameter(MessageParcel &data, MessageParcel &reply); 546 int HandleGetExtraAudioParameters(MessageParcel &data, MessageParcel &reply); 547 int HandleSetExtraAudioParameters(MessageParcel &data, MessageParcel &reply); 548 int HandleSetMicrophoneMute(MessageParcel &data, MessageParcel &reply); 549 int HandleSetAudioScene(MessageParcel &data, MessageParcel &reply); 550 int HandleUpdateActiveDeviceRoute(MessageParcel &data, MessageParcel &reply); 551 int HandleUpdateActiveDevicesRoute(MessageParcel &data, MessageParcel &reply); 552 int HandleDualToneState(MessageParcel &data, MessageParcel &reply); 553 int HandleGetTransactionId(MessageParcel &data, MessageParcel &reply); 554 int HandleSetParameterCallback(MessageParcel &data, MessageParcel &reply); 555 int HandleGetRemoteAudioParameter(MessageParcel &data, MessageParcel &reply); 556 int HandleSetRemoteAudioParameter(MessageParcel &data, MessageParcel &reply); 557 int HandleNotifyDeviceInfo(MessageParcel &data, MessageParcel &reply); 558 int HandleCheckRemoteDeviceState(MessageParcel &data, MessageParcel &reply); 559 int HandleSetVoiceVolume(MessageParcel &data, MessageParcel &reply); 560 int HandleSetAudioMonoState(MessageParcel &data, MessageParcel &reply); 561 int HandleSetAudioBalanceValue(MessageParcel &data, MessageParcel &reply); 562 int HandleCreateAudioProcess(MessageParcel &data, MessageParcel &reply); 563 int HandleLoadAudioEffectLibraries(MessageParcel &data, MessageParcel &reply); 564 int HandleCreateAudioEffectChainManager(MessageParcel &data, MessageParcel &reply); 565 int HandleSetOutputDeviceSink(MessageParcel &data, MessageParcel &reply); 566 int HandleCreatePlaybackCapturerManager(MessageParcel &data, MessageParcel &reply); 567 int HandleRegiestPolicyProvider(MessageParcel &data, MessageParcel &reply); 568 int HandleSetWakeupSourceCallback(MessageParcel &data, MessageParcel &reply); 569 int HandleUpdateSpatializationState(MessageParcel &data, MessageParcel &reply); 570 int HandleUpdateSpatialDeviceType(MessageParcel& data, MessageParcel& reply); 571 int HandleOffloadSetVolume(MessageParcel &data, MessageParcel &reply); 572 int HandleNotifyStreamVolumeChanged(MessageParcel &data, MessageParcel &reply); 573 int HandleSetSpatializationSceneType(MessageParcel &data, MessageParcel &reply); 574 int HandleGetMaxAmplitude(MessageParcel &data, MessageParcel &reply); 575 int HandleResetAudioEndpoint(MessageParcel &data, MessageParcel &reply); 576 int HandleResetRouteForDisconnect(MessageParcel &data, MessageParcel &reply); 577 int HandleGetEffectLatency(MessageParcel &data, MessageParcel &reply); 578 int HandleUpdateLatencyTimestamp(MessageParcel &data, MessageParcel &reply); 579 int HandleSetAsrAecMode(MessageParcel &data, MessageParcel &reply); 580 int HandleGetAsrAecMode(MessageParcel &data, MessageParcel &reply); 581 int HandleSetAsrNoiseSuppressionMode(MessageParcel &data, MessageParcel &reply); 582 int HandleSetOffloadMode(MessageParcel &data, MessageParcel &reply); 583 int HandleUnsetOffloadMode(MessageParcel &data, MessageParcel &reply); 584 int HandleCheckHibernateState(MessageParcel &data, MessageParcel &reply); 585 int HandleGetAsrNoiseSuppressionMode(MessageParcel &data, MessageParcel &reply); 586 int HandleSetAsrWhisperDetectionMode(MessageParcel &data, MessageParcel &reply); 587 int HandleGetAsrWhisperDetectionMode(MessageParcel &data, MessageParcel &reply); 588 int HandleSetAsrVoiceControlMode(MessageParcel &data, MessageParcel &reply); 589 int HandleSetAsrVoiceMuteMode(MessageParcel &data, MessageParcel &reply); 590 int HandleIsWhispering(MessageParcel &data, MessageParcel &reply); 591 int HandleGetEffectOffloadEnabled(MessageParcel &data, MessageParcel &reply); 592 int HandleSetAudioEffectPropertyV3(MessageParcel &data, MessageParcel &reply); 593 int HandleGetAudioEffectPropertyV3(MessageParcel &data, MessageParcel &reply); 594 int HandleSetAudioEffectProperty(MessageParcel &data, MessageParcel &reply); 595 int HandleGetAudioEffectProperty(MessageParcel &data, MessageParcel &reply); 596 int HandleSetAudioEnhanceProperty(MessageParcel &data, MessageParcel &reply); 597 int HandleGetAudioEnhanceProperty(MessageParcel &data, MessageParcel &reply); 598 int HandleSuspendRenderSink(MessageParcel &data, MessageParcel &reply); 599 int HandleRestoreRenderSink(MessageParcel &data, MessageParcel &reply); 600 int HandleLoadHdiEffectModel(MessageParcel &data, MessageParcel &reply); 601 int HandleUpdateEffectBtOffloadSupported(MessageParcel &data, MessageParcel &reply); 602 int HandleSetSinkMuteForSwitchDevice(MessageParcel &data, MessageParcel &reply); 603 int HandleSetRotationToEffect(MessageParcel &data, MessageParcel &reply); 604 int HandleUpdateSessionConnectionState(MessageParcel &data, MessageParcel &reply); 605 int HandleSetNonInterruptMute(MessageParcel &data, MessageParcel &reply); 606 int HandleRestoreSession(MessageParcel &data, MessageParcel &reply); 607 int HandleCreateIpcOfflineStream(MessageParcel &data, MessageParcel &reply); 608 int HandleGetOfflineAudioEffectChains(MessageParcel &data, MessageParcel &reply); 609 int HandleGetStandbyStatus(MessageParcel &data, MessageParcel &reply); 610 int HandleGenerateSessionId(MessageParcel &data, MessageParcel &reply); 611 int HandleNotifyAccountsChanged(MessageParcel &data, MessageParcel &reply); 612 int HandleGetAllSinkInputs(MessageParcel &data, MessageParcel &reply); 613 int HandleSetDefaultAdapterEnable(MessageParcel &data, MessageParcel &reply); 614 int HandleNotifyAudioPolicyReady(MessageParcel &data, MessageParcel &reply); 615 #ifdef HAS_FEATURE_INNERCAPTURER 616 int HandleSetInnerCapLimit(MessageParcel &data, MessageParcel &reply); 617 int HandleCheckCaptureLimit(MessageParcel &data, MessageParcel &reply); 618 int HandleReleaseCaptureLimit(MessageParcel &data, MessageParcel &reply); 619 #endif 620 int HandleLoadHdiAdapter(MessageParcel &data, MessageParcel &reply); 621 int HandleUnloadHdiAdapter(MessageParcel &data, MessageParcel &reply); 622 int HandleDeviceConnectedFlag(MessageParcel &data, MessageParcel &reply); 623 int HandleNotifySettingsDataReady(MessageParcel &data, MessageParcel &reply); 624 625 int HandleSecondPartCode(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 626 int HandleThirdPartCode(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 627 int HandleFourthPartCode(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 628 int HandleFifthPartCode(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 629 }; 630 } // namespace AudioStandard 631 } // namespace OHOS 632 #endif // I_ST_AUDIO_MANAGER_BASE_H 633