diff --git a/interfaces/inner_api/native/BUILD.gn b/interfaces/inner_api/native/BUILD.gn index 10b2a4ae06ab6f447a0b36431d078666278b028f..047f7dc50475f83aa4aeaf8245fa09fd630b7772 100644 --- a/interfaces/inner_api/native/BUILD.gn +++ b/interfaces/inner_api/native/BUILD.gn @@ -62,6 +62,7 @@ config("media_client_base_config") { "$MEDIA_ROOT_DIR/interfaces/inner_api/native", "$MEDIA_ROOT_DIR/services/include", "$MEDIA_ROOT_DIR/services/utils/include", + "$MEDIA_ROOT_DIR/services/services/engine_intf", ] cflags = [ @@ -79,11 +80,8 @@ config("media_client_base_config") { "-Wformat=2", "-Wfloat-equal", "-Wdate-time", - "-Werror", - "-Wextra", - "-Wimplicit-fallthrough", "-Wsign-compare", - "-Wunused-parameter", + "-Who-unused-but-set-variable", ] if (target_cpu == "arm") { @@ -204,6 +202,8 @@ ohos_shared_library("media_client") { deps = [ "$MEDIA_ROOT_DIR/services/utils:media_service_utils" ] external_deps = [ + "access_token:libaccesstoken_sdk", + "access_token:libtokenid_sdk", "audio_framework:audio_client", "av_codec:av_codec_client", "c_utils:utils", diff --git a/services/services/sa_media/client/media_client.cpp b/services/services/sa_media/client/media_client.cpp index fb4ea9e5ab7412ccb44016ba5f0318daa71fc83d..af1bf5b0af165a45b18cac4fd8214a5952b38135 100644 --- a/services/services/sa_media/client/media_client.cpp +++ b/services/services/sa_media/client/media_client.cpp @@ -18,6 +18,7 @@ #include "iservice_registry.h" #include "system_ability_definition.h" #include "ipc_skeleton.h" +#include "accesstoken_kit.h" #include "i_standard_monitor_service.h" #include "monitor_client.h" #include @@ -46,6 +47,7 @@ #include "media_log.h" #include "media_errors.h" #include "player_xcollie.h" +#include "media_utils.h" namespace { constexpr OHOS::HiviewDFX::HiLogLabel LABEL = {LOG_CORE, LOG_DOMAIN_PLAYER, "MediaClient"}; @@ -234,8 +236,16 @@ std::shared_ptr MediaClient::CreatePlayerService() CreateMediaServiceInstance(IStandardMediaService::MediaSystemAbility::MEDIA_PLAYER, object, lock); #else CHECK_AND_RETURN_RET_LOG(IsAlived(), nullptr, "media service does not exist."); - object = mediaProxy_->GetSubSystemAbilityWithTimeOut( - IStandardMediaService::MediaSystemAbility::MEDIA_PLAYER, listenerStub_->AsObject(), MAX_WAIT_TIME); + auto playerAbility = IStandardMediaService::MediaSystemAbility::MEDIA_PLAYER; + std::string bundleName = GetClientBundleName(getuid()); + bool isSysAppGallery = false; + if (bundleName.find("appgallery") != std::string::npos) { + uint64_t tokenId = IPCSkeleton::GetCallingFullTokenID(); + isSysAppGallery = Security::AccessToken::AccessTokenKit::IsSystemAppByFullTokenID(tokenId); + } + object = isSysAppGallery? + mediaProxy_ -> GetSubSystemAbility(playerAbility, listenerStub_->AsObject()) + : mediaProxy_ ->GetSubSystemAbilityWithTimeOut(playerAbility, listenerStub_->AsObject(), MAX_WAIT_TIME); #endif CHECK_AND_RETURN_RET_LOG(object != nullptr, nullptr, "player proxy object is nullptr."); diff --git a/services/utils/BUILD.gn b/services/utils/BUILD.gn index 37c4cfd40f4a7da377b8da70b2608a8abdf926cf..601a7516ccf1e2690d265c0fb3956f7ca5ff1bd4 100644 --- a/services/utils/BUILD.gn +++ b/services/utils/BUILD.gn @@ -46,7 +46,7 @@ ohos_shared_library("media_service_utils") { include_dirs = [ "//foundation/multimedia/player_framework/interfaces/inner_api/native", - "$MEDIA_PLAYER_ROOT_DIR/services/services/engine_intf", + "//foundation/multimedia/player_framework/services/services/engine_intf", ] defines = [ "MEDIA_OHOS" ] diff --git a/test/unittest/native_avmetadatahelper_unittest/BUILD.gn b/test/unittest/native_avmetadatahelper_unittest/BUILD.gn index 768c1355afcb39cb63c7c6069403f10d64803edd..b6bd72553282d44b35e87333aa70050d5ac22a0c 100644 --- a/test/unittest/native_avmetadatahelper_unittest/BUILD.gn +++ b/test/unittest/native_avmetadatahelper_unittest/BUILD.gn @@ -46,6 +46,7 @@ ohos_unittest("avmetadata_unittest") { "//foundation/multimedia/player_framework/services/services/screen_capture_monitor/server", "//foundation/multimedia/player_framework/services/services/transcoder/client", "//foundation/multimedia/player_framework/services/services/transcoder/ipc", + "//foundation/multimedia/player_framework/services/services/engine_intf", "//foundation/multimedia/player_framework/services/utils/include", "//foundation/multimedia/player_framework/frameworks/native/avmetadatahelper", "//foundation/multimedia/player_framework/frameworks/native/media_source_loading_request", @@ -131,6 +132,10 @@ ohos_unittest("avmetadata_unittest") { "window_manager:libwm", ] + if (player_framework_support_drm) { + external_deps += [ "drm_framework:drm_framework" ] + } + deps = [ "//foundation/multimedia/player_framework/interfaces/inner_api/native:media_client", "//foundation/multimedia/player_framework/services/utils:media_service_utils",