From e0a3f157e599c0057363a025f104225537cc2c5f Mon Sep 17 00:00:00 2001 From: qiu-qiu-wang Date: Tue, 28 Nov 2023 20:47:32 +0800 Subject: [PATCH 1/2] add drm adaptor avplayer CAPI Signed-off-by: qiu-qiu-wang --- multimedia/player_framework/avplayer.h | 39 +++++++++++++++++++ .../avplayer/libavplayer.ndk.json | 5 ++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/multimedia/player_framework/avplayer.h b/multimedia/player_framework/avplayer.h index 32a883a55..fec02decb 100644 --- a/multimedia/player_framework/avplayer.h +++ b/multimedia/player_framework/avplayer.h @@ -42,6 +42,8 @@ #include #include "native_averrors.h" #include "avplayer_base.h" +#include "native_drm_common.h" +#include "native_mediakeysession.h" #ifdef __cplusplus extern "C" { @@ -426,6 +428,43 @@ OH_AVErrCode OH_AVPlayer_DeselectTrack(OH_AVPlayer *player, int32_t index); */ OH_AVErrCode OH_AVPlayer_GetCurrentTrack(OH_AVPlayer *player, int32_t trackType, int32_t *index); +/** + * @brief Set decrypt info. + * + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @param player Pointer to an OH_AVPlayer instance + * @param mediaKeySession A media key session instance with decrypt function. + * @param secureVideoPath Require secure decoder or not. + * @return Returns {@link AV_ERR_OK} if set successfully; returns an error code defined + * in {@link native_averrors.h} otherwise. + * @since 11 + * @version 1.0 +*/ +OH_AVErrCode OH_AVPlayer_SetDecryptConfig(OH_AVPlayer *player, OH_MediaKeySession *mediaKeySession, bool secureVideoPath); + +/** + * @brief Method to set player drm info callback. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @param player Pointer to an OH_AVPlayer instance + * @param callback object pointer. + * @return Returns {@link AV_ERR_OK} if the drm info callback is set; returns an error code defined + * in {@link native_averrors.h} otherwise. + * @since 11 + * @version 1.0 + */ +OH_AVErrCode OH_AVPlayer_SetDrmInfoCallback(OH_AVPlayer *player, OH_DRM_DrmInfoCallback callback); + +/** + * @brief Obtains drm info to create media key session. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @param player Pointer to an OH_AVPlayer instance + * @param drmInfo Indicates the drm info which ram space allocated by callee and released by caller. + * @return Returns {@link AV_ERR_OK} if the current position is get; returns an error code defined + * in {@link native_averrors.h} otherwise. + * @since 11 + * @version 1.0 + */ +OH_AVErrCode OH_AVPlayer_GetDrmInfo(OH_AVPlayer *player, OH_DRM_DrmInfo **drmInfo); #ifdef __cplusplus } diff --git a/multimedia/player_framework/avplayer/libavplayer.ndk.json b/multimedia/player_framework/avplayer/libavplayer.ndk.json index d622cc601..9200f1803 100644 --- a/multimedia/player_framework/avplayer/libavplayer.ndk.json +++ b/multimedia/player_framework/avplayer/libavplayer.ndk.json @@ -26,5 +26,8 @@ { "name": "OH_AVPlayer_SetPlayerCallback" }, { "name": "OH_AVPlayer_SelectTrack" }, { "name": "OH_AVPlayer_DeselectTrack" }, - { "name": "OH_AVPlayer_GetCurrentTrack" } + { "name": "OH_AVPlayer_GetCurrentTrack" }, + { "name": "OH_AVPlayer_SetDecryptConfig" }, + { "name": "OH_AVPlayer_SetDrmInfoCallback" }, + { "name": "OH_AVPlayer_GetDrmInfo" } ] \ No newline at end of file -- Gitee From 3552a6204db93825eafc05a5517ea583d9042fc4 Mon Sep 17 00:00:00 2001 From: qiu-qiu-wang Date: Tue, 28 Nov 2023 22:47:00 +0800 Subject: [PATCH 2/2] remove OH_ prefix only from drm enum/struct/callback misspell and mekeysysteminfo rename from drminfo Signed-off-by: qiu-qiu-wang --- multimedia/player_framework/avplayer.h | 23 +++++++++++-------- .../avplayer/libavplayer.ndk.json | 6 ++--- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/multimedia/player_framework/avplayer.h b/multimedia/player_framework/avplayer.h index fec02decb..44e69039b 100644 --- a/multimedia/player_framework/avplayer.h +++ b/multimedia/player_framework/avplayer.h @@ -429,42 +429,45 @@ OH_AVErrCode OH_AVPlayer_DeselectTrack(OH_AVPlayer *player, int32_t index); OH_AVErrCode OH_AVPlayer_GetCurrentTrack(OH_AVPlayer *player, int32_t trackType, int32_t *index); /** - * @brief Set decrypt info. + * @brief Set decryption info. * * @syscap SystemCapability.Multimedia.Media.AVPlayer * @param player Pointer to an OH_AVPlayer instance - * @param mediaKeySession A media key session instance with decrypt function. + * @param mediaKeySession A media key session instance with decryption function. * @param secureVideoPath Require secure decoder or not. * @return Returns {@link AV_ERR_OK} if set successfully; returns an error code defined * in {@link native_averrors.h} otherwise. * @since 11 * @version 1.0 */ -OH_AVErrCode OH_AVPlayer_SetDecryptConfig(OH_AVPlayer *player, OH_MediaKeySession *mediaKeySession, bool secureVideoPath); +OH_AVErrCode OH_AVPlayer_SetDecryptionConfig(OH_AVPlayer *player, MediaKeySession *mediaKeySession, + bool secureVideoPath); /** - * @brief Method to set player drm info callback. + * @brief Method to set player media key system info callback. * @syscap SystemCapability.Multimedia.Media.AVPlayer * @param player Pointer to an OH_AVPlayer instance * @param callback object pointer. - * @return Returns {@link AV_ERR_OK} if the drm info callback is set; returns an error code defined - * in {@link native_averrors.h} otherwise. + * @return Returns {@link AV_ERR_OK} if the media key system info callback is set; returns an + * error code defined in {@link native_averrors.h} otherwise. * @since 11 * @version 1.0 */ -OH_AVErrCode OH_AVPlayer_SetDrmInfoCallback(OH_AVPlayer *player, OH_DRM_DrmInfoCallback callback); +OH_AVErrCode OH_AVPlayer_SetMediaKeySystemInfoCallback(OH_AVPlayer *player, + DRM_MediaKeySystemInfoCallback callback); /** - * @brief Obtains drm info to create media key session. + * @brief Obtains media key system info to create media key session. * @syscap SystemCapability.Multimedia.Media.AVPlayer * @param player Pointer to an OH_AVPlayer instance - * @param drmInfo Indicates the drm info which ram space allocated by callee and released by caller. + * @param mediaKeySystemInfo Indicates the media key system info which ram space allocated + * by callee and released by caller. * @return Returns {@link AV_ERR_OK} if the current position is get; returns an error code defined * in {@link native_averrors.h} otherwise. * @since 11 * @version 1.0 */ -OH_AVErrCode OH_AVPlayer_GetDrmInfo(OH_AVPlayer *player, OH_DRM_DrmInfo **drmInfo); +OH_AVErrCode OH_AVPlayer_GetMediaKeySystemInfo(OH_AVPlayer *player, DRM_MediaKeySystemInfo **mediaKeySystemInfo); #ifdef __cplusplus } diff --git a/multimedia/player_framework/avplayer/libavplayer.ndk.json b/multimedia/player_framework/avplayer/libavplayer.ndk.json index 9200f1803..9315dcba5 100644 --- a/multimedia/player_framework/avplayer/libavplayer.ndk.json +++ b/multimedia/player_framework/avplayer/libavplayer.ndk.json @@ -27,7 +27,7 @@ { "name": "OH_AVPlayer_SelectTrack" }, { "name": "OH_AVPlayer_DeselectTrack" }, { "name": "OH_AVPlayer_GetCurrentTrack" }, - { "name": "OH_AVPlayer_SetDecryptConfig" }, - { "name": "OH_AVPlayer_SetDrmInfoCallback" }, - { "name": "OH_AVPlayer_GetDrmInfo" } + { "name": "OH_AVPlayer_SetDecryptionConfig" }, + { "name": "OH_AVPlayer_SetMediaKeySystemInfoCallback" }, + { "name": "OH_AVPlayer_GetMediaKeySystemInfo" } ] \ No newline at end of file -- Gitee