# Copyright (c) 2024 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import("//build/ohos.gni")
import("//plugins/multimedia/media/media.gni")

java_library("media_android_java") {
  java_files = [
    "src/ohos/ace/plugin/playerplugin/PlayerPlugin.java",
    "src/ohos/ace/plugin/recorderplugin/RecorderPlugin.java",
    "src/ohos/ace/plugin/avmetadatahelperplugin/AVMetadataHelperPlugin.java",
  ]
  classpath_deps = [
    "//foundation/arkui/ace_engine/adapter/android/build:ace_android_adapter_java"
  ]

  subsystem_name = "plugins"
  part_name = "multimedia_media"
}

ohos_combine_jars("media_java") {
  deps = [ ":media_android_java" ]
  subsystem_name = "plugins"
  part_name = "multimedia_media"
  jar_path = "${root_out_dir}/plugins/multimedia/media/arkui_media_java.jar"
}

ohos_source_set("media_android_jni") {
  include_dirs = media_include
  include_dirs += utils_include

  third_party_skia_include_root = "//third_party/skia"
  if (ace_engine_feature_enable_upgrade_skia) {
    third_party_skia_include_root = "//third_party/skia/m133"
  }
  include_dirs += [
    "//plugins/multimedia/media/android",
    "//plugins/multimedia/media/android/jni",
    "${third_party_skia_include_root}",
  ]

  sources = [
    "avmetadatahelper_impl.cpp",
    "jni/avmetadatahelper_jni.cpp",
    "jni/player_jni.cpp",
    "jni/recorder_jni.cpp",
    "player_impl.cpp",
    "recorder_impl.cpp",
  ]

  defines = [
    "ANDROID_PLATFORM",
    "SUPPORT_VIDEO",
  ]

  if (ace_engine_feature_enable_upgrade_skia) {
    defines += [ "USE_M133_SKIA" ]
  }
  deps = [
    ":media_java",
    "//plugins/interfaces/native:ace_plugin_util_android",
  ]

  subsystem_name = "plugins"
  part_name = "multimedia_media"
}