Migrate legacy Android video codec factories.
Prepare for building without built-in software codecs. When passing null, inject the new type of factories but wrap them in the built-in software codecs outside the videoengine. Bug: webrtc:7925 Change-Id: I7408e6e46e6b9efdf346852954bf51a97e023b5c Reviewed-on: https://webrtc-review.googlesource.com/83729 Commit-Queue: Anders Carlsson <andersc@webrtc.org> Reviewed-by: Magnus Jedvert <magjed@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23897}
This commit is contained in:
committed by
Commit Bot
parent
ef43aafcf5
commit
1e06d885dc
@ -297,6 +297,7 @@ rtc_static_library("video_jni") {
|
||||
"src/jni/androidvideotracksource.h",
|
||||
"src/jni/encodedimage.cc",
|
||||
"src/jni/encodedimage.h",
|
||||
"src/jni/hardwarevideoencoderfactory.cc",
|
||||
"src/jni/jni_generator_helper.h",
|
||||
"src/jni/nativecapturerobserver.cc",
|
||||
"src/jni/nativecapturerobserver.h",
|
||||
@ -317,37 +318,21 @@ rtc_static_library("video_jni") {
|
||||
"src/jni/videoencoderfallback.cc",
|
||||
"src/jni/videoencoderwrapper.cc",
|
||||
"src/jni/videoencoderwrapper.h",
|
||||
"src/jni/videoframe.cc",
|
||||
"src/jni/videoframe.h",
|
||||
"src/jni/videosink.cc",
|
||||
"src/jni/videosink.h",
|
||||
"src/jni/videosource.cc",
|
||||
"src/jni/videotrack.cc",
|
||||
"src/jni/wrapped_native_i420_buffer.cc",
|
||||
"src/jni/wrapped_native_i420_buffer.h",
|
||||
"src/jni/yuvhelper.cc",
|
||||
]
|
||||
|
||||
if (rtc_use_builtin_sw_codecs) {
|
||||
sources += [
|
||||
"src/jni/androidmediacodeccommon.h",
|
||||
"src/jni/androidmediadecoder.cc",
|
||||
"src/jni/androidmediadecoder_jni.h",
|
||||
"src/jni/androidmediaencoder.cc",
|
||||
"src/jni/androidmediaencoder_jni.h",
|
||||
"src/jni/hardwarevideoencoderfactory.cc",
|
||||
]
|
||||
|
||||
deps += [
|
||||
":vp8_jni",
|
||||
":vp9_jni",
|
||||
"../../media:rtc_internal_video_codecs",
|
||||
]
|
||||
}
|
||||
deps += [
|
||||
":base_jni",
|
||||
":generated_video_jni",
|
||||
":legacy_video_jni", # TODO(bugs.webrtc.org/7925): Remove.
|
||||
":native_api_jni",
|
||||
":videoframe_jni",
|
||||
":vp8_jni", # TODO(bugs.webrtc.org/7925): Remove.
|
||||
":vp9_jni", # TODO(bugs.webrtc.org/7925): Remove.
|
||||
"../..:webrtc_common",
|
||||
"../../api:libjingle_peerconnection_api",
|
||||
"../../api/video:video_frame",
|
||||
@ -356,6 +341,7 @@ rtc_static_library("video_jni") {
|
||||
"../../common_video:common_video",
|
||||
"../../media:rtc_audio_video",
|
||||
"../../media:rtc_h264_profile_id",
|
||||
"../../media:rtc_internal_video_codecs",
|
||||
"../../media:rtc_media_base",
|
||||
"../../modules:module_api",
|
||||
"../../modules/utility:utility",
|
||||
@ -374,6 +360,61 @@ rtc_static_library("video_jni") {
|
||||
]
|
||||
}
|
||||
|
||||
rtc_static_library("videoframe_jni") {
|
||||
sources = [
|
||||
"src/jni/videoframe.cc",
|
||||
"src/jni/videoframe.h",
|
||||
"src/jni/wrapped_native_i420_buffer.cc",
|
||||
"src/jni/wrapped_native_i420_buffer.h",
|
||||
]
|
||||
|
||||
deps = [
|
||||
":base_jni",
|
||||
":generated_video_jni",
|
||||
":native_api_jni",
|
||||
"../../api/video:video_frame",
|
||||
"../../common_video:common_video",
|
||||
"../../rtc_base:checks",
|
||||
"../../rtc_base:rtc_base",
|
||||
"../../rtc_base:rtc_base_approved",
|
||||
"../../rtc_base/memory:aligned_malloc",
|
||||
"//third_party/libyuv",
|
||||
]
|
||||
}
|
||||
|
||||
# TODO(bugs.webrtc.org/7925): Remove.
|
||||
rtc_static_library("legacy_video_jni") {
|
||||
sources = [
|
||||
"src/jni/androidmediacodeccommon.h",
|
||||
"src/jni/androidmediadecoder.cc",
|
||||
"src/jni/androidmediadecoder_jni.h",
|
||||
"src/jni/androidmediaencoder.cc",
|
||||
"src/jni/androidmediaencoder_jni.h",
|
||||
]
|
||||
|
||||
deps = [
|
||||
":base_jni",
|
||||
":generated_video_jni",
|
||||
":native_api_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_base_approved",
|
||||
"../../rtc_base:rtc_task_queue",
|
||||
"../../rtc_base:sequenced_task_checker",
|
||||
"../../rtc_base:weak_ptr",
|
||||
"../../system_wrappers:field_trial_api",
|
||||
"//third_party/libyuv",
|
||||
]
|
||||
}
|
||||
|
||||
rtc_static_library("null_video_jni") {
|
||||
sources = [
|
||||
"src/jni/pc/null_video.cc",
|
||||
@ -381,6 +422,7 @@ rtc_static_library("null_video_jni") {
|
||||
|
||||
deps = [
|
||||
":base_jni",
|
||||
"../../api/video_codecs:video_codecs_api",
|
||||
]
|
||||
}
|
||||
|
||||
@ -627,6 +669,9 @@ generate_jni("generated_metrics_jni") {
|
||||
|
||||
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",
|
||||
]
|
||||
@ -698,6 +743,7 @@ dist_jar("libwebrtc") {
|
||||
":audio_api_java",
|
||||
":base_java",
|
||||
":camera_java",
|
||||
":default_video_codec_factory_java",
|
||||
":filevideo_java",
|
||||
":hwcodecs_java",
|
||||
":java_audio_device_module_java",
|
||||
@ -707,15 +753,12 @@ dist_jar("libwebrtc") {
|
||||
":peerconnection_java",
|
||||
":screencapturer_java",
|
||||
":surfaceviewrenderer_java",
|
||||
":swcodecs_java",
|
||||
":video_api_java",
|
||||
":video_java",
|
||||
"../../modules/audio_device:audio_device_java",
|
||||
"../../rtc_base:base_java",
|
||||
]
|
||||
|
||||
if (rtc_use_builtin_sw_codecs) {
|
||||
deps += [ ":swcodecs_java" ]
|
||||
}
|
||||
}
|
||||
|
||||
# TODO(sakal): Extract files from this target to releveant subtargets, video, audio etc.
|
||||
@ -905,24 +948,22 @@ rtc_android_library("filevideo_java") {
|
||||
]
|
||||
}
|
||||
|
||||
if (rtc_use_builtin_sw_codecs) {
|
||||
rtc_android_library("swcodecs_java") {
|
||||
java_files = [
|
||||
"api/org/webrtc/SoftwareVideoDecoderFactory.java",
|
||||
"api/org/webrtc/SoftwareVideoEncoderFactory.java",
|
||||
"src/java/org/webrtc/VP8Encoder.java",
|
||||
"src/java/org/webrtc/VP8Decoder.java",
|
||||
"src/java/org/webrtc/VP9Encoder.java",
|
||||
"src/java/org/webrtc/VP9Decoder.java",
|
||||
]
|
||||
rtc_android_library("swcodecs_java") {
|
||||
java_files = [
|
||||
"api/org/webrtc/SoftwareVideoDecoderFactory.java",
|
||||
"api/org/webrtc/SoftwareVideoEncoderFactory.java",
|
||||
"src/java/org/webrtc/VP8Encoder.java",
|
||||
"src/java/org/webrtc/VP8Decoder.java",
|
||||
"src/java/org/webrtc/VP9Encoder.java",
|
||||
"src/java/org/webrtc/VP9Decoder.java",
|
||||
]
|
||||
|
||||
deps = [
|
||||
":base_java",
|
||||
":video_api_java",
|
||||
":video_java",
|
||||
"//rtc_base:base_java",
|
||||
]
|
||||
}
|
||||
deps = [
|
||||
":base_java",
|
||||
":video_api_java",
|
||||
":video_java",
|
||||
"//rtc_base:base_java",
|
||||
]
|
||||
}
|
||||
|
||||
rtc_android_library("hwcodecs_java") {
|
||||
@ -1021,15 +1062,6 @@ rtc_android_library("libjingle_peerconnection_java") {
|
||||
"//modules/audio_device:audio_device_java",
|
||||
"//rtc_base:base_java",
|
||||
]
|
||||
|
||||
if (rtc_use_builtin_sw_codecs) {
|
||||
deps += [ ":swcodecs_java" ]
|
||||
|
||||
java_files += [
|
||||
"api/org/webrtc/DefaultVideoDecoderFactory.java",
|
||||
"api/org/webrtc/DefaultVideoEncoderFactory.java",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
rtc_android_library("libjingle_peerconnection_metrics_default_java") {
|
||||
@ -1042,6 +1074,19 @@ rtc_android_library("libjingle_peerconnection_metrics_default_java") {
|
||||
]
|
||||
}
|
||||
|
||||
rtc_android_library("default_video_codec_factory_java") {
|
||||
java_files = [
|
||||
"api/org/webrtc/DefaultVideoDecoderFactory.java",
|
||||
"api/org/webrtc/DefaultVideoEncoderFactory.java",
|
||||
]
|
||||
|
||||
deps = [
|
||||
":hwcodecs_java",
|
||||
":swcodecs_java",
|
||||
":video_api_java",
|
||||
]
|
||||
}
|
||||
|
||||
if (rtc_include_tests) {
|
||||
rtc_instrumentation_test_apk("libjingle_peerconnection_android_unittest") {
|
||||
apk_name = "libjingle_peerconnection_android_unittest"
|
||||
@ -1079,6 +1124,7 @@ if (rtc_include_tests) {
|
||||
|
||||
deps = [
|
||||
":base_java",
|
||||
":default_video_codec_factory_java",
|
||||
":libjingle_peerconnection_java",
|
||||
":libjingle_peerconnection_metrics_default_java",
|
||||
":video_api_java",
|
||||
@ -1222,6 +1268,9 @@ rtc_static_library("native_api_codecs") {
|
||||
# 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",
|
||||
@ -1258,6 +1307,7 @@ rtc_static_library("native_api_video") {
|
||||
deps = [
|
||||
":native_api_jni",
|
||||
":video_jni",
|
||||
":videoframe_jni",
|
||||
"//api:libjingle_peerconnection_api",
|
||||
"//api/video:video_frame",
|
||||
"//rtc_base:rtc_base_approved",
|
||||
|
||||
Reference in New Issue
Block a user