From 7047048c139b9052c50aef4bf441bc242e6f3689 Mon Sep 17 00:00:00 2001 From: huchang Date: Mon, 11 Mar 2024 21:07:38 +0800 Subject: [PATCH 1/3] add privacy type for playback capture in AudioKit Signed-off-by: huchang Change-Id: I200d163e76ab51baae70642701751057f3660da4 --- .../audio_renderer/native_audiorenderer.h | 10 ++++++++++ .../audio_framework/common/native_audiostream_base.h | 12 ++++++++++++ .../common/native_audiostreambuilder.h | 11 +++++++++++ multimedia/audio_framework/ohaudio.ndk.json | 8 ++++++++ 4 files changed, 41 insertions(+) diff --git a/multimedia/audio_framework/audio_renderer/native_audiorenderer.h b/multimedia/audio_framework/audio_renderer/native_audiorenderer.h index b1121a9f050..89b86a734bb 100644 --- a/multimedia/audio_framework/audio_renderer/native_audiorenderer.h +++ b/multimedia/audio_framework/audio_renderer/native_audiorenderer.h @@ -351,6 +351,16 @@ OH_AudioStream_Result OH_AudioRenderer_GetEffectMode(OH_AudioRenderer* renderer, OH_AudioStream_Result OH_AudioRenderer_SetEffectMode(OH_AudioRenderer* renderer, OH_AudioStream_AudioEffectMode effectMode); +/** + * @brief Get the privacy of this stream. + * + * @param renderer Renderer generated by OH_AudioStreamBuilder_GenerateRenderer() + * @param privacy Pointer to a variable which receives the results. + * @return {@link #AUDIOSTREAM_SUCCESS} or an undesired error. + * @since 12 + */ +OH_AudioStream_Result OH_AudioRenderer_GetRendererPrivacy(OH_AudioRenderer* renderer, + OH_AudioStream_PrivacyType* privacy); #ifdef __cplusplus } #endif diff --git a/multimedia/audio_framework/common/native_audiostream_base.h b/multimedia/audio_framework/common/native_audiostream_base.h index accc468ff82..ed5644296c7 100644 --- a/multimedia/audio_framework/common/native_audiostream_base.h +++ b/multimedia/audio_framework/common/native_audiostream_base.h @@ -645,6 +645,18 @@ typedef void (*OH_AudioRenderer_OnMarkReachedCallback)(OH_AudioRenderer* rendere */ typedef int32_t (*OH_AudioRenderer_WriteDataWithMetadataCallback)(OH_AudioRenderer* renderer, void* userData, void* audioData, int32_t audioDataSize, void* metadata, int32_t metadataSize); + +/** + * @brief Defines Enumeration of audio stream privacy type for playback capture. + * + * @since 12 + */ +typedef enum { + /* Privacy type that stream can be captured by third party applications. */ + PRIVACY_TYPE_PUBLIC = 0, + /* Privacy type that stream can not be captured. */ + PRIVACY_TYPE_PRIVATE = 1, +} OH_AudioStream_PrivacyType; #ifdef __cplusplus } #endif diff --git a/multimedia/audio_framework/common/native_audiostreambuilder.h b/multimedia/audio_framework/common/native_audiostreambuilder.h index 9739faeeb9f..0fdb40557d9 100644 --- a/multimedia/audio_framework/common/native_audiostreambuilder.h +++ b/multimedia/audio_framework/common/native_audiostreambuilder.h @@ -188,6 +188,17 @@ OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererCallback(OH_AudioStreamBu OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererOutputDeviceChangeCallback(OH_AudioStreamBuilder* builder, OH_AudioRenderer_OutputDeviceChangeCallback callback, void* userData); +/** + * @brief Set the privacy of audio render. + * + * @param builder Builder provided by OH_AudioStreamBuilder_Create() + * @param privacy Privacy type. + * @return {@link #AUDIOSTREAM_SUCCESS} or an undesired error. + * @since 12 + */ +OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererPrivacy(OH_AudioStreamBuilder* builder, + OH_AudioStream_PrivacyType privacy); + /* * Set the callbacks for the capturer client * diff --git a/multimedia/audio_framework/ohaudio.ndk.json b/multimedia/audio_framework/ohaudio.ndk.json index 9433d59aac0..6799fa457de 100644 --- a/multimedia/audio_framework/ohaudio.ndk.json +++ b/multimedia/audio_framework/ohaudio.ndk.json @@ -302,5 +302,13 @@ { "first_introduced": "12", "name": "OH_AudioDeviceDescriptor_GetDeviceEncodingTypes" + }, + { + "first_introduced": "12", + "name": "OH_AudioStreamBuilder_SetRendererPrivacy" + }, + { + "first_introduced": "12", + "name": "OH_AudioRenderer_GetRendererPrivacy" } ] -- Gitee From 088c859de76cbc69085a9c9d29ce8b93ed290af8 Mon Sep 17 00:00:00 2001 From: huchang Date: Mon, 11 Mar 2024 21:30:02 +0800 Subject: [PATCH 2/3] deprecate playback capture in audio fwk Signed-off-by: huchang Change-Id: I018fd9b6d00684e7b499f1490994c0f3e89af8b9 --- multimedia/audio_framework/common/native_audiostream_base.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/multimedia/audio_framework/common/native_audiostream_base.h b/multimedia/audio_framework/common/native_audiostream_base.h index ed5644296c7..a05739ccecc 100644 --- a/multimedia/audio_framework/common/native_audiostream_base.h +++ b/multimedia/audio_framework/common/native_audiostream_base.h @@ -415,6 +415,8 @@ typedef enum { /** * Playback capture source type. * + * @deprecated since 12 + * @useinstead AVScreenCapture in MediaKit. * @since 10 */ AUDIOSTREAM_SOURCE_TYPE_PLAYBACK_CAPTURE = 2, -- Gitee From 8e2ab87c9ad1047cb83bd0f52569e9568c70f1dd Mon Sep 17 00:00:00 2001 From: huchang Date: Sat, 23 Mar 2024 17:02:11 +0800 Subject: [PATCH 3/3] rename enum name of audio stream privacy type Signed-off-by: huchang Change-Id: Ib0a59c5bfcdf76ed0c9686c1f0ec6cd2231b7c72 --- .../common/native_audiostream_base.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/multimedia/audio_framework/common/native_audiostream_base.h b/multimedia/audio_framework/common/native_audiostream_base.h index a05739ccecc..f4b77d3cfa9 100644 --- a/multimedia/audio_framework/common/native_audiostream_base.h +++ b/multimedia/audio_framework/common/native_audiostream_base.h @@ -416,7 +416,7 @@ typedef enum { * Playback capture source type. * * @deprecated since 12 - * @useinstead AVScreenCapture in MediaKit. + * @useinstead OH_AVScreenCapture in native interface. * @since 10 */ AUDIOSTREAM_SOURCE_TYPE_PLAYBACK_CAPTURE = 2, @@ -654,10 +654,14 @@ typedef int32_t (*OH_AudioRenderer_WriteDataWithMetadataCallback)(OH_AudioRender * @since 12 */ typedef enum { - /* Privacy type that stream can be captured by third party applications. */ - PRIVACY_TYPE_PUBLIC = 0, - /* Privacy type that stream can not be captured. */ - PRIVACY_TYPE_PRIVATE = 1, + /** Privacy type that stream can be captured by third party applications. + * @since 12 + */ + AUDIO_STREAM_PRIVACY_TYPE_PUBLIC = 0, + /** Privacy type that stream can not be captured. + * @since 12 + */ + AUDIO_STREAM_PRIVACY_TYPE_PRIVATE = 1, } OH_AudioStream_PrivacyType; #ifdef __cplusplus } -- Gitee