Split a separate codecs target off of :video_jni
This will allow clients to include only the software codecs they need rather than being forced to bundle them all. - libjingle_peerconnection_jni keeps its allow_poison for now, until dependent targets bundle their own codecs explicitly. - native_api_codecs and native_api_video lose their allow_poison because dependent targets are already bundling codecs explicitly. - libjingle_peerconnection_metrics_default_jni and native_api_peerconnection lose their allow_poison because they were not actually poisoned. legacy_hwcodecs_jni and default_video_codec_factory_jni exist for clients that want to continue bundling the same codecs they get by default today. Bug: webrtc:7925 Change-Id: Idf853a6bc77f43decd35ad2a0f467937fec8f8b5 Reviewed-on: https://webrtc-review.googlesource.com/c/108221 Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> Commit-Queue: Jonathan Yu <yujo@chromium.org> Cr-Commit-Position: refs/heads/master@{#25564}
This commit is contained in:
parent
5bb1ed6144
commit
357f596558
@ -112,7 +112,9 @@ if (is_android) {
|
||||
":audio_jni",
|
||||
":base_jni",
|
||||
":builtin_audio_codecs_jni",
|
||||
":default_video_codec_factory_jni",
|
||||
":java_audio_device_module_jni",
|
||||
":legacy_hwcodecs_jni",
|
||||
":media_jni",
|
||||
":peerconnection_jni",
|
||||
":video_jni",
|
||||
@ -122,13 +124,9 @@ if (is_android) {
|
||||
|
||||
rtc_static_library("libjingle_peerconnection_metrics_default_jni") {
|
||||
visibility = [ "*" ]
|
||||
|
||||
allow_poison = [ "software_video_codecs" ] # TODO(bugs.webrtc.org/7925): Remove.
|
||||
|
||||
sources = [
|
||||
"src/jni/androidmetrics.cc",
|
||||
]
|
||||
|
||||
deps = [
|
||||
":base_jni",
|
||||
":generated_metrics_jni",
|
||||
@ -583,16 +581,41 @@ if (is_android) {
|
||||
]
|
||||
}
|
||||
|
||||
rtc_static_library("video_jni") {
|
||||
sources = []
|
||||
deps = [
|
||||
"../../system_wrappers:field_trial",
|
||||
]
|
||||
|
||||
sources += [
|
||||
# Corresponds to MediaCodecVideoEncoder/Decoder in Java.
|
||||
rtc_static_library("legacy_hwcodecs_jni") {
|
||||
visibility = [ "*" ]
|
||||
allow_poison = [ "software_video_codecs" ]
|
||||
sources = [
|
||||
"src/jni/androidmediacodeccommon.h",
|
||||
"src/jni/androidmediadecoder.cc",
|
||||
"src/jni/androidmediaencoder.cc",
|
||||
]
|
||||
deps = [
|
||||
":base_jni",
|
||||
":default_video_codec_factory_jni",
|
||||
":generated_video_jni",
|
||||
":native_api_jni",
|
||||
":video_jni",
|
||||
":videoframe_jni",
|
||||
"../..:webrtc_common",
|
||||
"../../api/video_codecs:video_codecs_api",
|
||||
"../../common_video:common_video",
|
||||
"../../media:rtc_internal_video_codecs",
|
||||
"../../media:rtc_media_base",
|
||||
"../../modules/video_coding:video_codec_interface",
|
||||
"../../modules/video_coding:video_coding_utility",
|
||||
"../../rtc_base:checks",
|
||||
"../../rtc_base:rtc_base",
|
||||
"../../rtc_base:rtc_task_queue_api",
|
||||
"../../rtc_base:sequenced_task_checker",
|
||||
"../../rtc_base:weak_ptr",
|
||||
"../../system_wrappers:field_trial",
|
||||
"//third_party/libyuv",
|
||||
]
|
||||
}
|
||||
|
||||
rtc_static_library("video_jni") {
|
||||
sources = [
|
||||
"src/jni/androidvideotracksource.cc",
|
||||
"src/jni/androidvideotracksource.h",
|
||||
"src/jni/encodedimage.cc",
|
||||
@ -626,40 +649,25 @@ if (is_android) {
|
||||
"src/jni/yuvhelper.cc",
|
||||
]
|
||||
|
||||
deps += [
|
||||
deps = [
|
||||
":base_jni",
|
||||
":generated_video_jni",
|
||||
":native_api_jni",
|
||||
|
||||
# TODO(bugs.webrtc.org/7925): Remove. :swcodecs_jni isn't a true
|
||||
# dependency of this target. It should be linked in explicitly where
|
||||
# needed.
|
||||
":swcodecs_jni",
|
||||
":videoframe_jni",
|
||||
"../..:webrtc_common",
|
||||
"../../api:libjingle_peerconnection_api",
|
||||
"../../api/video:encoded_image",
|
||||
"../../api/video:video_frame",
|
||||
"../../api/video_codecs:builtin_video_decoder_factory",
|
||||
"../../api/video_codecs:builtin_video_encoder_factory",
|
||||
"../../api/video_codecs:rtc_software_fallback_wrappers",
|
||||
"../../api/video_codecs:video_codecs_api",
|
||||
"../../common_video:common_video",
|
||||
"../../media:rtc_audio_video",
|
||||
"../../media:rtc_h264_profile_id",
|
||||
"../../media:rtc_internal_video_codecs",
|
||||
"../../media:rtc_media_base",
|
||||
"../../modules/utility:utility",
|
||||
"../../modules/video_coding:codec_globals_headers",
|
||||
"../../modules/video_coding:video_codec_interface",
|
||||
"../../modules/video_coding:video_coding_utility",
|
||||
"../../rtc_base:checks",
|
||||
"../../rtc_base:rtc_base",
|
||||
"../../rtc_base:rtc_base_approved",
|
||||
"../../rtc_base:rtc_task_queue",
|
||||
"../../rtc_base:sequenced_task_checker",
|
||||
"../../rtc_base:weak_ptr",
|
||||
"../../rtc_base/memory:aligned_malloc",
|
||||
"../../rtc_base:rtc_task_queue_api",
|
||||
"//third_party/libyuv",
|
||||
]
|
||||
}
|
||||
@ -760,6 +768,8 @@ if (is_android) {
|
||||
}
|
||||
|
||||
rtc_static_library("default_video_codec_factory_jni") {
|
||||
visibility = [ "*" ]
|
||||
allow_poison = [ "software_video_codecs" ]
|
||||
deps = [
|
||||
":swcodecs_jni",
|
||||
":video_jni",
|
||||
@ -772,12 +782,10 @@ if (is_android) {
|
||||
sources = [
|
||||
"src/jni/vp8codec.cc",
|
||||
]
|
||||
|
||||
# TODO(bugs.webrtc.org/7925): add a depenency on :video_jni once :video_jni
|
||||
# does not depend on us.
|
||||
deps = [
|
||||
":base_jni",
|
||||
":generated_libvpx_vp8_jni",
|
||||
":video_jni",
|
||||
"../../modules/video_coding:webrtc_vp8",
|
||||
]
|
||||
}
|
||||
@ -788,12 +796,10 @@ if (is_android) {
|
||||
sources = [
|
||||
"src/jni/vp9codec.cc",
|
||||
]
|
||||
|
||||
# TODO(bugs.webrtc.org/7925): add a depenency on :video_jni once :video_jni
|
||||
# does not depend on us.
|
||||
deps = [
|
||||
":base_jni",
|
||||
":generated_libvpx_vp9_jni",
|
||||
":video_jni",
|
||||
"../../modules/video_coding:webrtc_vp9",
|
||||
]
|
||||
}
|
||||
@ -889,10 +895,7 @@ if (is_android) {
|
||||
# objects.
|
||||
rtc_static_library("native_api_codecs") {
|
||||
visibility = [ "*" ]
|
||||
allow_poison = [
|
||||
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
|
||||
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
|
||||
]
|
||||
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
|
||||
sources = [
|
||||
"native_api/codecs/wrapper.cc",
|
||||
"native_api/codecs/wrapper.h",
|
||||
@ -912,14 +915,10 @@ if (is_android) {
|
||||
# API for creating Java PeerConnectionFactory from C++ equivalents.
|
||||
rtc_static_library("native_api_peerconnection") {
|
||||
visibility = [ "*" ]
|
||||
|
||||
allow_poison = [ "software_video_codecs" ] # TODO(bugs.webrtc.org/7925): Remove.
|
||||
|
||||
sources = [
|
||||
"native_api/peerconnection/peerconnectionfactory.cc",
|
||||
"native_api/peerconnection/peerconnectionfactory.h",
|
||||
]
|
||||
|
||||
deps = [
|
||||
":base_jni",
|
||||
":peerconnection_jni",
|
||||
@ -933,10 +932,7 @@ if (is_android) {
|
||||
# video interfaces from their Java equivalents.
|
||||
rtc_static_library("native_api_video") {
|
||||
visibility = [ "*" ]
|
||||
allow_poison = [
|
||||
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
|
||||
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
|
||||
]
|
||||
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
|
||||
sources = [
|
||||
"native_api/video/videosource.cc",
|
||||
"native_api/video/videosource.h",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user