Android: Rename AudioDeviceModule to JavaAudioDeviceModule
The class called AudioDeviceModule today is an implementation of a
future interface. We want to reserve the name AudioDeviceModule for
the actual interface. The implementation class has been renamed to
JavaAudioDeviceModule. 'Java' here refers to the fact that the
implementation is using android.media.AudioRecord as input and
android.media.AudioTrack as output, and this is opposed to native
AudioDeviceModule implementations such as OpenSLES and AAudio.
Bug: webrtc:7452
Change-Id: Ifc243c2e169b12a50128ee3252f06d574aa7b358
Reviewed-on: https://webrtc-review.googlesource.com/65400
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22673}
diff --git a/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java b/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
index fab9201..a75a247 100644
--- a/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
+++ b/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
@@ -70,7 +70,7 @@
import org.webrtc.VideoSink;
import org.webrtc.VideoSource;
import org.webrtc.VideoTrack;
-import org.webrtc.audio.AudioDeviceModule;
+import org.webrtc.audio.JavaAudioDeviceModule;
import org.webrtc.voiceengine.WebRtcAudioManager;
import org.webrtc.voiceengine.WebRtcAudioRecord;
import org.webrtc.voiceengine.WebRtcAudioRecord.AudioRecordStartErrorCode;
@@ -602,24 +602,24 @@
if (peerConnectionParameters.disableBuiltInAEC) {
Log.d(TAG, "Disable built-in AEC even if device supports it");
- AudioDeviceModule.setWebRtcBasedAcousticEchoCanceler(true);
+ JavaAudioDeviceModule.setWebRtcBasedAcousticEchoCanceler(true);
} else {
Log.d(TAG, "Enable built-in AEC if device supports it");
- AudioDeviceModule.setWebRtcBasedAcousticEchoCanceler(false);
+ JavaAudioDeviceModule.setWebRtcBasedAcousticEchoCanceler(false);
}
if (peerConnectionParameters.disableBuiltInNS) {
Log.d(TAG, "Disable built-in NS even if device supports it");
- AudioDeviceModule.setWebRtcBasedNoiseSuppressor(true);
+ JavaAudioDeviceModule.setWebRtcBasedNoiseSuppressor(true);
} else {
Log.d(TAG, "Enable built-in NS if device supports it");
- AudioDeviceModule.setWebRtcBasedNoiseSuppressor(false);
+ JavaAudioDeviceModule.setWebRtcBasedNoiseSuppressor(false);
}
- AudioDeviceModule.setOnAudioSamplesReady(saveRecordedAudioToFile);
+ JavaAudioDeviceModule.setOnAudioSamplesReady(saveRecordedAudioToFile);
// Set audio record error callbacks.
- AudioDeviceModule.setErrorCallback(new AudioDeviceModule.AudioRecordErrorCallback() {
+ JavaAudioDeviceModule.setErrorCallback(new JavaAudioDeviceModule.AudioRecordErrorCallback() {
@Override
public void onWebRtcAudioRecordInitError(String errorMessage) {
Log.e(TAG, "onWebRtcAudioRecordInitError: " + errorMessage);
@@ -628,7 +628,7 @@
@Override
public void onWebRtcAudioRecordStartError(
- AudioDeviceModule.AudioRecordStartErrorCode errorCode, String errorMessage) {
+ JavaAudioDeviceModule.AudioRecordStartErrorCode errorCode, String errorMessage) {
Log.e(TAG, "onWebRtcAudioRecordStartError: " + errorCode + ". " + errorMessage);
reportError(errorMessage);
}
@@ -640,7 +640,7 @@
}
});
- AudioDeviceModule.setErrorCallback(new AudioDeviceModule.AudioTrackErrorCallback() {
+ JavaAudioDeviceModule.setErrorCallback(new JavaAudioDeviceModule.AudioTrackErrorCallback() {
@Override
public void onWebRtcAudioTrackInitError(String errorMessage) {
Log.e(TAG, "onWebRtcAudioTrackInitError: " + errorMessage);
@@ -649,7 +649,7 @@
@Override
public void onWebRtcAudioTrackStartError(
- AudioDeviceModule.AudioTrackStartErrorCode errorCode, String errorMessage) {
+ JavaAudioDeviceModule.AudioTrackStartErrorCode errorCode, String errorMessage) {
Log.e(TAG, "onWebRtcAudioTrackStartError: " + errorCode + ". " + errorMessage);
reportError(errorMessage);
}
diff --git a/examples/androidapp/src/org/appspot/apprtc/RecordedAudioToFileController.java b/examples/androidapp/src/org/appspot/apprtc/RecordedAudioToFileController.java
index d9ddce4..ede9819 100644
--- a/examples/androidapp/src/org/appspot/apprtc/RecordedAudioToFileController.java
+++ b/examples/androidapp/src/org/appspot/apprtc/RecordedAudioToFileController.java
@@ -20,8 +20,8 @@
import java.io.IOException;
import java.io.OutputStream;
import java.util.concurrent.ExecutorService;
-import org.webrtc.audio.AudioDeviceModule;
-import org.webrtc.audio.AudioDeviceModule.SamplesReadyCallback;
+import org.webrtc.audio.JavaAudioDeviceModule;
+import org.webrtc.audio.JavaAudioDeviceModule.SamplesReadyCallback;
import org.webrtc.voiceengine.WebRtcAudioRecord;
import org.webrtc.voiceengine.WebRtcAudioRecord.WebRtcAudioRecordSamplesReadyCallback;
@@ -110,13 +110,13 @@
// Called when new audio samples are ready.
@Override
public void onWebRtcAudioRecordSamplesReady(WebRtcAudioRecord.AudioSamples samples) {
- onWebRtcAudioRecordSamplesReady(new AudioDeviceModule.AudioSamples(samples.getAudioFormat(),
+ onWebRtcAudioRecordSamplesReady(new JavaAudioDeviceModule.AudioSamples(samples.getAudioFormat(),
samples.getChannelCount(), samples.getSampleRate(), samples.getData()));
}
// Called when new audio samples are ready.
@Override
- public void onWebRtcAudioRecordSamplesReady(AudioDeviceModule.AudioSamples samples) {
+ public void onWebRtcAudioRecordSamplesReady(JavaAudioDeviceModule.AudioSamples samples) {
// The native audio layer on Android should use 16-bit PCM format.
if (samples.getAudioFormat() != AudioFormat.ENCODING_PCM_16BIT) {
Log.e(TAG, "Invalid audio format");
diff --git a/examples/androidapp/src/org/appspot/apprtc/SettingsActivity.java b/examples/androidapp/src/org/appspot/apprtc/SettingsActivity.java
index c5871f5..04e9690 100644
--- a/examples/androidapp/src/org/appspot/apprtc/SettingsActivity.java
+++ b/examples/androidapp/src/org/appspot/apprtc/SettingsActivity.java
@@ -17,7 +17,7 @@
import android.preference.ListPreference;
import android.preference.Preference;
import org.webrtc.Camera2Enumerator;
-import org.webrtc.audio.AudioDeviceModule;
+import org.webrtc.audio.JavaAudioDeviceModule;
import org.webrtc.voiceengine.WebRtcAudioUtils;
/**
@@ -201,8 +201,8 @@
disableBuiltInNSPreference.setEnabled(false);
}
} else {
- AudioDeviceModule.setWebRtcBasedAcousticEchoCanceler(false);
- if (!AudioDeviceModule.isAcousticEchoCancelerSupported()) {
+ JavaAudioDeviceModule.setWebRtcBasedAcousticEchoCanceler(false);
+ if (!JavaAudioDeviceModule.isAcousticEchoCancelerSupported()) {
Preference disableBuiltInAECPreference =
settingsFragment.findPreference(keyprefDisableBuiltInAEC);
@@ -216,8 +216,8 @@
disableBuiltInAGCPreference.setSummary(getString(R.string.pref_built_in_agc_not_available));
disableBuiltInAGCPreference.setEnabled(false);
- AudioDeviceModule.setWebRtcBasedNoiseSuppressor(false);
- if (!AudioDeviceModule.isNoiseSuppressorSupported()) {
+ JavaAudioDeviceModule.setWebRtcBasedNoiseSuppressor(false);
+ if (!JavaAudioDeviceModule.isNoiseSuppressorSupported()) {
Preference disableBuiltInNSPreference =
settingsFragment.findPreference(keyprefDisableBuiltInNS);
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index 3061170..cd17b9a 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -765,7 +765,7 @@
"api/org/webrtc/VideoSink.java",
"api/org/webrtc/YuvConverter.java",
"api/org/webrtc/YuvHelper.java",
- "api/org/webrtc/audio/AudioDeviceModule.java",
+ "api/org/webrtc/audio/JavaAudioDeviceModule.java",
"src/java/org/webrtc/AndroidVideoTrackSourceObserver.java",
"src/java/org/webrtc/CalledByNative.java",
"src/java/org/webrtc/CalledByNativeUnchecked.java",
diff --git a/sdk/android/api/org/webrtc/audio/AudioDeviceModule.java b/sdk/android/api/org/webrtc/audio/JavaAudioDeviceModule.java
similarity index 96%
rename from sdk/android/api/org/webrtc/audio/AudioDeviceModule.java
rename to sdk/android/api/org/webrtc/audio/JavaAudioDeviceModule.java
index a9c75b8..5c30661 100644
--- a/sdk/android/api/org/webrtc/audio/AudioDeviceModule.java
+++ b/sdk/android/api/org/webrtc/audio/JavaAudioDeviceModule.java
@@ -16,13 +16,12 @@
import org.webrtc.audio.WebRtcAudioUtils;
/**
- * Public API for Java audio methods.
+ * AudioDeviceModule implemented using android.media.AudioRecord as input and
+ * android.media.AudioTrack as output.
*
* <p>Note: This class is still under development and may change without notice.
*/
-public class AudioDeviceModule {
- public AudioDeviceModule() {}
-
+public class JavaAudioDeviceModule {
/* AudioManager */
public static void setStereoInput(boolean enable) {
WebRtcAudioManager.setStereoInput(enable);
@@ -97,6 +96,7 @@
AUDIO_TRACK_START_EXCEPTION,
AUDIO_TRACK_START_STATE_MISMATCH,
}
+
public static interface AudioTrackErrorCallback {
void onWebRtcAudioTrackInitError(String errorMessage);
void onWebRtcAudioTrackStartError(AudioTrackStartErrorCode errorCode, String errorMessage);
diff --git a/sdk/android/src/java/org/webrtc/audio/WebRtcAudioRecord.java b/sdk/android/src/java/org/webrtc/audio/WebRtcAudioRecord.java
index d07330c..c163e4f 100644
--- a/sdk/android/src/java/org/webrtc/audio/WebRtcAudioRecord.java
+++ b/sdk/android/src/java/org/webrtc/audio/WebRtcAudioRecord.java
@@ -24,9 +24,9 @@
import org.webrtc.Logging;
import org.webrtc.NativeClassQualifiedName;
import org.webrtc.ThreadUtils;
-import org.webrtc.audio.AudioDeviceModule.AudioRecordErrorCallback;
-import org.webrtc.audio.AudioDeviceModule.AudioRecordStartErrorCode;
-import org.webrtc.audio.AudioDeviceModule.SamplesReadyCallback;
+import org.webrtc.audio.JavaAudioDeviceModule.AudioRecordErrorCallback;
+import org.webrtc.audio.JavaAudioDeviceModule.AudioRecordStartErrorCode;
+import org.webrtc.audio.JavaAudioDeviceModule.SamplesReadyCallback;
class WebRtcAudioRecord {
private static final boolean DEBUG = false;
@@ -118,7 +118,7 @@
// at index 0.
byte[] data = Arrays.copyOf(byteBuffer.array(), byteBuffer.capacity());
audioSamplesReadyCallback.onWebRtcAudioRecordSamplesReady(
- new AudioDeviceModule.AudioSamples(audioRecord.getAudioFormat(),
+ new JavaAudioDeviceModule.AudioSamples(audioRecord.getAudioFormat(),
audioRecord.getChannelCount(), audioRecord.getSampleRate(), data));
}
} else {
diff --git a/sdk/android/src/java/org/webrtc/audio/WebRtcAudioTrack.java b/sdk/android/src/java/org/webrtc/audio/WebRtcAudioTrack.java
index 5a72300..99ca45727c 100644
--- a/sdk/android/src/java/org/webrtc/audio/WebRtcAudioTrack.java
+++ b/sdk/android/src/java/org/webrtc/audio/WebRtcAudioTrack.java
@@ -24,8 +24,8 @@
import org.webrtc.ContextUtils;
import org.webrtc.Logging;
import org.webrtc.ThreadUtils;
-import org.webrtc.audio.AudioDeviceModule.AudioTrackErrorCallback;
-import org.webrtc.audio.AudioDeviceModule.AudioTrackStartErrorCode;
+import org.webrtc.audio.JavaAudioDeviceModule.AudioTrackErrorCallback;
+import org.webrtc.audio.JavaAudioDeviceModule.AudioTrackStartErrorCode;
import org.webrtc.CalledByNative;
import org.webrtc.NativeClassQualifiedName;