• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 &timestamp, 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