From fa40542b7bb8afcbefdeaf17f05bc9290be40230 Mon Sep 17 00:00:00 2001 From: zhanghaodong <443802242@qq.com> Date: Sat, 27 Aug 2022 14:50:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:extend=20HDI=20to=20IDL=20conversion=20of?= =?UTF-8?q?=20audio=20=EF=BC=8Cand=20add=20empty=20implementation=20of=20n?= =?UTF-8?q?ew=20IDL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhanghaodong <443802242@qq.com> --- audio/v1_0/AudioTypes.idl | 37 +++++++++++++++++++++++++++++++++++ audio/v1_0/IAudioAdapter.idl | 8 ++++++++ audio/v1_0/IAudioCallback.idl | 1 + audio/v1_0/IAudioCapture.idl | 4 ++++ audio/v1_0/IAudioRender.idl | 5 +++++ 5 files changed, 55 insertions(+) diff --git a/audio/v1_0/AudioTypes.idl b/audio/v1_0/AudioTypes.idl index 0cdd789d..29f4c107 100644 --- a/audio/v1_0/AudioTypes.idl +++ b/audio/v1_0/AudioTypes.idl @@ -251,3 +251,40 @@ struct AudioRoute { struct AudioRouteNode[] sources; struct AudioRouteNode[] sinks; }; +enum EVENT_TYPE { + HDF_AUDIO_DEVICE_ADD = 1, + HDF_AUDIO_DEVICE_REMOVE = 2, + HDF_AUDIO_LOAD_SUCCESS = 3, + HDF_AUDIO_LOAD_FAILURE = 4, + HDF_AUDIO_UNLOAD = 5, + HDF_AUDIO_SERVICE_VALID = 7, + HDF_AUDIO_SERVICE_INVALID = 8, + HDF_AUDIO_CAPTURE_THRESHOLD = 9, + HDF_AUDIO_EVENT_UNKOWN = 10, +}; +enum DEVICE_TYPE { + HDF_AUDIO_LINEOUT = 1, + HDF_AUDIO_HEADPHONE = 2, + HDF_AUDIO_HEADSET = 4, + HDF_AUDIO_USB_HEADSET = 8, + HDF_AUDIO_USB_HEADPHONE = 16, + HDF_AUDIO_USBA_HEADSET = 32, + HDF_AUDIO_USBA_HEADPHONE = 64, + HDF_AUDIO_PRIMARY_DEVICE = 128, + HDF_AUDIO_USB_DEVICE = 256, + HDF_AUDIO_A2DP_DEVICE = 512, + HDF_AUDIO_DEVICE_UNKOWN = 513, +}; +enum AudioExtParamKey { + AUDIO_EXT_PARAM_KEY_NONE = 0, /**< Distributed audio extra param key none */ + AUDIO_EXT_PARAM_KEY_VOLUME = 1, /**< Distributed audio extra param key volume event */ + AUDIO_EXT_PARAM_KEY_FOCUS = 2, /**< Distributed audio extra param key focus event */ + AUDIO_EXT_PARAM_KEY_BUTTON = 3, /**< Distributed audio extra param key media button event */ + AUDIO_EXT_PARAM_KEY_EFFECT = 4, /**< Distributed audio extra param key audio effect event */ + AUDIO_EXT_PARAM_KEY_STATUS = 5, /**< Distributed audio extra param key device status event */ + AUDIO_EXT_PARAM_KEY_LOWPOWER = 1000, /**< Low power event type */ +}; +struct AudioEvent { + unsigned int eventType; + unsigned int deviceType; +}; \ No newline at end of file diff --git a/audio/v1_0/IAudioAdapter.idl b/audio/v1_0/IAudioAdapter.idl index f49ba0da..2958f866 100644 --- a/audio/v1_0/IAudioAdapter.idl +++ b/audio/v1_0/IAudioAdapter.idl @@ -29,4 +29,12 @@ interface IAudioAdapter { SetPassthroughMode([in] struct AudioPort port, [in] enum AudioPortPassthroughMode mode); GetPassthroughMode([in] struct AudioPort port, [out] enum AudioPortPassthroughMode mode); GetDeviceStatus([out] struct AudioDeviceStatus status); + UpdateAudioRoute([in] struct AudioRoute route, [out] int routeHandle); + ReleaseAudioRoute([in] int routeHandle); + SetMicMute([in] boolean mute); + GetMicMute([out] boolean mute); + SetVoiceVolume([in] float volume); + SetExtraParams([in] enum AudioExtParamKey key, [in] String condition, [in] String value); + GetExtraParams([in] enum AudioExtParamKey key, [in] String condition, [out] String value); + RegExtraParamObserver([in] IAudioCallback audioCallback, [in] byte cookie); } diff --git a/audio/v1_0/IAudioCallback.idl b/audio/v1_0/IAudioCallback.idl index c617e1b2..8b8547c3 100644 --- a/audio/v1_0/IAudioCallback.idl +++ b/audio/v1_0/IAudioCallback.idl @@ -42,4 +42,5 @@ import ohos.hdi.audio.v1_0.AudioTypes; */ [callback] interface IAudioCallback { RenderCallback([in] enum AudioCallbackType type, [out] byte reserved, [out] byte cookie); + ParamCallback([in] enum AudioExtParamKey key, [in] byte condition, [in] byte value, [out] byte reserved, [out] byte cookie); } diff --git a/audio/v1_0/IAudioCapture.idl b/audio/v1_0/IAudioCapture.idl index b83caaa1..f93858e9 100644 --- a/audio/v1_0/IAudioCapture.idl +++ b/audio/v1_0/IAudioCapture.idl @@ -38,6 +38,9 @@ interface IAudioCapture { GetExtraParams([out] String keyValueList); ReqMmapBuffer([in] int reqSize, [in] struct AudioMmapBufferDescripter desc); GetMmapPosition([out] unsigned long frames, [out] struct AudioTimeStamp time); + AddAudioEffect([in] unsigned long effectid); + RemoveAudioEffect([in] unsigned long effectid); + GetFrameBufferSize([out] unsigned long bufferSize); Start(); Stop(); Pause(); @@ -45,4 +48,5 @@ interface IAudioCapture { Flush(); TurnStandbyMode(); AudioDevDump([in] int range, [in] int fd); + IsSupportsPauseAndResume([out] boolean supportPause, [out] boolean supportResume); } diff --git a/audio/v1_0/IAudioRender.idl b/audio/v1_0/IAudioRender.idl index 0712c090..0512b474 100644 --- a/audio/v1_0/IAudioRender.idl +++ b/audio/v1_0/IAudioRender.idl @@ -28,6 +28,7 @@ interface IAudioRender { GetChannelMode([out] enum AudioChannelMode mode); RegCallback([in] IAudioCallback audioCallback, [in] byte cookie); DrainBuffer([out] enum AudioDrainNotifyType type); + IsSupportsDrain([out] boolean support); CheckSceneCapability([in] struct AudioSceneDescriptor scene, [out] boolean supported); SelectScene([in] struct AudioSceneDescriptor scene); SetMute([in] boolean mute); @@ -46,6 +47,9 @@ interface IAudioRender { GetExtraParams([out] String keyValueList); ReqMmapBuffer([in] int reqSize, [in] struct AudioMmapBufferDescripter desc); GetMmapPosition([out] unsigned long frames, [out] struct AudioTimeStamp time); + AddAudioEffect([in] unsigned long effectid); + RemoveAudioEffect([in] unsigned long effectid); + GetFrameBufferSize([out] unsigned long bufferSize); Start(); Stop(); Pause(); @@ -53,4 +57,5 @@ interface IAudioRender { Flush(); TurnStandbyMode(); AudioDevDump([in] int range, [in] int fd); + IsSupportsPauseAndResume([out] boolean supportPause, [out] boolean supportResume); } -- Gitee