Make depending on a specific audio implementation optional.

Splits out audio_java into audio_api_java and
java_audio_device_module_java.

Makes depending on java_audio_device_module_jni optional for clients
that do not use it. It is only necessary to depend on this target if
depending on java_audio_device_module_java.

Also some cleanup.

Bug: webrtc:7452
Change-Id: Ic6c4dbe11db3ed8330802a8e90203acb8ef18e72
Reviewed-on: https://webrtc-review.googlesource.com/70220
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22981}
This commit is contained in:
Sami Kalliomäki 2018-04-23 15:07:34 +02:00 committed by Commit Bot
parent acdaaaf29a
commit 7d8f5949b2
7 changed files with 62 additions and 41 deletions

View File

@ -106,21 +106,16 @@ if (is_android) {
"androidapp/src/org/appspot/apprtc/util/AsyncHttpURLConnection.java",
]
javac_args = [
"-Xep:ParameterNotNullable:ERROR",
"-Xep:FieldMissingNullable:ERROR",
"-Xep:ReturnMissingNullable:ERROR",
]
deps = [
":AppRTCMobile_resources",
"../modules/audio_device:audio_device_java",
"../rtc_base:base_java",
"../sdk/android:audio_java",
"../sdk/android:audio_api_java",
"../sdk/android:base_java",
"../sdk/android:camera_java",
"../sdk/android:filevideo_java",
"../sdk/android:hwcodecs_java",
"../sdk/android:java_audio_device_module_java",
"../sdk/android:libjingle_peerconnection_java",
"../sdk/android:libjingle_peerconnection_metrics_default_java",
"../sdk/android:peerconnection_java",

View File

@ -130,8 +130,8 @@ rtc_source_set("native_api_audio_device_module") {
deps = [
":base_jni",
":java_audio_device_jni",
":opensles_audio_device_jni",
":java_audio_device_module",
":opensles_audio_device_module",
"../../modules/audio_device:audio_device",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
@ -139,11 +139,11 @@ rtc_source_set("native_api_audio_device_module") {
"../../system_wrappers:metrics_api",
]
if (rtc_enable_android_aaudio) {
deps += [ ":aaudio_audio_device_jni" ]
deps += [ ":aaudio_audio_device_module" ]
}
}
rtc_source_set("audio_device_base_jni") {
rtc_source_set("audio_device_module_base") {
visibility = [ "*" ]
sources = [
@ -154,7 +154,7 @@ rtc_source_set("audio_device_base_jni") {
deps = [
":base_jni",
":generated_audio_device_base_jni",
":generated_audio_device_module_base_jni",
":native_api_jni",
"../../api:optional",
"../../modules/audio_device:audio_device_buffer",
@ -165,7 +165,7 @@ rtc_source_set("audio_device_base_jni") {
}
if (rtc_enable_android_aaudio) {
rtc_source_set("aaudio_audio_device_jni") {
rtc_source_set("aaudio_audio_device_module") {
visibility = [ "*" ]
defines = [ "AUDIO_DEVICE_INCLUDE_ANDROID_AAUDIO" ]
sources = [
@ -178,7 +178,7 @@ if (rtc_enable_android_aaudio) {
]
libs = [ "aaudio" ]
deps = [
":audio_device_base_jni",
":audio_device_module_base",
":base_jni",
"../../api:array_view",
"../../api:optional",
@ -192,7 +192,7 @@ if (rtc_enable_android_aaudio) {
}
}
rtc_source_set("opensles_audio_device_jni") {
rtc_source_set("opensles_audio_device_module") {
visibility = [ "*" ]
sources = [
"src/jni/audio_device/opensles_common.cc",
@ -204,7 +204,7 @@ rtc_source_set("opensles_audio_device_jni") {
]
libs = [ "OpenSLES" ]
deps = [
":audio_device_base_jni",
":audio_device_module_base",
":base_jni",
"../../api:array_view",
"../../api:optional",
@ -215,7 +215,7 @@ rtc_source_set("opensles_audio_device_jni") {
]
}
rtc_source_set("java_audio_device_jni") {
rtc_source_set("java_audio_device_module") {
visibility = [ "*" ]
sources = [
@ -223,12 +223,11 @@ rtc_source_set("java_audio_device_jni") {
"src/jni/audio_device/audio_record_jni.h",
"src/jni/audio_device/audio_track_jni.cc",
"src/jni/audio_device/audio_track_jni.h",
"src/jni/audio_device/java_audio_device_module.cc",
]
deps = [
":audio_device_base_jni",
":audio_device_module_base",
":base_jni",
":generated_java_audio_device_jni",
":generated_java_audio_device_module_native_jni",
"../../api:optional",
"../../modules/audio_device:audio_device",
"../../modules/audio_device:audio_device_buffer",
@ -248,7 +247,7 @@ rtc_static_library("null_audio_jni") {
]
}
generate_jni("generated_audio_device_base_jni") {
generate_jni("generated_audio_device_module_base_jni") {
sources = [
"src/java/org/webrtc/audio/WebRtcAudioManager.java",
]
@ -256,9 +255,8 @@ generate_jni("generated_audio_device_base_jni") {
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
generate_jni("generated_java_audio_device_jni") {
generate_jni("generated_java_audio_device_module_native_jni") {
sources = [
"api/org/webrtc/audio/JavaAudioDeviceModule.java",
"src/java/org/webrtc/audio/WebRtcAudioRecord.java",
"src/java/org/webrtc/audio/WebRtcAudioTrack.java",
]
@ -589,7 +587,6 @@ rtc_static_library("peerconnection_jni") {
":base_jni",
":generated_external_classes_jni",
":generated_peerconnection_jni",
":java_audio_device_jni",
":native_api_jni",
"../..:webrtc_common",
"../../api:libjingle_peerconnection_api",
@ -616,6 +613,7 @@ rtc_static_library("libjingle_peerconnection_jni") {
public_deps = [
":audio_jni",
":base_jni",
":java_audio_device_module_jni",
":media_jni",
":peerconnection_jni",
":video_jni",
@ -704,11 +702,12 @@ dist_jar("libwebrtc") {
no_build_hooks = true
deps = [
":audio_java",
":audio_api_java",
":base_java",
":camera_java",
":filevideo_java",
":hwcodecs_java",
":java_audio_device_module_java",
":libjingle_peerconnection_java",
":libjingle_peerconnection_metrics_default_java",
":peerconnection_java",
@ -782,11 +781,18 @@ rtc_android_library("video_api_java") {
]
}
rtc_android_library("audio_java") {
rtc_android_library("audio_api_java") {
java_files = [ "api/org/webrtc/audio/AudioDeviceModule.java" ]
deps = [
":base_java",
"//rtc_base:base_java",
]
}
rtc_android_library("java_audio_device_module_java") {
java_files = [
"api/org/webrtc/audio/AudioDeviceModule.java",
"api/org/webrtc/audio/JavaAudioDeviceModule.java",
"api/org/webrtc/audio/LegacyAudioDeviceModule.java",
"src/java/org/webrtc/audio/VolumeLogger.java",
"src/java/org/webrtc/audio/WebRtcAudioEffects.java",
"src/java/org/webrtc/audio/WebRtcAudioManager.java",
@ -796,12 +802,33 @@ rtc_android_library("audio_java") {
]
deps = [
":audio_api_java",
":base_java",
"//modules/audio_device:audio_device_java",
"//rtc_base:base_java",
]
}
# 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",
]
}
generate_jni("generated_java_audio_jni") {
sources = [
"api/org/webrtc/audio/JavaAudioDeviceModule.java",
]
jni_package = ""
jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
}
rtc_android_library("video_java") {
java_files = [
"api/org/webrtc/EglRenderer.java",
@ -937,6 +964,7 @@ rtc_android_library("hwcodecs_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",
@ -975,10 +1003,11 @@ rtc_android_library("peerconnection_java") {
]
deps = [
":audio_java",
":audio_api_java",
":base_java",
":video_api_java",
":video_java", # TODO(sakal): Remove dependency.
"//modules/audio_device:audio_device_java",
"//rtc_base:base_java",
]
}
@ -989,10 +1018,12 @@ 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",
@ -1258,18 +1289,17 @@ rtc_source_set("native_unittests") {
}
deps = [
":audio_device_base_jni",
":audio_device_module_base",
":audio_jni",
":base_jni",
":generated_native_unittests_jni",
":java_audio_device_jni",
":media_jni",
":native_api_audio_device_module",
":native_api_base",
":native_api_jni",
":native_api_peerconnection",
":native_unittests_java",
":opensles_audio_device_jni",
":opensles_audio_device_module",
":video_jni",
"../../system_wrappers:system_wrappers",
"//api/audio_codecs:builtin_audio_decoder_factory",

View File

@ -21,10 +21,6 @@ import org.webrtc.voiceengine.WebRtcAudioTrack;
*/
@Deprecated
public class LegacyAudioDeviceModule implements AudioDeviceModule {
public static AudioDeviceModule Create() {
return new LegacyAudioDeviceModule();
}
@Override
public long getNativeAudioDeviceModulePointer() {
// Returning a null pointer will make WebRTC construct the built-in legacy AudioDeviceModule for

View File

@ -16,7 +16,7 @@
#include "rtc_base/logging.h"
#include "rtc_base/refcountedobject.h"
#include "rtc_base/thread_checker.h"
#include "sdk/android/generated_audio_device_base_jni/jni/WebRtcAudioManager_jni.h"
#include "sdk/android/generated_audio_device_module_base_jni/jni/WebRtcAudioManager_jni.h"
#include "system_wrappers/include/metrics.h"
namespace webrtc {

View File

@ -19,7 +19,7 @@
#include "rtc_base/logging.h"
#include "rtc_base/platform_thread.h"
#include "rtc_base/timeutils.h"
#include "sdk/android/generated_java_audio_device_jni/jni/WebRtcAudioRecord_jni.h"
#include "sdk/android/generated_java_audio_device_module_native_jni/jni/WebRtcAudioRecord_jni.h"
#include "sdk/android/src/jni/audio_device/audio_common.h"
#include "sdk/android/src/jni/jni_helpers.h"
#include "system_wrappers/include/metrics.h"

View File

@ -17,7 +17,7 @@
#include "rtc_base/format_macros.h"
#include "rtc_base/logging.h"
#include "rtc_base/platform_thread.h"
#include "sdk/android/generated_java_audio_device_jni/jni/WebRtcAudioTrack_jni.h"
#include "sdk/android/generated_java_audio_device_module_native_jni/jni/WebRtcAudioTrack_jni.h"
#include "sdk/android/src/jni/jni_helpers.h"
namespace webrtc {

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include "sdk/android/generated_java_audio_device_jni/jni/JavaAudioDeviceModule_jni.h"
#include "sdk/android/generated_java_audio_jni/jni/JavaAudioDeviceModule_jni.h"
#include "sdk/android/src/jni/audio_device/audio_record_jni.h"
#include "sdk/android/src/jni/audio_device/audio_track_jni.h"
#include "sdk/android/src/jni/jni_helpers.h"