diff --git a/multimedia/player_framework/avplayer.h b/multimedia/player_framework/avplayer.h index 32a883a55794b65cea274104caaffc31b79e9c53..3991a04905d22054329625be730c811043924e80 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,44 @@ 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 d622cc601c308aa2d630fac0e76e9e7d42098ea8..9200f180359f956e8bb9c921e7385bb2a3ef1413 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