Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

1549 lines
47 KiB
Plaintext
Raw Normal View History

# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
if (is_android) {
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
import("../../webrtc.gni")
group("android") {
if (!build_with_chromium && is_android) {
public_deps = [
":libjingle_peerconnection_datachannelonly_so",
":libjingle_peerconnection_jni",
":libjingle_peerconnection_so",
":libwebrtc",
":native_api",
]
}
}
#####################
# Aggregate targets #
#####################
dist_jar("libwebrtc") {
_target_dir_name = get_label_info(":$target_name", "dir")
output = "${root_out_dir}/lib.java${_target_dir_name}/${target_name}.jar"
direct_deps_only = true
use_unprocessed_jars = true
requires_android = true
no_build_hooks = true
deps = [
":audio_api_java",
":base_java",
":builtin_audio_codecs_java",
":camera_java",
":default_video_codec_factory_java",
":filevideo_java",
":hwcodecs_java",
":java_audio_device_module_java",
":libjingle_peerconnection_java",
":libjingle_peerconnection_metrics_default_java",
":logging_java",
":peerconnection_java",
":screencapturer_java",
":surfaceviewrenderer_java",
":swcodecs_java",
":video_api_java",
":video_java",
"../../modules/audio_device:audio_device_java",
"../../rtc_base:base_java",
]
}
# The native API is currently experimental and may change without notice.
group("native_api") {
deps = [
":native_api_audio_device_module",
":native_api_base",
":native_api_codecs",
":native_api_jni",
":native_api_peerconnection",
":native_api_video",
]
}
# Old target that pulls in everything. This will be going away in the future,
# clients should depend on individual video_java etc. targets instead.
rtc_android_library("libjingle_peerconnection_java") {
java_files = [ "src/java/org/webrtc/Empty.java" ]
deps = [
":audio_api_java",
":base_java",
":camera_java",
":filevideo_java",
":hwcodecs_java",
":java_audio_device_module_java",
":peerconnection_java",
":screencapturer_java",
":surfaceviewrenderer_java",
":video_api_java",
":video_java",
"//modules/audio_device:audio_device_java",
"//rtc_base:base_java",
]
}
rtc_android_library("libjingle_peerconnection_metrics_default_java") {
java_files = [ "api/org/webrtc/Metrics.java" ]
deps = [
":base_java",
":libjingle_peerconnection_java",
"../../rtc_base:base_java",
]
}
rtc_static_library("libjingle_peerconnection_jni") {
visibility = [ "*" ]
allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
public_deps = [ # no-presubmit-check TODO(webrtc:8603)
":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",
"../../api:create_peerconnection_factory",
]
}
rtc_static_library("libjingle_peerconnection_metrics_default_jni") {
visibility = [ "*" ]
sources = [
"src/jni/androidmetrics.cc",
]
deps = [
":base_jni",
":generated_metrics_jni",
":native_api_jni",
":peerconnection_jni",
"../../pc:peerconnection",
"../../system_wrappers:metrics",
]
}
rtc_shared_library("libjingle_peerconnection_so") {
sources = [
"src/jni/jni_onload.cc",
]
suppressed_configs += [ "//build/config/android:hide_all_but_jni_onload" ]
configs += [ "//build/config/android:hide_all_but_jni" ]
deps = [
":libjingle_peerconnection_jni",
":libjingle_peerconnection_metrics_default_jni",
"../../pc:libjingle_peerconnection",
"../../rtc_base:rtc_base",
]
output_extension = "so"
}
# The modular build targets can be used to build WebRTC with different
# functionalities. The users can choose either the real implemenation or the
# null implementation of the audio/video modules based on their requirments.
rtc_shared_library("libjingle_peerconnection_datachannelonly_so") {
sources = [
"src/jni/jni_onload.cc",
]
suppressed_configs += [ "//build/config/android:hide_all_but_jni_onload" ]
configs += [ "//build/config/android:hide_all_but_jni" ]
deps = [
":base_jni",
":libjingle_peerconnection_metrics_default_jni",
":null_audio_jni",
":null_media_jni",
":null_video_jni",
":peerconnection_jni",
"../../pc:peerconnection",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
]
output_extension = "so"
}
#######################
# Public Java modules #
#######################
# Core targets.
# TODO(sakal): Extract files from this target to releveant subtargets, video, audio etc.
rtc_android_library("base_java") {
java_files = [
"api/org/webrtc/RefCounted.java",
"api/org/webrtc/Predicate.java",
"src/java/org/webrtc/CalledByNative.java",
"src/java/org/webrtc/CalledByNativeUnchecked.java",
"src/java/org/webrtc/Histogram.java",
"src/java/org/webrtc/JniCommon.java",
"src/java/org/webrtc/JniHelper.java",
"src/java/org/webrtc/RefCountDelegate.java",
"src/java/org/webrtc/WebRtcClassLoader.java",
]
deps = [
"//rtc_base:base_java",
]
}
rtc_android_library("audio_api_java") {
java_files = [
"api/org/webrtc/audio/AudioDeviceModule.java",
"api/org/webrtc/AudioDecoderFactoryFactory.java",
"api/org/webrtc/AudioEncoderFactoryFactory.java",
]
deps = [
":base_java",
"//rtc_base:base_java",
]
}
rtc_android_library("video_api_java") {
java_files = [
"api/org/webrtc/EncodedImage.java",
"api/org/webrtc/VideoCodecInfo.java",
"api/org/webrtc/CapturerObserver.java",
"api/org/webrtc/VideoCodecStatus.java",
"api/org/webrtc/VideoDecoder.java",
"api/org/webrtc/VideoDecoderFactory.java",
"api/org/webrtc/VideoEncoder.java",
"api/org/webrtc/VideoEncoderFactory.java",
"api/org/webrtc/VideoFrame.java",
"api/org/webrtc/VideoSink.java",
]
deps = [
":base_java",
"//rtc_base:base_java",
]
}
rtc_android_library("video_java") {
java_files = [
"api/org/webrtc/EglBase.java",
"api/org/webrtc/EglRenderer.java",
"api/org/webrtc/GlRectDrawer.java",
"api/org/webrtc/GlShader.java",
"api/org/webrtc/GlTextureFrameBuffer.java",
"api/org/webrtc/GlUtil.java",
"api/org/webrtc/JavaI420Buffer.java",
"api/org/webrtc/RendererCommon.java",
"api/org/webrtc/SurfaceTextureHelper.java",
"api/org/webrtc/TextureBufferImpl.java",
"api/org/webrtc/VideoCapturer.java",
"api/org/webrtc/VideoDecoderFallback.java",
"api/org/webrtc/VideoEncoderFallback.java",
"api/org/webrtc/VideoFrameDrawer.java",
"api/org/webrtc/YuvConverter.java",
"api/org/webrtc/YuvHelper.java",
"api/org/webrtc/TimestampAligner.java",
"src/java/org/webrtc/EglBase10.java",
"src/java/org/webrtc/EglBase14.java",
"src/java/org/webrtc/GlGenericDrawer.java",
"src/java/org/webrtc/H264Utils.java",
"src/java/org/webrtc/NV21Buffer.java",
"src/java/org/webrtc/VideoDecoderWrapper.java",
"src/java/org/webrtc/VideoEncoderWrapper.java",
"src/java/org/webrtc/WrappedNativeI420Buffer.java",
"src/java/org/webrtc/WrappedNativeVideoDecoder.java",
"src/java/org/webrtc/WrappedNativeVideoEncoder.java",
]
deps = [
":base_java",
":video_api_java",
"//rtc_base:base_java",
]
}
rtc_android_library("peerconnection_java") {
java_files = [
"api/org/webrtc/audio/LegacyAudioDeviceModule.java",
"api/org/webrtc/AudioProcessingFactory.java",
"api/org/webrtc/AudioSource.java",
"api/org/webrtc/AudioTrack.java",
"api/org/webrtc/CallSessionFileRotatingLogSink.java",
"api/org/webrtc/CryptoOptions.java",
"api/org/webrtc/DataChannel.java",
"api/org/webrtc/DtmfSender.java",
"api/org/webrtc/FecControllerFactoryFactoryInterface.java",
"api/org/webrtc/MediaTransportFactoryFactory.java",
"api/org/webrtc/FrameDecryptor.java",
"api/org/webrtc/FrameEncryptor.java",
"api/org/webrtc/IceCandidate.java",
"api/org/webrtc/MediaCodecVideoDecoder.java",
"api/org/webrtc/MediaCodecVideoEncoder.java",
"api/org/webrtc/MediaConstraints.java",
"api/org/webrtc/MediaSource.java",
"api/org/webrtc/MediaStream.java",
"api/org/webrtc/MediaStreamTrack.java",
"api/org/webrtc/NativeLibraryLoader.java",
"api/org/webrtc/NativePeerConnectionFactory.java",
"api/org/webrtc/NetworkMonitor.java", # TODDO(sakal): Break dependencies and move to base_java.
"api/org/webrtc/NetworkMonitorAutoDetect.java", # TODDO(sakal): Break dependencies and move to base_java.
"api/org/webrtc/PeerConnection.java",
"api/org/webrtc/PeerConnectionDependencies.java",
"api/org/webrtc/PeerConnectionFactory.java",
"api/org/webrtc/RtcCertificatePem.java",
"api/org/webrtc/RTCStats.java",
"api/org/webrtc/RTCStatsCollectorCallback.java",
"api/org/webrtc/RTCStatsReport.java",
"api/org/webrtc/RtpParameters.java",
"api/org/webrtc/RtpReceiver.java",
"api/org/webrtc/RtpSender.java",
"api/org/webrtc/RtpTransceiver.java",
"api/org/webrtc/SSLCertificateVerifier.java",
"api/org/webrtc/SdpObserver.java",
"api/org/webrtc/SessionDescription.java",
"api/org/webrtc/StatsObserver.java",
"api/org/webrtc/StatsReport.java",
"api/org/webrtc/TurnCustomizer.java",
"api/org/webrtc/VideoSource.java",
"api/org/webrtc/VideoTrack.java",
"src/java/org/webrtc/NativeLibrary.java",
"src/java/org/webrtc/NativeCapturerObserver.java",
]
deps = [
":audio_api_java",
":base_java",
":builtin_audio_codecs_java",
":default_video_codec_factory_java",
":logging_java",
":swcodecs_java",
":video_api_java",
":video_java",
"//modules/audio_device:audio_device_java",
"//rtc_base:base_java",
]
}
# Modules, in alphabetical order.
rtc_android_library("camera_java") {
java_files = [
"api/org/webrtc/Camera1Capturer.java",
"api/org/webrtc/Camera1Enumerator.java",
"api/org/webrtc/Camera2Capturer.java",
"api/org/webrtc/Camera2Enumerator.java",
"api/org/webrtc/CameraEnumerationAndroid.java",
"api/org/webrtc/CameraEnumerator.java",
"api/org/webrtc/CameraVideoCapturer.java",
"src/java/org/webrtc/Camera1Session.java",
"src/java/org/webrtc/Camera2Session.java",
"src/java/org/webrtc/CameraCapturer.java",
"src/java/org/webrtc/CameraSession.java",
]
deps = [
":base_java",
":video_api_java",
":video_java",
"//rtc_base:base_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",
":video_java",
]
}
rtc_android_library("filevideo_java") {
java_files = [
"api/org/webrtc/VideoFileRenderer.java",
"api/org/webrtc/FileVideoCapturer.java",
]
deps = [
":base_java",
":video_api_java",
":video_java",
"//rtc_base:base_java",
]
}
rtc_android_library("hwcodecs_java") {
java_files = [
"api/org/webrtc/HardwareVideoDecoderFactory.java",
"api/org/webrtc/HardwareVideoEncoderFactory.java",
"api/org/webrtc/PlatformSoftwareVideoDecoderFactory.java",
"src/java/org/webrtc/AndroidVideoDecoder.java",
"src/java/org/webrtc/BaseBitrateAdjuster.java",
"src/java/org/webrtc/BitrateAdjuster.java",
"src/java/org/webrtc/DynamicBitrateAdjuster.java",
"src/java/org/webrtc/FramerateBitrateAdjuster.java",
"src/java/org/webrtc/HardwareVideoEncoder.java",
"src/java/org/webrtc/MediaCodecUtils.java",
"src/java/org/webrtc/MediaCodecVideoDecoderFactory.java",
"src/java/org/webrtc/MediaCodecWrapper.java",
"src/java/org/webrtc/MediaCodecWrapperFactory.java",
"src/java/org/webrtc/MediaCodecWrapperFactoryImpl.java",
"src/java/org/webrtc/NV12Buffer.java",
"src/java/org/webrtc/VideoCodecType.java",
]
deps = [
":base_java",
":video_api_java",
":video_java",
"//rtc_base:base_java",
]
}
rtc_android_library("java_audio_device_module_java") {
java_files = [
"api/org/webrtc/audio/JavaAudioDeviceModule.java",
"src/java/org/webrtc/audio/VolumeLogger.java",
"src/java/org/webrtc/audio/WebRtcAudioEffects.java",
"src/java/org/webrtc/audio/WebRtcAudioManager.java",
"src/java/org/webrtc/audio/WebRtcAudioRecord.java",
"src/java/org/webrtc/audio/WebRtcAudioTrack.java",
"src/java/org/webrtc/audio/WebRtcAudioUtils.java",
]
deps = [
":audio_api_java",
":base_java",
"//rtc_base:base_java",
]
}
rtc_android_library("builtin_audio_codecs_java") {
java_files = [
"api/org/webrtc/BuiltinAudioDecoderFactoryFactory.java",
"api/org/webrtc/BuiltinAudioEncoderFactoryFactory.java",
]
deps = [
":audio_api_java",
]
}
rtc_android_library("screencapturer_java") {
java_files = [ "api/org/webrtc/ScreenCapturerAndroid.java" ]
deps = [
":video_api_java",
":video_java",
"//rtc_base:base_java",
]
}
rtc_android_library("surfaceviewrenderer_java") {
java_files = [
"api/org/webrtc/SurfaceEglRenderer.java",
"api/org/webrtc/SurfaceViewRenderer.java",
]
deps = [
":video_api_java",
":video_java",
"//rtc_base:base_java",
]
}
Reland "Android: Generate JNI code for androidnetworkmonitor_jni" This reverts commit 522c1bc6bb945d66bf77f175da48e1644d74511e. Reason for revert: Reland with a temporary fix. Original change's description: > Revert "Android: Generate JNI code for androidnetworkmonitor_jni" > > This reverts commit 768e1c0ea1f2077675df31915132a0557aca400e. > > Reason for revert: Breaks AppRTCMobile. > > Original change's description: > > Android: Generate JNI code for androidnetworkmonitor_jni > > > > Bug: webrtc:8278 > > Change-Id: I8447b2de5ec2610760f7112b6f86e54d94325322 > > Reviewed-on: https://webrtc-review.googlesource.com/24520 > > Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> > > Commit-Queue: Magnus Jedvert <magjed@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#20796} > > TBR=magjed@webrtc.org,sakal@webrtc.org > > Change-Id: I45f8d19abd81386872b7c095ac7eca21fa06077c > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:8278,webrtc:8556 > Reviewed-on: https://webrtc-review.googlesource.com/24622 > Reviewed-by: Magnus Jedvert <magjed@webrtc.org> > Commit-Queue: Magnus Jedvert <magjed@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#20800} TBR=magjed@webrtc.org,sakal@webrtc.org Change-Id: I7cc404993addb17f0397127a10aac67476ef6ff4 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:8278, webrtc:8556 Reviewed-on: https://webrtc-review.googlesource.com/24623 Commit-Queue: Magnus Jedvert <magjed@webrtc.org> Reviewed-by: Magnus Jedvert <magjed@webrtc.org> Cr-Commit-Position: refs/heads/master@{#20801}
2017-11-20 21:55:27 +01:00
rtc_android_library("libvpx_vp8_java") {
visibility = [ "*" ]
java_files = [
"api/org/webrtc/LibvpxVp8Decoder.java",
"api/org/webrtc/LibvpxVp8Encoder.java",
]
deps = [
":base_java",
":video_api_java",
":video_java",
"//rtc_base:base_java",
]
}
rtc_android_library("libvpx_vp9_java") {
visibility = [ "*" ]
java_files = [
"api/org/webrtc/LibvpxVp9Decoder.java",
"api/org/webrtc/LibvpxVp9Encoder.java",
]
deps = [
":base_java",
":video_api_java",
":video_java",
"//rtc_base:base_java",
]
}
rtc_android_library("swcodecs_java") {
java_files = [
"api/org/webrtc/SoftwareVideoDecoderFactory.java",
"api/org/webrtc/SoftwareVideoEncoderFactory.java",
]
Reland "Reland "Injectable logging"" This is a reland of 21219a0e43446701810236fb9fdd59be072c12df The default implementation of OnLogMessage(msg, sev, tag) discarded the tag, resulting in FileRotatingLogSink not receiving tags. Since the revert the default implementation of OnLogMessage(msg, sev, tag) has been updated to add the tag to the log message. A more efficient implementation of it has also been added for FileRotatingLogSink. Unit tests are added for the default implementation and for Loggable injection. Original change's description: > Reland "Injectable logging" > > Any injected loggable or NativeLogger would be deleted if PCFactory > was reinitialized without calling setInjectableLogger. Now native > logging is not implemented as a Loggable, so it will remain active > unless a Loggable is injected. > > This is a reland of 59216ec4a4151b1ba5478c8f2b5c9f01f4683d7f > > Original change's description: > > Injectable logging > > > > Allows passing a Loggable to PCFactory.initializationOptions, which > > is then injected to Logging.java and logging.h. Future log messages > > in both Java and native will then be passed to this Loggable. > > > > Bug: webrtc:9225 > > Change-Id: I2ff693380639448301a78a93dc11d3a0106f0967 > > Reviewed-on: https://webrtc-review.googlesource.com/73243 > > Commit-Queue: Paulina Hensman <phensman@webrtc.org> > > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> > > Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#23241} > > Bug: webrtc:9225 > Change-Id: I2fe3fbc8c323814284bb62e43fe1870bdab581ee > TBR: kwiberg > Reviewed-on: https://webrtc-review.googlesource.com/77140 > Commit-Queue: Paulina Hensman <phensman@webrtc.org> > Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#23310} Bug: webrtc:9225 Change-Id: I67a5728fe772f0bedc9509713ed8b8ffdc31af81 TBR: kwiberg Reviewed-on: https://webrtc-review.googlesource.com/80860 Commit-Queue: Paulina Hensman <phensman@webrtc.org> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23711}
2018-06-21 14:31:38 +02:00
deps = [
":base_java",
":libvpx_vp8_java",
":libvpx_vp9_java",
":video_api_java",
":video_java",
"//rtc_base:base_java",
]
}
Reland "Reland "Injectable logging"" This is a reland of 21219a0e43446701810236fb9fdd59be072c12df The default implementation of OnLogMessage(msg, sev, tag) discarded the tag, resulting in FileRotatingLogSink not receiving tags. Since the revert the default implementation of OnLogMessage(msg, sev, tag) has been updated to add the tag to the log message. A more efficient implementation of it has also been added for FileRotatingLogSink. Unit tests are added for the default implementation and for Loggable injection. Original change's description: > Reland "Injectable logging" > > Any injected loggable or NativeLogger would be deleted if PCFactory > was reinitialized without calling setInjectableLogger. Now native > logging is not implemented as a Loggable, so it will remain active > unless a Loggable is injected. > > This is a reland of 59216ec4a4151b1ba5478c8f2b5c9f01f4683d7f > > Original change's description: > > Injectable logging > > > > Allows passing a Loggable to PCFactory.initializationOptions, which > > is then injected to Logging.java and logging.h. Future log messages > > in both Java and native will then be passed to this Loggable. > > > > Bug: webrtc:9225 > > Change-Id: I2ff693380639448301a78a93dc11d3a0106f0967 > > Reviewed-on: https://webrtc-review.googlesource.com/73243 > > Commit-Queue: Paulina Hensman <phensman@webrtc.org> > > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> > > Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#23241} > > Bug: webrtc:9225 > Change-Id: I2fe3fbc8c323814284bb62e43fe1870bdab581ee > TBR: kwiberg > Reviewed-on: https://webrtc-review.googlesource.com/77140 > Commit-Queue: Paulina Hensman <phensman@webrtc.org> > Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#23310} Bug: webrtc:9225 Change-Id: I67a5728fe772f0bedc9509713ed8b8ffdc31af81 TBR: kwiberg Reviewed-on: https://webrtc-review.googlesource.com/80860 Commit-Queue: Paulina Hensman <phensman@webrtc.org> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23711}
2018-06-21 14:31:38 +02:00
################################
# JNI targets for Java modules #
################################
# Mirrors the order of targets in the section above.
rtc_source_set("base_jni") {
visibility = [ "*" ]
sources = [
"src/jni/androidhistogram.cc",
"src/jni/androidnetworkmonitor.cc",
"src/jni/androidnetworkmonitor.h",
"src/jni/class_loader.h",
"src/jni/classreferenceholder.h",
"src/jni/jni_common.cc",
"src/jni/jni_helpers.cc",
"src/jni/jni_helpers.h",
"src/jni/pc/audio.h",
"src/jni/pc/logging.cc",
"src/jni/pc/media.h",
"src/jni/pc/video.h",
]
Reland "Reland "Injectable logging"" This is a reland of 21219a0e43446701810236fb9fdd59be072c12df The default implementation of OnLogMessage(msg, sev, tag) discarded the tag, resulting in FileRotatingLogSink not receiving tags. Since the revert the default implementation of OnLogMessage(msg, sev, tag) has been updated to add the tag to the log message. A more efficient implementation of it has also been added for FileRotatingLogSink. Unit tests are added for the default implementation and for Loggable injection. Original change's description: > Reland "Injectable logging" > > Any injected loggable or NativeLogger would be deleted if PCFactory > was reinitialized without calling setInjectableLogger. Now native > logging is not implemented as a Loggable, so it will remain active > unless a Loggable is injected. > > This is a reland of 59216ec4a4151b1ba5478c8f2b5c9f01f4683d7f > > Original change's description: > > Injectable logging > > > > Allows passing a Loggable to PCFactory.initializationOptions, which > > is then injected to Logging.java and logging.h. Future log messages > > in both Java and native will then be passed to this Loggable. > > > > Bug: webrtc:9225 > > Change-Id: I2ff693380639448301a78a93dc11d3a0106f0967 > > Reviewed-on: https://webrtc-review.googlesource.com/73243 > > Commit-Queue: Paulina Hensman <phensman@webrtc.org> > > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> > > Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#23241} > > Bug: webrtc:9225 > Change-Id: I2fe3fbc8c323814284bb62e43fe1870bdab581ee > TBR: kwiberg > Reviewed-on: https://webrtc-review.googlesource.com/77140 > Commit-Queue: Paulina Hensman <phensman@webrtc.org> > Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#23310} Bug: webrtc:9225 Change-Id: I67a5728fe772f0bedc9509713ed8b8ffdc31af81 TBR: kwiberg Reviewed-on: https://webrtc-review.googlesource.com/80860 Commit-Queue: Paulina Hensman <phensman@webrtc.org> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23711}
2018-06-21 14:31:38 +02:00
deps = [
":generated_base_jni",
":internal_jni",
":native_api_jni",
"../../api:libjingle_peerconnection_api",
"../../rtc_base:checks",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers:metrics",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_static_library("audio_jni") {
sources = [
"src/jni/pc/audio.cc",
]
deps = [
":base_jni",
":builtin_audio_codecs_jni",
"../../api/audio_codecs:builtin_audio_decoder_factory",
"../../api/audio_codecs:builtin_audio_encoder_factory",
Reland "Isolating APM API build target: making :api an actual target." This reverts commit 61c6e5643e7ea058e653956980a90e033249c055. Reason for revert: downstream projects prepared for this change Original change's description: > Revert "Isolating APM API build target: making :api an actual target." > > This reverts commit a7f77a7c05b5d26520fd01a773ffb2c8b15b60ff. > > Reason for revert: breaking downstream > > Original change's description: > > Isolating APM API build target: making :api an actual target. > > > > This CL is part of a refactoring work to unblock other CLs > > that would generate a circular dependency when including > > modules/audio_processing. It will also allow to easily move > > the APM interface part under //api. > > > > More in detail, this change moves the APM interface files from > > the build target modules/audio_processing to > > modules/audio_processing:api. It also adds :api as dependency > > where needed. > > > > Bug: webrtc:9535 > > Change-Id: I72829e22d08ba4d75985f0421e6e8bf0216ebecd > > Reviewed-on: https://webrtc-review.googlesource.com/c/109501 > > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> > > Reviewed-by: Kári Helgason <kthelgason@webrtc.org> > > Reviewed-by: Niels Moller <nisse@webrtc.org> > > Reviewed-by: Sam Zackrisson <saza@webrtc.org> > > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#25539} > > TBR=saza@webrtc.org,alessiob@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org > > Change-Id: I974c6237311e7c06970aa62e5f6940f3aa80113d > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:9535 > Reviewed-on: https://webrtc-review.googlesource.com/c/109820 > Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#25540} TBR=saza@webrtc.org,alessiob@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org Change-Id: Ic8ed4cc3baf43d639ce13cae256c007728c3ad92 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:9535 Reviewed-on: https://webrtc-review.googlesource.com/c/109884 Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25547}
2018-11-07 14:29:54 +00:00
"../../modules/audio_processing:api",
"../../modules/audio_processing:audio_processing",
"../../rtc_base:rtc_base_approved",
]
}
rtc_static_library("builtin_audio_codecs_jni") {
sources = [
"src/jni/builtinaudiodecoderfactoryfactory.cc",
"src/jni/builtinaudioencoderfactoryfactory.cc",
]
deps = [
":base_jni",
":generated_builtin_audio_codecs_jni",
":native_api_jni",
"../../api/audio_codecs:builtin_audio_decoder_factory",
"../../api/audio_codecs:builtin_audio_encoder_factory",
"../../rtc_base:rtc_base_approved",
]
}
# 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",
"src/jni/encodedimage.h",
"src/jni/h264utils.cc",
"src/jni/javai420buffer.cc",
"src/jni/jni_generator_helper.h",
"src/jni/nativecapturerobserver.cc",
"src/jni/nativecapturerobserver.h",
"src/jni/nv12buffer.cc",
"src/jni/nv21buffer.cc",
"src/jni/pc/video.cc",
"src/jni/timestampaligner.cc",
"src/jni/videocodecinfo.cc",
"src/jni/videocodecinfo.h",
"src/jni/videocodecstatus.cc",
"src/jni/videocodecstatus.h",
"src/jni/videodecoderfactorywrapper.cc",
"src/jni/videodecoderfactorywrapper.h",
"src/jni/videodecoderfallback.cc",
"src/jni/videodecoderwrapper.cc",
"src/jni/videodecoderwrapper.h",
"src/jni/videoencoderfactorywrapper.cc",
"src/jni/videoencoderfactorywrapper.h",
"src/jni/videoencoderfallback.cc",
"src/jni/videoencoderwrapper.cc",
"src/jni/videoencoderwrapper.h",
"src/jni/videosink.cc",
"src/jni/videosink.h",
"src/jni/videosource.cc",
"src/jni/videotrack.cc",
"src/jni/yuvhelper.cc",
]
deps = [
":base_jni",
":generated_video_jni",
":native_api_jni",
":videoframe_jni",
"../..:webrtc_common",
"../../api:libjingle_peerconnection_api",
"../../api/video:encoded_image",
"../../api/video:video_frame",
"../../api/video_codecs:rtc_software_fallback_wrappers",
"../../api/video_codecs:video_codecs_api",
"../../common_video:common_video",
"../../media:rtc_media_base",
"../../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_task_queue_api",
"//third_party/libyuv",
]
}
rtc_static_library("peerconnection_jni") {
# Do not depend on this target externally unless you absolute have to. It is
# made public because we don't have a proper NDK yet. Header APIs here are not
# considered public and are subject to change.
visibility = [ "*" ]
sources = [
"src/jni/androidnetworkmonitor_jni.h",
"src/jni/pc/androidnetworkmonitor.h",
"src/jni/pc/audiotrack.cc",
"src/jni/pc/callsessionfilerotatinglogsink.cc",
"src/jni/pc/cryptooptions.cc",
"src/jni/pc/cryptooptions.h",
"src/jni/pc/datachannel.cc",
"src/jni/pc/datachannel.h",
"src/jni/pc/dtmfsender.cc",
"src/jni/pc/icecandidate.cc",
"src/jni/pc/icecandidate.h",
"src/jni/pc/mediaconstraints.cc",
"src/jni/pc/mediaconstraints.h",
"src/jni/pc/mediasource.cc",
"src/jni/pc/mediastream.cc",
"src/jni/pc/mediastream.h",
"src/jni/pc/mediastreamtrack.cc",
"src/jni/pc/mediastreamtrack.h",
"src/jni/pc/ownedfactoryandthreads.cc",
"src/jni/pc/ownedfactoryandthreads.h",
"src/jni/pc/peerconnection.cc",
"src/jni/pc/peerconnection.h",
"src/jni/pc/peerconnectionfactory.cc",
"src/jni/pc/peerconnectionfactory.h",
"src/jni/pc/rtccertificate.cc",
"src/jni/pc/rtccertificate.h",
"src/jni/pc/rtcstatscollectorcallbackwrapper.cc",
"src/jni/pc/rtcstatscollectorcallbackwrapper.h",
"src/jni/pc/rtpparameters.cc",
"src/jni/pc/rtpparameters.h",
"src/jni/pc/rtpreceiver.cc",
"src/jni/pc/rtpreceiver.h",
"src/jni/pc/rtpsender.cc",
"src/jni/pc/rtpsender.h",
"src/jni/pc/rtptransceiver.cc",
"src/jni/pc/rtptransceiver.h",
"src/jni/pc/sdpobserver.cc",
"src/jni/pc/sdpobserver.h",
"src/jni/pc/sessiondescription.cc",
"src/jni/pc/sessiondescription.h",
"src/jni/pc/sslcertificateverifierwrapper.cc",
"src/jni/pc/sslcertificateverifierwrapper.h",
"src/jni/pc/statsobserver.cc",
"src/jni/pc/statsobserver.h",
"src/jni/pc/turncustomizer.cc",
"src/jni/pc/turncustomizer.h",
]
deps = [
":base_jni",
":generated_external_classes_jni",
":generated_peerconnection_jni",
":logging_jni",
":native_api_jni",
"../..:webrtc_common",
"../../api:libjingle_peerconnection_api",
"../../api/video_codecs:video_codecs_api",
"../../logging:rtc_event_log_api",
"../../logging:rtc_event_log_impl_base",
"../../media:rtc_data",
"../../media:rtc_media_base",
"../../modules/audio_device:audio_device",
"../../modules/utility:utility",
"../../pc:peerconnection",
"../../rtc_base:checks",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_task_queue",
"../../rtc_base:stringutils",
"../../system_wrappers:field_trial",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/types:optional",
]
}
Reland of Creating libwebrtc bundle jar (patchset #1 id:1 of https://codereview.webrtc.org/2640023010/ ) Reason for revert: It seems that we cannot skip the generation of "//webrtc/base/base_java" in chromium without some refactoring because it is included as a dependency in some places. Original issue's description: > Revert of Creating libwebrtc bundle jar (patchset #4 id:60001 of https://codereview.webrtc.org/2646443002/ ) > > Reason for revert: > This breaks some chromium.webrtc.fyi buildbots with the following error: > > ERROR Unresolved dependencies. > //third_party/webrtc/base:base(//build/toolchain/android:android_arm) > needs //third_party/webrtc/base:base_java(//build/toolchain/android:android_arm) > > > Original issue's description: > > Creating libwebrtc bundle jar > > > > Creates a JAR which includes: > > - //webrtc/base:base_java > > - //webrtc/modules/audio_device:audio_device_java > > - //webrtc/sdk/android:libjingle_peerconnection_java > > - //webrtc/sdk/android:libjingle_peerconnection_metrics_default_java > > > > The libwebrtc.jar file will be generated at '<output_dir>/lib.java/webrtc/sdk/android/libwebrtc.jar'. > > > > BUG=webrtc:6356 > > > > Review-Url: https://codereview.webrtc.org/2646443002 > > Cr-Commit-Position: refs/heads/master@{#16189} > > Committed: https://chromium.googlesource.com/external/webrtc/+/a62a82b7e7da5a1bbbf8b5614ef19334cc1603ce > > TBR=kjellander@webrtc.org,sakal@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:6356 > > Review-Url: https://codereview.webrtc.org/2640023010 > Cr-Commit-Position: refs/heads/master@{#16190} > Committed: https://chromium.googlesource.com/external/webrtc/+/3c9151b9532b372a35f0b81cc7c6b34d820506e1 TBR=kjellander@webrtc.org,sakal@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:6356 Review-Url: https://codereview.webrtc.org/2646093004 Cr-Commit-Position: refs/heads/master@{#16203}
2017-01-23 01:25:53 -08:00
# JNI target for java_audio_device_module_java
rtc_source_set("java_audio_device_module_jni") {
sources = [
"src/jni/audio_device/java_audio_device_module.cc",
]
deps = [
":base_jni",
":generated_java_audio_jni",
":java_audio_device_module",
]
}
rtc_static_library("default_video_codec_factory_jni") {
visibility = [ "*" ]
allow_poison = [ "software_video_codecs" ]
deps = [
":swcodecs_jni",
":video_jni",
]
}
rtc_static_library("libvpx_vp8_jni") {
visibility = [ "*" ]
allow_poison = [ "software_video_codecs" ]
sources = [
"src/jni/vp8codec.cc",
]
deps = [
":base_jni",
":generated_libvpx_vp8_jni",
":video_jni",
"../../modules/video_coding:webrtc_vp8",
]
}
rtc_static_library("libvpx_vp9_jni") {
visibility = [ "*" ]
allow_poison = [ "software_video_codecs" ]
sources = [
"src/jni/vp9codec.cc",
]
deps = [
":base_jni",
":generated_libvpx_vp9_jni",
":video_jni",
"../../modules/video_coding:webrtc_vp9",
]
}
rtc_static_library("swcodecs_jni") {
deps = [
":libvpx_vp8_jni",
":libvpx_vp9_jni",
]
}
######################
# Native API targets #
######################
# Core targets.
# JNI helpers that are also needed from internal JNI code. Cannot depend on any
# other JNI targets than internal_jni.
rtc_static_library("native_api_jni") {
visibility = [ "*" ]
sources = [
"native_api/jni/class_loader.cc",
"native_api/jni/java_types.cc",
"native_api/jni/jvm.cc",
"src/jni/jni_generator_helper.cc",
"src/jni/jni_generator_helper.h",
]
public = [
"native_api/jni/class_loader.h",
"native_api/jni/java_types.h",
"native_api/jni/jni_int_wrapper.h",
"native_api/jni/jvm.h",
"native_api/jni/scoped_java_ref.h",
]
deps = [
":generated_external_classes_jni",
":generated_native_api_jni",
":internal_jni",
"//rtc_base:checks",
"//rtc_base:rtc_base_approved",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_static_library("native_api_base") {
visibility = [ "*" ]
sources = [
"native_api/base/init.cc",
"native_api/base/init.h",
"native_api/base/networkmonitor.cc",
"native_api/base/networkmonitor.h",
]
deps = [
":base_jni",
":native_api_jni",
"//rtc_base:checks",
"//rtc_base:rtc_base",
"//third_party/abseil-cpp/absl/memory",
]
}
# Modules, in alphabetical order.
rtc_source_set("native_api_audio_device_module") {
visibility = [ "*" ]
sources = [
"native_api/audio_device_module/audio_device_android.cc",
"native_api/audio_device_module/audio_device_android.h",
]
deps = [
":base_jni",
":java_audio_device_module",
":opensles_audio_device_module",
"../../modules/audio_device:audio_device",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
"../../system_wrappers:metrics",
"//third_party/abseil-cpp/absl/memory",
]
if (rtc_enable_android_aaudio) {
deps += [ ":aaudio_audio_device_module" ]
}
}
# API for wrapping Java VideoDecoderFactory/VideoEncoderFactory classes to C++
# objects.
rtc_static_library("native_api_codecs") {
visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
sources = [
"native_api/codecs/wrapper.cc",
"native_api/codecs/wrapper.h",
]
deps = [
":base_jni",
":native_api_jni",
":video_jni",
"//api/video_codecs:video_codecs_api",
"//rtc_base:checks",
"//rtc_base:rtc_base_approved",
"//third_party/abseil-cpp/absl/memory",
]
}
# API for creating Java PeerConnectionFactory from C++ equivalents.
rtc_static_library("native_api_peerconnection") {
visibility = [ "*" ]
sources = [
"native_api/peerconnection/peerconnectionfactory.cc",
"native_api/peerconnection/peerconnectionfactory.h",
]
deps = [
":base_jni",
":peerconnection_jni",
"//api:libjingle_peerconnection_api",
"//api/video_codecs:video_codecs_api",
"//rtc_base:rtc_base",
]
}
# API for creating C++ wrapper implementations of api/mediastreaminterface.h
# video interfaces from their Java equivalents.
rtc_static_library("native_api_video") {
visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
sources = [
"native_api/video/videosource.cc",
"native_api/video/videosource.h",
"native_api/video/wrapper.cc",
"native_api/video/wrapper.h",
]
deps = [
":native_api_jni",
":video_jni",
":videoframe_jni",
"//api:libjingle_peerconnection_api",
"//api/video:video_frame",
"//rtc_base:rtc_base",
"//rtc_base:rtc_base_approved",
"//third_party/abseil-cpp/absl/memory",
]
}
####################
# Internal targets #
####################
rtc_android_library("logging_java") {
java_files = [ "src/java/org/webrtc/JNILogging.java" ]
deps = [
":base_java",
"//rtc_base:base_java",
]
}
rtc_static_library("null_audio_jni") {
sources = [
"src/jni/pc/null_audio.cc",
]
deps = [
":base_jni",
]
}
rtc_static_library("null_video_jni") {
sources = [
"src/jni/pc/null_video.cc",
]
deps = [
":base_jni",
"../../api/video_codecs:video_codecs_api",
]
}
rtc_static_library("null_media_jni") {
sources = [
"src/jni/pc/null_media.cc",
]
deps = [
":base_jni",
]
}
rtc_static_library("media_jni") {
sources = [
"src/jni/pc/media.cc",
]
deps = [
":base_jni",
"../../api:callfactory_api",
"../../api/video_codecs:video_codecs_api",
"../../call:call_interfaces",
"../../logging:rtc_event_log_api",
"../../media:rtc_audio_video",
"../../modules/audio_device:audio_device",
Reland "Isolating APM API build target: making :api an actual target." This reverts commit 61c6e5643e7ea058e653956980a90e033249c055. Reason for revert: downstream projects prepared for this change Original change's description: > Revert "Isolating APM API build target: making :api an actual target." > > This reverts commit a7f77a7c05b5d26520fd01a773ffb2c8b15b60ff. > > Reason for revert: breaking downstream > > Original change's description: > > Isolating APM API build target: making :api an actual target. > > > > This CL is part of a refactoring work to unblock other CLs > > that would generate a circular dependency when including > > modules/audio_processing. It will also allow to easily move > > the APM interface part under //api. > > > > More in detail, this change moves the APM interface files from > > the build target modules/audio_processing to > > modules/audio_processing:api. It also adds :api as dependency > > where needed. > > > > Bug: webrtc:9535 > > Change-Id: I72829e22d08ba4d75985f0421e6e8bf0216ebecd > > Reviewed-on: https://webrtc-review.googlesource.com/c/109501 > > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> > > Reviewed-by: Kári Helgason <kthelgason@webrtc.org> > > Reviewed-by: Niels Moller <nisse@webrtc.org> > > Reviewed-by: Sam Zackrisson <saza@webrtc.org> > > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#25539} > > TBR=saza@webrtc.org,alessiob@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org > > Change-Id: I974c6237311e7c06970aa62e5f6940f3aa80113d > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:9535 > Reviewed-on: https://webrtc-review.googlesource.com/c/109820 > Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#25540} TBR=saza@webrtc.org,alessiob@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org Change-Id: Ic8ed4cc3baf43d639ce13cae256c007728c3ad92 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:9535 Reviewed-on: https://webrtc-review.googlesource.com/c/109884 Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25547}
2018-11-07 14:29:54 +00:00
"../../modules/audio_processing:api",
"../../modules/audio_processing:audio_processing",
]
}
# Internal code that is needed by native_api_jni. The code cannot be placed in
# base_jni because native_api_jni depends on the code (and base_jni depends on
# native_api_jni).
rtc_source_set("internal_jni") {
sources = [
"src/jni/jvm.cc",
"src/jni/jvm.h",
]
deps = [
"../../rtc_base:checks",
]
}
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_static_library("logging_jni") {
visibility = [ "*" ]
sources = [
"src/jni/logging/logsink.cc",
"src/jni/logging/logsink.h",
]
deps = [
":base_jni",
":generated_logging_jni",
":native_api_jni",
"../../rtc_base:rtc_base",
]
}
rtc_source_set("audio_device_module_base") {
visibility = [ "*" ]
sources = [
"src/jni/audio_device/audio_common.h",
"src/jni/audio_device/audio_device_module.cc",
"src/jni/audio_device/audio_device_module.h",
]
deps = [
":base_jni",
":generated_audio_device_module_base_jni",
":native_api_jni",
"../../modules/audio_device:audio_device_api",
"../../modules/audio_device:audio_device_buffer",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers:metrics",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_source_set("java_audio_device_module") {
visibility = [ "*" ]
sources = [
"src/jni/audio_device/audio_record_jni.cc",
"src/jni/audio_device/audio_record_jni.h",
"src/jni/audio_device/audio_track_jni.cc",
"src/jni/audio_device/audio_track_jni.h",
]
deps = [
":audio_device_module_base",
":base_jni",
":generated_java_audio_device_module_native_jni",
"../../modules/audio_device:audio_device",
"../../modules/audio_device:audio_device_buffer",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers:metrics",
"//third_party/abseil-cpp/absl/types:optional",
]
}
if (rtc_enable_android_aaudio) {
rtc_source_set("aaudio_audio_device_module") {
visibility = [ "*" ]
defines = [ "AUDIO_DEVICE_INCLUDE_ANDROID_AAUDIO" ]
sources = [
"src/jni/audio_device/aaudio_player.cc",
"src/jni/audio_device/aaudio_player.h",
"src/jni/audio_device/aaudio_recorder.cc",
"src/jni/audio_device/aaudio_recorder.h",
"src/jni/audio_device/aaudio_wrapper.cc",
"src/jni/audio_device/aaudio_wrapper.h",
]
libs = [ "aaudio" ]
deps = [
":audio_device_module_base",
":base_jni",
"../../api:array_view",
"../../modules/audio_device:audio_device",
"../../modules/audio_device:audio_device_buffer",
"../../rtc_base:checks",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
"//third_party/abseil-cpp/absl/types:optional",
]
}
}
rtc_source_set("opensles_audio_device_module") {
visibility = [ "*" ]
sources = [
"src/jni/audio_device/opensles_common.cc",
"src/jni/audio_device/opensles_common.h",
"src/jni/audio_device/opensles_player.cc",
"src/jni/audio_device/opensles_player.h",
"src/jni/audio_device/opensles_recorder.cc",
"src/jni/audio_device/opensles_recorder.h",
]
libs = [ "OpenSLES" ]
deps = [
":audio_device_module_base",
":base_jni",
"../../api:array_view",
"../../modules/audio_device:audio_device",
"../../modules/audio_device:audio_device_buffer",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/types:optional",
]
}
#########################
# Generated JNI targets #
#########################
generate_jar_jni("generated_external_classes_jni") {
classes = [
"java/lang/Integer.class",
"java/lang/Double.class",
"java/lang/Long.class",
"java/lang/Iterable.class",
"java/util/Iterator.class",
"java/lang/Boolean.class",
"java/math/BigInteger.class",
"java/util/Map.class",
"java/util/LinkedHashMap.class",
"java/util/ArrayList.class",
"java/lang/Enum.class",
]
jni_package = ""
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
generate_jni("generated_metrics_jni") {
sources = [
"api/org/webrtc/Metrics.java",
]
jni_package = ""
namespace = "webrtc::jni"
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
# Generated JNI for public JNI targets, matching order of targets
generate_jni("generated_base_jni") {
sources = [
"api/org/webrtc/NetworkMonitor.java",
"api/org/webrtc/NetworkMonitorAutoDetect.java",
"src/java/org/webrtc/Histogram.java",
"src/java/org/webrtc/JniCommon.java",
]
jni_package = ""
namespace = "webrtc::jni"
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
generate_jni("generated_video_jni") {
sources = [
"api/org/webrtc/EncodedImage.java",
"api/org/webrtc/JavaI420Buffer.java",
"api/org/webrtc/MediaCodecVideoDecoder.java",
"api/org/webrtc/MediaCodecVideoEncoder.java",
"api/org/webrtc/TimestampAligner.java",
"api/org/webrtc/VideoCodecInfo.java",
"api/org/webrtc/VideoCodecStatus.java",
"api/org/webrtc/VideoDecoder.java",
"api/org/webrtc/VideoDecoderFactory.java",
"api/org/webrtc/VideoDecoderFallback.java",
"api/org/webrtc/VideoEncoder.java",
"api/org/webrtc/VideoEncoderFactory.java",
"api/org/webrtc/VideoEncoderFallback.java",
"api/org/webrtc/VideoFrame.java",
"api/org/webrtc/VideoSink.java",
"api/org/webrtc/VideoSource.java",
"api/org/webrtc/VideoTrack.java",
"api/org/webrtc/YuvHelper.java",
"src/java/org/webrtc/H264Utils.java",
"src/java/org/webrtc/NV12Buffer.java",
"src/java/org/webrtc/NV21Buffer.java",
"src/java/org/webrtc/NativeCapturerObserver.java",
"src/java/org/webrtc/VideoDecoderWrapper.java",
"src/java/org/webrtc/VideoEncoderWrapper.java",
"src/java/org/webrtc/WrappedNativeI420Buffer.java",
]
jni_package = ""
namespace = "webrtc::jni"
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
generate_jni("generated_libvpx_vp8_jni") {
sources = [
"api/org/webrtc/LibvpxVp8Decoder.java",
"api/org/webrtc/LibvpxVp8Encoder.java",
]
jni_package = ""
namespace = "webrtc::jni"
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
generate_jni("generated_libvpx_vp9_jni") {
sources = [
"api/org/webrtc/LibvpxVp9Decoder.java",
"api/org/webrtc/LibvpxVp9Encoder.java",
]
jni_package = ""
namespace = "webrtc::jni"
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
generate_jni("generated_peerconnection_jni") {
sources = [
"api/org/webrtc/AudioTrack.java",
"api/org/webrtc/CallSessionFileRotatingLogSink.java",
"api/org/webrtc/CryptoOptions.java",
"api/org/webrtc/DataChannel.java",
"api/org/webrtc/DtmfSender.java",
"api/org/webrtc/IceCandidate.java",
"api/org/webrtc/MediaConstraints.java",
"api/org/webrtc/MediaSource.java",
"api/org/webrtc/MediaStream.java",
"api/org/webrtc/MediaStreamTrack.java",
"api/org/webrtc/PeerConnection.java",
"api/org/webrtc/PeerConnectionFactory.java",
"api/org/webrtc/RTCStats.java",
"api/org/webrtc/RTCStatsCollectorCallback.java",
"api/org/webrtc/RTCStatsReport.java",
"api/org/webrtc/RtcCertificatePem.java",
"api/org/webrtc/RtpParameters.java",
"api/org/webrtc/RtpReceiver.java",
"api/org/webrtc/RtpSender.java",
"api/org/webrtc/RtpTransceiver.java",
"api/org/webrtc/SSLCertificateVerifier.java",
"api/org/webrtc/SdpObserver.java",
"api/org/webrtc/SessionDescription.java",
"api/org/webrtc/StatsObserver.java",
"api/org/webrtc/StatsReport.java",
"api/org/webrtc/TurnCustomizer.java",
]
jni_package = ""
namespace = "webrtc::jni"
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
generate_jni("generated_java_audio_jni") {
sources = [
"api/org/webrtc/audio/JavaAudioDeviceModule.java",
]
jni_package = ""
namespace = "webrtc::jni"
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
generate_jni("generated_builtin_audio_codecs_jni") {
sources = [
"api/org/webrtc/BuiltinAudioDecoderFactoryFactory.java",
"api/org/webrtc/BuiltinAudioEncoderFactoryFactory.java",
]
jni_package = ""
namespace = "webrtc::jni"
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
# Generated JNI for native API targets
generate_jni("generated_native_api_jni") {
sources = [
"src/java/org/webrtc/JniHelper.java",
"src/java/org/webrtc/WebRtcClassLoader.java",
]
jni_package = ""
namespace = "webrtc::jni"
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
Reland "Reland "Injectable logging"" This is a reland of 21219a0e43446701810236fb9fdd59be072c12df The default implementation of OnLogMessage(msg, sev, tag) discarded the tag, resulting in FileRotatingLogSink not receiving tags. Since the revert the default implementation of OnLogMessage(msg, sev, tag) has been updated to add the tag to the log message. A more efficient implementation of it has also been added for FileRotatingLogSink. Unit tests are added for the default implementation and for Loggable injection. Original change's description: > Reland "Injectable logging" > > Any injected loggable or NativeLogger would be deleted if PCFactory > was reinitialized without calling setInjectableLogger. Now native > logging is not implemented as a Loggable, so it will remain active > unless a Loggable is injected. > > This is a reland of 59216ec4a4151b1ba5478c8f2b5c9f01f4683d7f > > Original change's description: > > Injectable logging > > > > Allows passing a Loggable to PCFactory.initializationOptions, which > > is then injected to Logging.java and logging.h. Future log messages > > in both Java and native will then be passed to this Loggable. > > > > Bug: webrtc:9225 > > Change-Id: I2ff693380639448301a78a93dc11d3a0106f0967 > > Reviewed-on: https://webrtc-review.googlesource.com/73243 > > Commit-Queue: Paulina Hensman <phensman@webrtc.org> > > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> > > Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#23241} > > Bug: webrtc:9225 > Change-Id: I2fe3fbc8c323814284bb62e43fe1870bdab581ee > TBR: kwiberg > Reviewed-on: https://webrtc-review.googlesource.com/77140 > Commit-Queue: Paulina Hensman <phensman@webrtc.org> > Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#23310} Bug: webrtc:9225 Change-Id: I67a5728fe772f0bedc9509713ed8b8ffdc31af81 TBR: kwiberg Reviewed-on: https://webrtc-review.googlesource.com/80860 Commit-Queue: Paulina Hensman <phensman@webrtc.org> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23711}
2018-06-21 14:31:38 +02:00
# Generated JNI for internal targets.
generate_jni("generated_logging_jni") {
sources = [
"src/java/org/webrtc/JNILogging.java",
]
jni_package = ""
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
generate_jni("generated_audio_device_module_base_jni") {
sources = [
"src/java/org/webrtc/audio/WebRtcAudioManager.java",
]
jni_package = ""
namespace = "webrtc::jni"
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
generate_jni("generated_java_audio_device_module_native_jni") {
sources = [
"src/java/org/webrtc/audio/WebRtcAudioRecord.java",
"src/java/org/webrtc/audio/WebRtcAudioTrack.java",
]
jni_package = ""
namespace = "webrtc::jni"
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
################
# Test targets #
################
if (rtc_include_tests) {
rtc_instrumentation_test_apk("android_instrumentation_test_apk") {
apk_name = "android_instrumentation_test_apk"
android_manifest = "instrumentationtests/AndroidManifest.xml"
java_files = [
"instrumentationtests/src/org/webrtc/AndroidVideoDecoderInstrumentationTest.java",
"instrumentationtests/src/org/webrtc/BuiltinAudioCodecsFactoryFactoryTest.java",
"instrumentationtests/src/org/webrtc/Camera1CapturerUsingByteBufferTest.java",
"instrumentationtests/src/org/webrtc/Camera1CapturerUsingTextureTest.java",
"instrumentationtests/src/org/webrtc/Camera2CapturerTest.java",
"instrumentationtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java",
"instrumentationtests/src/org/webrtc/DefaultVideoEncoderFactoryTest.java",
"instrumentationtests/src/org/webrtc/EglRendererTest.java",
"instrumentationtests/src/org/webrtc/FileVideoCapturerTest.java",
"instrumentationtests/src/org/webrtc/GlRectDrawerTest.java",
"instrumentationtests/src/org/webrtc/HardwareVideoEncoderTest.java",
"instrumentationtests/src/org/webrtc/LoggableTest.java",
"instrumentationtests/src/org/webrtc/MediaCodecVideoEncoderTest.java",
"instrumentationtests/src/org/webrtc/NetworkMonitorTest.java",
"instrumentationtests/src/org/webrtc/PeerConnectionFactoryTest.java",
"instrumentationtests/src/org/webrtc/PeerConnectionTest.java",
"instrumentationtests/src/org/webrtc/RendererCommonTest.java",
"instrumentationtests/src/org/webrtc/RtcCertificatePemTest.java",
"instrumentationtests/src/org/webrtc/SurfaceTextureHelperTest.java",
"instrumentationtests/src/org/webrtc/SurfaceViewRendererOnMeasureTest.java",
"instrumentationtests/src/org/webrtc/TestConstants.java",
"instrumentationtests/src/org/webrtc/VideoFileRendererTest.java",
"instrumentationtests/src/org/webrtc/VideoFrameBufferTest.java",
"instrumentationtests/src/org/webrtc/TimestampAlignerTest.java",
"instrumentationtests/src/org/webrtc/WebRtcJniBootTest.java",
"instrumentationtests/src/org/webrtc/YuvHelperTest.java",
]
data = [
"../../sdk/android/instrumentationtests/src/org/webrtc/capturetestvideo.y4m",
]
deps = [
":base_java",
":default_video_codec_factory_java",
":libjingle_peerconnection_java",
":libjingle_peerconnection_metrics_default_java",
":video_api_java",
":video_java",
"//base:base_java_test_support",
"//rtc_base:base_java",
"//third_party/android_support_test_runner:rules_java",
"//third_party/android_support_test_runner:runner_java",
"//third_party/google-truth:google_truth_java",
"//third_party/junit",
]
shared_libraries = [
"../../sdk/android:libjingle_peerconnection_instrumentationtests_so",
]
}
}
rtc_shared_library("libjingle_peerconnection_instrumentationtests_so") {
testonly = true
sources = [
"src/jni/jni_onload.cc",
]
suppressed_configs += [ "//build/config/android:hide_all_but_jni_onload" ]
configs += [ "//build/config/android:hide_all_but_jni" ]
deps = [
":instrumentationtests_jni",
":libjingle_peerconnection_jni",
":libjingle_peerconnection_metrics_default_jni",
"../../pc:libjingle_peerconnection",
"../../rtc_base:rtc_base",
]
output_extension = "so"
}
rtc_static_library("instrumentationtests_jni") {
testonly = true
sources = [
"instrumentationtests/loggable_test.cc",
]
deps = [
":base_jni",
":native_api_jni",
"../../rtc_base:rtc_base_approved",
]
}
rtc_source_set("native_unittests") {
testonly = true
sources = [
"native_unittests/audio_device/audio_device_unittest.cc",
"native_unittests/codecs/wrapper_unittest.cc",
"native_unittests/java_types_unittest.cc",
"native_unittests/peerconnection/peerconnectionfactory_unittest.cc",
"native_unittests/test_jni_onload.cc",
"native_unittests/video/videosource_unittest.cc",
]
data = [
"../../resources/audio_device/audio_short44.pcm",
"../../resources/audio_device/audio_short48.pcm",
]
if (is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
deps = [
":audio_device_module_base",
":audio_jni",
":base_jni",
":generated_native_unittests_jni",
":media_jni",
":native_api_audio_device_module",
":native_api_base",
":native_api_codecs",
":native_api_jni",
":native_api_peerconnection",
":native_api_video",
":opensles_audio_device_module",
":video_jni",
"../../api/audio_codecs:builtin_audio_decoder_factory",
"../../api/audio_codecs:builtin_audio_encoder_factory",
"../../api/video:video_frame",
"../../media:rtc_audio_video",
"../../media:rtc_internal_video_codecs",
"../../media:rtc_media_base",
"../../modules/audio_device:audio_device",
"../../modules/audio_device:mock_audio_device",
Reland "Isolating APM API build target: making :api an actual target." This reverts commit 61c6e5643e7ea058e653956980a90e033249c055. Reason for revert: downstream projects prepared for this change Original change's description: > Revert "Isolating APM API build target: making :api an actual target." > > This reverts commit a7f77a7c05b5d26520fd01a773ffb2c8b15b60ff. > > Reason for revert: breaking downstream > > Original change's description: > > Isolating APM API build target: making :api an actual target. > > > > This CL is part of a refactoring work to unblock other CLs > > that would generate a circular dependency when including > > modules/audio_processing. It will also allow to easily move > > the APM interface part under //api. > > > > More in detail, this change moves the APM interface files from > > the build target modules/audio_processing to > > modules/audio_processing:api. It also adds :api as dependency > > where needed. > > > > Bug: webrtc:9535 > > Change-Id: I72829e22d08ba4d75985f0421e6e8bf0216ebecd > > Reviewed-on: https://webrtc-review.googlesource.com/c/109501 > > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> > > Reviewed-by: Kári Helgason <kthelgason@webrtc.org> > > Reviewed-by: Niels Moller <nisse@webrtc.org> > > Reviewed-by: Sam Zackrisson <saza@webrtc.org> > > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#25539} > > TBR=saza@webrtc.org,alessiob@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org > > Change-Id: I974c6237311e7c06970aa62e5f6940f3aa80113d > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:9535 > Reviewed-on: https://webrtc-review.googlesource.com/c/109820 > Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#25540} TBR=saza@webrtc.org,alessiob@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org Change-Id: Ic8ed4cc3baf43d639ce13cae256c007728c3ad92 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:9535 Reviewed-on: https://webrtc-review.googlesource.com/c/109884 Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25547}
2018-11-07 14:29:54 +00:00
"../../modules/audio_processing:api",
"../../modules/audio_processing:audio_processing",
"../../modules/utility:utility",
"../../pc:libjingle_peerconnection",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../test:fileutils",
"../../test:test_support",
"../../testing/gtest",
"//third_party/abseil-cpp/absl/memory",
]
}
rtc_android_library("native_unittests_java") {
testonly = true
java_files = [
"native_unittests/org/webrtc/ApplicationContextProvider.java",
"native_unittests/org/webrtc/BuildInfo.java",
"native_unittests/org/webrtc/CodecsWrapperTestHelper.java",
"native_unittests/org/webrtc/JavaTypesTestHelper.java",
"native_unittests/org/webrtc/JavaVideoSourceTestHelper.java",
"native_unittests/org/webrtc/PeerConnectionFactoryInitializationHelper.java",
]
deps = [
":base_java",
":java_audio_device_module_java",
":peerconnection_java",
":video_api_java",
":video_java",
"../../rtc_base:base_java",
"//third_party/android_support_test_runner:runner_java",
]
}
generate_jni("generated_native_unittests_jni") {
testonly = true
sources = [
"native_unittests/org/webrtc/ApplicationContextProvider.java",
"native_unittests/org/webrtc/BuildInfo.java",
"native_unittests/org/webrtc/CodecsWrapperTestHelper.java",
"native_unittests/org/webrtc/JavaTypesTestHelper.java",
"native_unittests/org/webrtc/JavaVideoSourceTestHelper.java",
"native_unittests/org/webrtc/PeerConnectionFactoryInitializationHelper.java",
]
jni_package = ""
namespace = "webrtc::jni"
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
}