From 4d8da12a6198fff674a69072ac950377e77b96a3 Mon Sep 17 00:00:00 2001 From: liyang Date: Sat, 16 Mar 2024 10:35:11 +0800 Subject: [PATCH 1/8] Screen capture API Changes in SDK Signed-off-by: liyang --- .../libnative_avscreen_capture.ndk.json | 11 +- .../native_avscreen_capture.h | 150 ++++++++++++++++-- .../native_avscreen_capture_base.h | 130 +++++++++++++++ 3 files changed, 278 insertions(+), 13 deletions(-) diff --git a/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json b/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json index f00ca3838..a2280cb99 100644 --- a/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json +++ b/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json @@ -2,6 +2,7 @@ { "name": "OH_AVScreenCapture_Create" }, { "name": "OH_AVScreenCapture_Init" }, { "name": "OH_AVScreenCapture_StartScreenCapture" }, + { "name": "OH_AVScreenCapture_StartScreenCaptureWithSurface" }, { "name": "OH_AVScreenCapture_StopScreenCapture" }, { "name": "OH_AVScreenCapture_StartScreenRecording" }, { "name": "OH_AVScreenCapture_StopScreenRecording" }, @@ -11,5 +12,13 @@ { "name": "OH_AVScreenCapture_ReleaseVideoBuffer" }, { "name": "OH_AVScreenCapture_SetCallback" }, { "name": "OH_AVScreenCapture_Release" }, - { "name": "OH_AVScreenCapture_SetMicrophoneEnabled" } + { "name": "OH_AVScreenCapture_SetMicrophoneEnabled" }, + { "name": "OH_AVScreenCapture_SetCanvasRotation" }, + { "name": "OH_AVScreenCapture_SetStateCallback" }, + { "name": "OH_AVScreenCapture_SetDataCallback" }, + { "name": "OH_AVScreenCapture_SetErrorCallback" }, + { "name": "OH_AVScreenCapture_CreateContentFilter" }, + { "name": "OH_AVScreenCapture_ReleaseContentFilter" }, + { "name": "OH_AVScreenCapture_ContentFilter_AddAudioContent" }, + { "name": "OH_AVScreenCapture_ExcludeContent" } ] \ No newline at end of file diff --git a/multimedia/player_framework/native_avscreen_capture.h b/multimedia/player_framework/native_avscreen_capture.h index 22837a29d..15105f7fd 100644 --- a/multimedia/player_framework/native_avscreen_capture.h +++ b/multimedia/player_framework/native_avscreen_capture.h @@ -20,6 +20,7 @@ #include #include "native_avscreen_capture_errors.h" #include "native_avscreen_capture_base.h" +#include "external_window.h" #ifdef __cplusplus extern "C" { @@ -41,7 +42,7 @@ struct OH_AVScreenCapture *OH_AVScreenCapture_Create(void); * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance * @param config Information describing the audio and video config - * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 @@ -53,19 +54,31 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_Init(struct OH_AVScreenCapture *c * @brief Start the av screen capture * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance - * @param type Information describing the data type of the capture - * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StartScreenCapture(struct OH_AVScreenCapture *capture); +/** + * @brief Start the av screen capture + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param capture Pointer to an OH_AVScreenCapture instance + * @param window Pointer to an OHNativeWindow instance + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} + * @since 12 + * @version 1.0 + */ +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StartScreenCaptureWithSurface(struct OH_AVScreenCapture *capture, + OHNativeWindow* window); + /** * @brief Stop the av screen capture * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance - * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 @@ -76,7 +89,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StopScreenCapture(struct OH_AVScr * @brief Start av screen record use to start save screen record file. * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance - * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 @@ -87,7 +100,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StartScreenRecording(struct OH_AV * @brief Start av screen record use to stop save screen record file. * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance - * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 @@ -100,8 +113,10 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StopScreenRecording(struct OH_AVS * @param capture Pointer to an OH_AVScreenCapture instance * @param audiobuffer Information describing the audio buffer of the capture * @param type Information describing the audio source type - * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} * @since 10 * @version 1.0 */ @@ -116,6 +131,8 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_AcquireAudioBuffer(struct OH_AVSc * @param timestamp Information about the video buffer * @param region Information about the video buffer * @return Returns a pointer to an OH_NativeBuffer instance + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} * @since 10 * @version 1.0 */ @@ -127,8 +144,10 @@ OH_NativeBuffer* OH_AVScreenCapture_AcquireVideoBuffer(struct OH_AVScreenCapture * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance * @param type Information describing the audio source type - * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} * @since 10 * @version 1.0 */ @@ -139,8 +158,10 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseAudioBuffer(struct OH_AVSc * @brief Release the video buffer for the av screen capture * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance - * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} * @since 10 * @version 1.0 */ @@ -152,8 +173,10 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseVideoBuffer(struct OH_AVSc * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance * @param callback A collection of all callback functions, see {@link OH_AVScreenCaptureCallback} - * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_SetErrorCallback} {@link OH_AVScreenCapture_SetDataCallback} * @since 10 * @version 1.0 */ @@ -164,7 +187,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetCallback(struct OH_AVScreenCap * @brief Release the av screen capture * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance - * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 @@ -176,13 +199,116 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_Release(struct OH_AVScreenCapture * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance * @param isMicrophone The switch of the microphone - * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetMicrophoneEnabled(struct OH_AVScreenCapture *capture, bool isMicrophone); +/** + * @brief Set the state callback function so that your application can respond to the + * state change events generated by the av screen capture. This interface must be called before Start is called. + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param capture Pointer to an OH_AVScreenCapture instance + * @param callback State callback function, see {@link OH_AVScreenCapture_OnStateChange} + * @param userData Pointer to user specific data + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} + * @since 12 + * @version 1.0 + */ +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetStateCallback(struct OH_AVScreenCapture *capture, + OH_AVScreenCapture_OnStateChange callback, void *userData); + +/** + * @brief Set the data callback function so that your application can respond to the + * data available events generated by the av screen capture. This interface must be called before Start is called. + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param capture Pointer to an OH_AVScreenCapture instance + * @param callback Data callback function, see {@link OH_AVScreenCapture_OnBufferAvailable} + * @param userData Pointer to user specific data + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} + * @since 12 + * @version 1.0 + */ +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetDataCallback(struct OH_AVScreenCapture *capture, + OH_AVScreenCapture_OnBufferAvailable callback, void *userData); + +/** + * @brief Set the error callback function so that your application can respond to the + * error events generated by the av screen capture. This interface must be called before Start is called. + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param capture Pointer to an OH_AVScreenCapture instance + * @param callback Error callback function, see {@link OH_AVScreenCapture_OnError} + * @param userData Pointer to user specific data + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} + * @since 12 + * @version 1.0 + */ +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetErrorCallback(struct OH_AVScreenCapture *capture, + OH_AVScreenCapture_OnError callback, void *userData); + +/** + * @brief Controls the Rotation of the Screen, which is no rotate by default + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param capture Pointer to an OH_AVScreenCapture instance + * @param canvasRotation Rotate The screen or not + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} + * @since 12 + * @version 1.0 + */ +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetCanvasRotation(struct OH_AVScreenCapture *capture, + bool canvasRotation); + +/** + * @brief Create a screen capture content filter + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @return Returns a pointer to an OH_AVScreenCapture_ContentFilter instance + * @since 12 + * @version 1.0 + */ +struct OH_AVScreenCapture_ContentFilter *OH_AVScreenCapture_CreateContentFilter(void); + +/** + * @brief Release the screen capture content filter + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param filter Pointer to an OH_AVScreenCapture_ContentFilter instance + * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} + * @since 12 + * @version 1.0 + */ +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseContentFilter(struct OH_AVScreenCapture_ContentFilter *filter); + +/** + * @brief Add content to the screen capture content filter + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param filter Pointer to an OH_AVScreenCapture_ContentFilter instance + * @param content content to be added + * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} + * @since 12 + * @version 1.0 + */ +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ContentFilter_AddAudioContent( + struct OH_AVScreenCapture_ContentFilter *filter, OH_AVScreenCaptureFilterableAudioContent content); + +/** + * @brief Set content filter to screen capture + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param capture Pointer to an OH_AVScreenCapture instance + * @param filter Pointer to an OH_AVScreenCapture_ContentFilter instance + * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} + * @since 12 + * @version 1.0 + */ +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ExcludeContent(struct OH_AVScreenCapture *capture, + struct OH_AVScreenCapture_ContentFilter *filter); #ifdef __cplusplus } diff --git a/multimedia/player_framework/native_avscreen_capture_base.h b/multimedia/player_framework/native_avscreen_capture_base.h index 97b27e3f1..12a1b7f93 100644 --- a/multimedia/player_framework/native_avscreen_capture_base.h +++ b/multimedia/player_framework/native_avscreen_capture_base.h @@ -16,6 +16,9 @@ #ifndef NATIVE_AVSCREEN_CAPTURE_BASE_H #define NATIVE_AVSCREEN_CAPTURE_BASE_H +#include +#include "native_avbuffer.h" + #ifdef __cplusplus extern "C" { #endif @@ -38,6 +41,15 @@ typedef struct OH_NativeBuffer OH_NativeBuffer; */ typedef struct OH_AVScreenCapture OH_AVScreenCapture; +/** + * @brief Initialization of OH_AVScreenCapture_ContentFilter + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * + * @since 12 + * @version 1.0 + */ +typedef struct OH_AVScreenCapture_ContentFilter OH_AVScreenCapture_ContentFilter; + /** * @brief Enumerates screen capture mode. * @syscap SystemCapability.Multimedia.Media.AVScreenCapture @@ -301,6 +313,8 @@ typedef struct OH_AVScreenCaptureConfig { * @param capture Pointer to an OH_AVScreenCapture instance * @param errorCode specific error code * + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnError} * @since 10 * @version 1.0 */ @@ -314,6 +328,8 @@ typedef void (*OH_AVScreenCaptureOnError)(OH_AVScreenCapture *capture, int32_t e * @param isReady Information describing whether audio buffer is available * @param type Information describing the audio source type * + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} * @since 10 * @version 1.0 */ @@ -327,6 +343,8 @@ typedef void (*OH_AVScreenCaptureOnAudioBufferAvailable)(OH_AVScreenCapture *cap * @param capture Pointer to an OH_AVScreenCapture instance * @param isReady Information describing whether video buffer is available * + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} * @since 10 * @version 1.0 */ @@ -341,12 +359,26 @@ typedef void (*OH_AVScreenCaptureOnVideoBufferAvailable)(OH_AVScreenCapture *cap * @param onAudioBufferAvailable Monitor audio buffer, refer to {@link OH_AVScreenCaptureOnAudioBufferAvailable} * @param onVideoBufferAvailable Monitor video buffer, refer to {@link OH_AVScreenCaptureOnVideoBufferAvailable} * + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnError} {@link OH_AVScreenCapture_OnBufferAvailable} * @since 10 * @version 1.0 */ typedef struct OH_AVScreenCaptureCallback { + /** + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnError} + */ OH_AVScreenCaptureOnError onError; + /** + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} + */ OH_AVScreenCaptureOnAudioBufferAvailable onAudioBufferAvailable; + /** + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} + */ OH_AVScreenCaptureOnVideoBufferAvailable onVideoBufferAvailable; } OH_AVScreenCaptureCallback; @@ -387,6 +419,104 @@ typedef struct OH_AudioBuffer { OH_AudioCaptureSourceType type; } OH_AudioBuffer; +/** + * @brief Enumerates screen capture state code. + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * + * @since 12 + * @version 1.0 + */ +typedef enum OH_AVScreenCaptureStateCode { + /* Screen capture started by user */ + OH_SCREEN_CAPTURE_STATE_STARTED = 0, + /* Screen capture canceled by user */ + OH_SCREEN_CAPTURE_STATE_CANCELED = 1, + /* ScreenCapture stopped by user */ + OH_SCREEN_CAPTURE_STATE_STOPPED_BY_USER = 2, + /* ScreenCapture interrupted by other screen capture */ + OH_SCREEN_CAPTURE_STATE_INTERRUPT_BY_OTHER = 3, + /* ScreenCapture stopped by SIM call */ + OH_SCREEN_CAPTURE_STATE_STOPPED_BY_CALL = 4, + /* Microphone is temporarily unavailable */ + OH_SCREEN_CAPTURE_STATE_MIC_UNAVAILABLE = 5, + /* Microphone is muted by user */ + OH_SCREEN_CAPTURE_STATE_MIC_MUTED_BY_USER = 6, + /* Microphone is unmuted by user */ + OH_SCREEN_CAPTURE_STATE_MIC_UNMUTED_BY_USER = 7, + /* Current captured screen has private window */ + OH_SCREEN_CAPTURE_STATE_ENTER_PRIVATE_SCENE = 8, + /* Private window disappeared on current captured screen*/ + OH_SCREEN_CAPTURE_STATE_EXIT_PRIVATE_SCENE = 9, +} OH_AVScreenCaptureStateCode; + +/** + * @brief Enumerates screen capture buffer type. + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * + * @since 12 + * @version 1.0 + */ +typedef enum OH_AVScreenCaptureBufferType { + /* Buffer of video data from screen */ + OH_SCREEN_CAPTURE_BUFFERTYPE_VIDEO = 0, + /* Buffer of audio data from inner capture */ + OH_SCREEN_CAPTURE_BUFFERTYPE_AUDIO_INNER = 1, + /* Buffer of audio data from microphone */ + OH_SCREEN_CAPTURE_BUFFERTYPE_AUDIO_MIC = 2, +} OH_AVScreenCaptureBufferType; + +/** + * @brief Enumerates screen capture filterable audio content. + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * + * @since 12 + * @version 1.0 + */ +typedef enum OH_AVScreenCaptureFilterableAudioContent { + /* Audio content of notification sound */ + OH_SCREEN_CAPTURE_NOTIFICATION_AUDIO = 0, +} OH_AVScreenCaptureFilterableAudioContent; + +/** + * @brief When state of OH_AVScreenCapture is changed, the function pointer will be called. + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param capture Pointer to an OH_AVScreenCapture instance + * @param stateCode Information describing current state, see {@link OH_AVScreenCaptureStateCode} + * @param userData Pointer to user specific data + * + * @since 12 + * @version 1.0 + */ +typedef void (*OH_AVScreenCapture_OnStateChange)(struct OH_AVScreenCapture *capture, + OH_AVScreenCaptureStateCode stateCode, void *userData); + +/** + * @brief When an error occurs in the running of the OH_AVScreenCapture instance, the function pointer will be called + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param capture Pointer to an OH_AVScreenCapture instance + * @param errorCode specific error code + * @param userData Pointer to user specific data + * + * @since 12 + * @version 1.0 + */ +typedef void (*OH_AVScreenCapture_OnError)(OH_AVScreenCapture *capture, int32_t errorCode, void *userData); + +/** + * @brief When data is ready from the OH_AVScreenCapture instance, the function pointer will be called + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param capture Pointer to an OH_AVScreenCapture instance + * @param buffer Pointer to a buffer containing media data + * @param bufferType Data type of the buffer, see {@link OH_AVScreenCaptureBufferType} + * @param timestamp Timestamp of the buffer + * @param userData Pointer to user specific data + * + * @since 12 + * @version 1.0 + */ +typedef void (*OH_AVScreenCapture_OnBufferAvailable)(OH_AVScreenCapture *capture, OH_AVBuffer *buffer, + OH_AVScreenCaptureBufferType bufferType, int64_t timestamp, void *userData); + #ifdef __cplusplus } #endif -- Gitee From cd310c058f2f7476b3f9b11b909e47391d6da186 Mon Sep 17 00:00:00 2001 From: liyang Date: Mon, 18 Mar 2024 17:34:40 +0800 Subject: [PATCH 2/8] Screen capture API Changes in SDK Signed-off-by: liyang --- .../native_avscreen_capture.h | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/multimedia/player_framework/native_avscreen_capture.h b/multimedia/player_framework/native_avscreen_capture.h index 15105f7fd..c59539773 100644 --- a/multimedia/player_framework/native_avscreen_capture.h +++ b/multimedia/player_framework/native_avscreen_capture.h @@ -42,7 +42,7 @@ struct OH_AVScreenCapture *OH_AVScreenCapture_Create(void); * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance * @param config Information describing the audio and video config - * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 @@ -54,7 +54,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_Init(struct OH_AVScreenCapture *c * @brief Start the av screen capture * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance - * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 @@ -78,7 +78,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StartScreenCaptureWithSurface(str * @brief Stop the av screen capture * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance - * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 @@ -89,7 +89,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StopScreenCapture(struct OH_AVScr * @brief Start av screen record use to start save screen record file. * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance - * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 @@ -100,7 +100,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StartScreenRecording(struct OH_AV * @brief Start av screen record use to stop save screen record file. * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance - * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 @@ -113,12 +113,12 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StopScreenRecording(struct OH_AVS * @param capture Pointer to an OH_AVScreenCapture instance * @param audiobuffer Information describing the audio buffer of the capture * @param type Information describing the audio source type - * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} * @since 10 * @version 1.0 + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_AcquireAudioBuffer(struct OH_AVScreenCapture *capture, OH_AudioBuffer **audiobuffer, OH_AudioCaptureSourceType type); @@ -131,10 +131,10 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_AcquireAudioBuffer(struct OH_AVSc * @param timestamp Information about the video buffer * @param region Information about the video buffer * @return Returns a pointer to an OH_NativeBuffer instance - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} * @since 10 * @version 1.0 + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} */ OH_NativeBuffer* OH_AVScreenCapture_AcquireVideoBuffer(struct OH_AVScreenCapture *capture, int32_t *fence, int64_t *timestamp, struct OH_Rect *region); @@ -144,12 +144,12 @@ OH_NativeBuffer* OH_AVScreenCapture_AcquireVideoBuffer(struct OH_AVScreenCapture * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance * @param type Information describing the audio source type - * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} * @since 10 * @version 1.0 + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseAudioBuffer(struct OH_AVScreenCapture *capture, OH_AudioCaptureSourceType type); @@ -158,12 +158,12 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseAudioBuffer(struct OH_AVSc * @brief Release the video buffer for the av screen capture * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance - * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} * @since 10 * @version 1.0 + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseVideoBuffer(struct OH_AVScreenCapture *capture); @@ -173,12 +173,12 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseVideoBuffer(struct OH_AVSc * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance * @param callback A collection of all callback functions, see {@link OH_AVScreenCaptureCallback} - * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_SetErrorCallback} {@link OH_AVScreenCapture_SetDataCallback} * @since 10 * @version 1.0 + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_SetErrorCallback} {@link OH_AVScreenCapture_SetDataCallback} */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetCallback(struct OH_AVScreenCapture *capture, struct OH_AVScreenCaptureCallback callback); @@ -187,7 +187,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetCallback(struct OH_AVScreenCap * @brief Release the av screen capture * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance - * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 @@ -199,7 +199,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_Release(struct OH_AVScreenCapture * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance * @param isMicrophone The switch of the microphone - * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 @@ -277,7 +277,7 @@ struct OH_AVScreenCapture_ContentFilter *OH_AVScreenCapture_CreateContentFilter( * @brief Release the screen capture content filter * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param filter Pointer to an OH_AVScreenCapture_ContentFilter instance - * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 12 * @version 1.0 @@ -289,7 +289,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseContentFilter(struct OH_AV * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param filter Pointer to an OH_AVScreenCapture_ContentFilter instance * @param content content to be added - * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 12 * @version 1.0 @@ -302,7 +302,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ContentFilter_AddAudioContent( * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance * @param filter Pointer to an OH_AVScreenCapture_ContentFilter instance - * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 12 * @version 1.0 -- Gitee From 26fd95a0c05b504ec0d5e56f9be6a713ccd5a263 Mon Sep 17 00:00:00 2001 From: liyang Date: Mon, 18 Mar 2024 17:41:09 +0800 Subject: [PATCH 3/8] Screen capture API Changes in SDK Signed-off-by: liyang --- .../native_avscreen_capture.h | 32 ++++++++++--------- .../native_avscreen_capture_base.h | 32 ++++++------------- 2 files changed, 27 insertions(+), 37 deletions(-) diff --git a/multimedia/player_framework/native_avscreen_capture.h b/multimedia/player_framework/native_avscreen_capture.h index c59539773..14c879e7a 100644 --- a/multimedia/player_framework/native_avscreen_capture.h +++ b/multimedia/player_framework/native_avscreen_capture.h @@ -54,6 +54,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_Init(struct OH_AVScreenCapture *c * @brief Start the av screen capture * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance + * @param type Information describing the data type of the capture * @return Returns AVSCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 @@ -61,19 +62,6 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_Init(struct OH_AVScreenCapture *c */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StartScreenCapture(struct OH_AVScreenCapture *capture); -/** - * @brief Start the av screen capture - * @syscap SystemCapability.Multimedia.Media.AVScreenCapture - * @param capture Pointer to an OH_AVScreenCapture instance - * @param window Pointer to an OHNativeWindow instance - * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, - * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} - * @since 12 - * @version 1.0 - */ -OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StartScreenCaptureWithSurface(struct OH_AVScreenCapture *capture, - OHNativeWindow* window); - /** * @brief Stop the av screen capture * @syscap SystemCapability.Multimedia.Media.AVScreenCapture @@ -206,6 +194,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_Release(struct OH_AVScreenCapture */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetMicrophoneEnabled(struct OH_AVScreenCapture *capture, bool isMicrophone); + /** * @brief Set the state callback function so that your application can respond to the * state change events generated by the av screen capture. This interface must be called before Start is called. @@ -252,10 +241,23 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetErrorCallback(struct OH_AVScre OH_AVScreenCapture_OnError callback, void *userData); /** - * @brief Controls the Rotation of the Screen, which is no rotate by default + * @brief Start the av screen capture, video data provided by OHNativeWindow + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param capture Pointer to an OH_AVScreenCapture instance + * @param window Pointer to an OHNativeWindow instance + * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, + * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} + * @since 12 + * @version 1.0 + */ +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StartScreenCaptureWithSurface(struct OH_AVScreenCapture *capture, + OHNativeWindow *window); + +/** + * @brief Set canvas rotation when capturing screen * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance - * @param canvasRotation Rotate The screen or not + * @param canvasRotation whether to rotate the canvas * @return Returns AV_SCREEN_CAPTURE_ERR_OK if the execution is successful, * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 12 diff --git a/multimedia/player_framework/native_avscreen_capture_base.h b/multimedia/player_framework/native_avscreen_capture_base.h index 12a1b7f93..d6465537f 100644 --- a/multimedia/player_framework/native_avscreen_capture_base.h +++ b/multimedia/player_framework/native_avscreen_capture_base.h @@ -313,10 +313,10 @@ typedef struct OH_AVScreenCaptureConfig { * @param capture Pointer to an OH_AVScreenCapture instance * @param errorCode specific error code * - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnError} * @since 10 * @version 1.0 + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnError} */ typedef void (*OH_AVScreenCaptureOnError)(OH_AVScreenCapture *capture, int32_t errorCode); @@ -328,10 +328,10 @@ typedef void (*OH_AVScreenCaptureOnError)(OH_AVScreenCapture *capture, int32_t e * @param isReady Information describing whether audio buffer is available * @param type Information describing the audio source type * - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} * @since 10 * @version 1.0 + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} */ typedef void (*OH_AVScreenCaptureOnAudioBufferAvailable)(OH_AVScreenCapture *capture, bool isReady, OH_AudioCaptureSourceType type); @@ -343,10 +343,10 @@ typedef void (*OH_AVScreenCaptureOnAudioBufferAvailable)(OH_AVScreenCapture *cap * @param capture Pointer to an OH_AVScreenCapture instance * @param isReady Information describing whether video buffer is available * - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} * @since 10 * @version 1.0 + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} */ typedef void (*OH_AVScreenCaptureOnVideoBufferAvailable)(OH_AVScreenCapture *capture, bool isReady); @@ -359,26 +359,14 @@ typedef void (*OH_AVScreenCaptureOnVideoBufferAvailable)(OH_AVScreenCapture *cap * @param onAudioBufferAvailable Monitor audio buffer, refer to {@link OH_AVScreenCaptureOnAudioBufferAvailable} * @param onVideoBufferAvailable Monitor video buffer, refer to {@link OH_AVScreenCaptureOnVideoBufferAvailable} * - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnError} {@link OH_AVScreenCapture_OnBufferAvailable} * @since 10 * @version 1.0 + * @deprecated since 12 + * @useinstead {@link OH_AVScreenCapture_OnError} {@link OH_AVScreenCapture_OnBufferAvailable} */ typedef struct OH_AVScreenCaptureCallback { - /** - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnError} - */ OH_AVScreenCaptureOnError onError; - /** - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} - */ OH_AVScreenCaptureOnAudioBufferAvailable onAudioBufferAvailable; - /** - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} - */ OH_AVScreenCaptureOnVideoBufferAvailable onVideoBufferAvailable; } OH_AVScreenCaptureCallback; @@ -434,7 +422,7 @@ typedef enum OH_AVScreenCaptureStateCode { /* ScreenCapture stopped by user */ OH_SCREEN_CAPTURE_STATE_STOPPED_BY_USER = 2, /* ScreenCapture interrupted by other screen capture */ - OH_SCREEN_CAPTURE_STATE_INTERRUPT_BY_OTHER = 3, + OH_SCREEN_CAPTURE_STATE_INTERRUPTTED_BY_OTHER = 3, /* ScreenCapture stopped by SIM call */ OH_SCREEN_CAPTURE_STATE_STOPPED_BY_CALL = 4, /* Microphone is temporarily unavailable */ @@ -466,7 +454,7 @@ typedef enum OH_AVScreenCaptureBufferType { } OH_AVScreenCaptureBufferType; /** - * @brief Enumerates screen capture filterable audio content. + * @brief Enumerates screen capture buffer type. * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * * @since 12 -- Gitee From d1a18515afe28c582055db7dcec3a20a0fb48197 Mon Sep 17 00:00:00 2001 From: liyang Date: Mon, 18 Mar 2024 17:47:31 +0800 Subject: [PATCH 4/8] Screen capture API Changes in SDK Signed-off-by: liyang --- .../avscreen_capture/libnative_avscreen_capture.ndk.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json b/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json index a2280cb99..71a6d7986 100644 --- a/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json +++ b/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json @@ -19,6 +19,5 @@ { "name": "OH_AVScreenCapture_SetErrorCallback" }, { "name": "OH_AVScreenCapture_CreateContentFilter" }, { "name": "OH_AVScreenCapture_ReleaseContentFilter" }, - { "name": "OH_AVScreenCapture_ContentFilter_AddAudioContent" }, - { "name": "OH_AVScreenCapture_ExcludeContent" } + { "name": "OH_AVScreenCapture_ContentFilter_AddAudioContent" } ] \ No newline at end of file -- Gitee From c361875b8c4e167b264e7a142ebf46c993f59c56 Mon Sep 17 00:00:00 2001 From: liyang Date: Mon, 18 Mar 2024 19:07:42 +0800 Subject: [PATCH 5/8] Screen capture API Changes in SDK Signed-off-by: liyang --- .../avscreen_capture/libnative_avscreen_capture.ndk.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json b/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json index 71a6d7986..951cb8a98 100644 --- a/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json +++ b/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json @@ -16,8 +16,5 @@ { "name": "OH_AVScreenCapture_SetCanvasRotation" }, { "name": "OH_AVScreenCapture_SetStateCallback" }, { "name": "OH_AVScreenCapture_SetDataCallback" }, - { "name": "OH_AVScreenCapture_SetErrorCallback" }, - { "name": "OH_AVScreenCapture_CreateContentFilter" }, - { "name": "OH_AVScreenCapture_ReleaseContentFilter" }, - { "name": "OH_AVScreenCapture_ContentFilter_AddAudioContent" } + { "name": "OH_AVScreenCapture_SetErrorCallback" } ] \ No newline at end of file -- Gitee From b3c937bfee2a1d0a1671c17856d95cf7fd010ee8 Mon Sep 17 00:00:00 2001 From: liyang Date: Tue, 19 Mar 2024 10:08:42 +0800 Subject: [PATCH 6/8] Screen capture API Changes in SDK Signed-off-by: liyang --- multimedia/player_framework/native_avscreen_capture_base.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimedia/player_framework/native_avscreen_capture_base.h b/multimedia/player_framework/native_avscreen_capture_base.h index d6465537f..79cbfd6e5 100644 --- a/multimedia/player_framework/native_avscreen_capture_base.h +++ b/multimedia/player_framework/native_avscreen_capture_base.h @@ -422,7 +422,7 @@ typedef enum OH_AVScreenCaptureStateCode { /* ScreenCapture stopped by user */ OH_SCREEN_CAPTURE_STATE_STOPPED_BY_USER = 2, /* ScreenCapture interrupted by other screen capture */ - OH_SCREEN_CAPTURE_STATE_INTERRUPTTED_BY_OTHER = 3, + OH_SCREEN_CAPTURE_STATE_INTERRUPTED_BY_OTHER = 3, /* ScreenCapture stopped by SIM call */ OH_SCREEN_CAPTURE_STATE_STOPPED_BY_CALL = 4, /* Microphone is temporarily unavailable */ -- Gitee From 02c798d622bfff03c580b3eb30204413e39dc2fc Mon Sep 17 00:00:00 2001 From: liyang Date: Tue, 19 Mar 2024 11:44:31 +0800 Subject: [PATCH 7/8] Screen capture API Changes in SDK Signed-off-by: liyang --- multimedia/player_framework/native_avscreen_capture.h | 10 ---------- .../player_framework/native_avscreen_capture_base.h | 8 -------- 2 files changed, 18 deletions(-) diff --git a/multimedia/player_framework/native_avscreen_capture.h b/multimedia/player_framework/native_avscreen_capture.h index 14c879e7a..fdb1e7602 100644 --- a/multimedia/player_framework/native_avscreen_capture.h +++ b/multimedia/player_framework/native_avscreen_capture.h @@ -105,8 +105,6 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StopScreenRecording(struct OH_AVS * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_AcquireAudioBuffer(struct OH_AVScreenCapture *capture, OH_AudioBuffer **audiobuffer, OH_AudioCaptureSourceType type); @@ -121,8 +119,6 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_AcquireAudioBuffer(struct OH_AVSc * @return Returns a pointer to an OH_NativeBuffer instance * @since 10 * @version 1.0 - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} */ OH_NativeBuffer* OH_AVScreenCapture_AcquireVideoBuffer(struct OH_AVScreenCapture *capture, int32_t *fence, int64_t *timestamp, struct OH_Rect *region); @@ -136,8 +132,6 @@ OH_NativeBuffer* OH_AVScreenCapture_AcquireVideoBuffer(struct OH_AVScreenCapture * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseAudioBuffer(struct OH_AVScreenCapture *capture, OH_AudioCaptureSourceType type); @@ -150,8 +144,6 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseAudioBuffer(struct OH_AVSc * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseVideoBuffer(struct OH_AVScreenCapture *capture); @@ -165,8 +157,6 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseVideoBuffer(struct OH_AVSc * otherwise returns a specific error code, refer to {@link OH_AVSCREEN_CAPTURE_ErrCode} * @since 10 * @version 1.0 - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_SetErrorCallback} {@link OH_AVScreenCapture_SetDataCallback} */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetCallback(struct OH_AVScreenCapture *capture, struct OH_AVScreenCaptureCallback callback); diff --git a/multimedia/player_framework/native_avscreen_capture_base.h b/multimedia/player_framework/native_avscreen_capture_base.h index 79cbfd6e5..918763868 100644 --- a/multimedia/player_framework/native_avscreen_capture_base.h +++ b/multimedia/player_framework/native_avscreen_capture_base.h @@ -315,8 +315,6 @@ typedef struct OH_AVScreenCaptureConfig { * * @since 10 * @version 1.0 - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnError} */ typedef void (*OH_AVScreenCaptureOnError)(OH_AVScreenCapture *capture, int32_t errorCode); @@ -330,8 +328,6 @@ typedef void (*OH_AVScreenCaptureOnError)(OH_AVScreenCapture *capture, int32_t e * * @since 10 * @version 1.0 - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} */ typedef void (*OH_AVScreenCaptureOnAudioBufferAvailable)(OH_AVScreenCapture *capture, bool isReady, OH_AudioCaptureSourceType type); @@ -345,8 +341,6 @@ typedef void (*OH_AVScreenCaptureOnAudioBufferAvailable)(OH_AVScreenCapture *cap * * @since 10 * @version 1.0 - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnBufferAvailable} */ typedef void (*OH_AVScreenCaptureOnVideoBufferAvailable)(OH_AVScreenCapture *capture, bool isReady); @@ -361,8 +355,6 @@ typedef void (*OH_AVScreenCaptureOnVideoBufferAvailable)(OH_AVScreenCapture *cap * * @since 10 * @version 1.0 - * @deprecated since 12 - * @useinstead {@link OH_AVScreenCapture_OnError} {@link OH_AVScreenCapture_OnBufferAvailable} */ typedef struct OH_AVScreenCaptureCallback { OH_AVScreenCaptureOnError onError; -- Gitee From f3c832f896649abc9098ed86fd6e808f340fc728 Mon Sep 17 00:00:00 2001 From: liyang Date: Tue, 19 Mar 2024 14:29:08 +0800 Subject: [PATCH 8/8] Screen capture API Changes in SDK Signed-off-by: liyang --- .../libnative_avscreen_capture.ndk.json | 90 +++++++++++++++---- 1 file changed, 72 insertions(+), 18 deletions(-) diff --git a/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json b/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json index 951cb8a98..f3fa01d66 100644 --- a/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json +++ b/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json @@ -1,20 +1,74 @@ [ - { "name": "OH_AVScreenCapture_Create" }, - { "name": "OH_AVScreenCapture_Init" }, - { "name": "OH_AVScreenCapture_StartScreenCapture" }, - { "name": "OH_AVScreenCapture_StartScreenCaptureWithSurface" }, - { "name": "OH_AVScreenCapture_StopScreenCapture" }, - { "name": "OH_AVScreenCapture_StartScreenRecording" }, - { "name": "OH_AVScreenCapture_StopScreenRecording" }, - { "name": "OH_AVScreenCapture_AcquireAudioBuffer" }, - { "name": "OH_AVScreenCapture_AcquireVideoBuffer" }, - { "name": "OH_AVScreenCapture_ReleaseAudioBuffer" }, - { "name": "OH_AVScreenCapture_ReleaseVideoBuffer" }, - { "name": "OH_AVScreenCapture_SetCallback" }, - { "name": "OH_AVScreenCapture_Release" }, - { "name": "OH_AVScreenCapture_SetMicrophoneEnabled" }, - { "name": "OH_AVScreenCapture_SetCanvasRotation" }, - { "name": "OH_AVScreenCapture_SetStateCallback" }, - { "name": "OH_AVScreenCapture_SetDataCallback" }, - { "name": "OH_AVScreenCapture_SetErrorCallback" } + { + "first_introduced": "10", + "name": "OH_AVScreenCapture_Create" + }, + { + "first_introduced": "10", + "name": "OH_AVScreenCapture_Init" + }, + { + "first_introduced": "10", + "name": "OH_AVScreenCapture_StartScreenCapture" + }, + { + "first_introduced": "10", + "name": "OH_AVScreenCapture_StopScreenCapture" + }, + { + "first_introduced": "10", + "name": "OH_AVScreenCapture_StartScreenRecording" + }, + { + "first_introduced": "10", + "name": "OH_AVScreenCapture_StopScreenRecording" + }, + { + "first_introduced": "10", + "name": "OH_AVScreenCapture_AcquireAudioBuffer" + }, + { + "first_introduced": "10", + "name": "OH_AVScreenCapture_AcquireVideoBuffer" + }, + { + "first_introduced": "10", + "name": "OH_AVScreenCapture_ReleaseAudioBuffer" + }, + { + "first_introduced": "10", + "name": "OH_AVScreenCapture_ReleaseVideoBuffer" + }, + { + "first_introduced": "10", + "name": "OH_AVScreenCapture_SetCallback" + }, + { + "first_introduced": "10", + "name": "OH_AVScreenCapture_Release" + }, + { + "first_introduced": "10", + "name": "OH_AVScreenCapture_SetMicrophoneEnabled" + }, + { + "first_introduced": "12", + "name": "OH_AVScreenCapture_StartScreenCaptureWithSurface" + }, + { + "first_introduced": "12", + "name": "OH_AVScreenCapture_SetCanvasRotation" + }, + { + "first_introduced": "12", + "name": "OH_AVScreenCapture_SetStateCallback" + }, + { + "first_introduced": "12", + "name": "OH_AVScreenCapture_SetDataCallback" + }, + { + "first_introduced": "12", + "name": "OH_AVScreenCapture_SetErrorCallback" + } ] \ No newline at end of file -- Gitee