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}
This commit is contained in:
Magnus Jedvert 2018-03-29 08:42:38 +02:00 committed by Commit Bot
parent 86684960b3
commit 003211c5da
7 changed files with 30 additions and 30 deletions

View file

@ -70,7 +70,7 @@ import org.webrtc.VideoRenderer;
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 @@ public class PeerConnectionClient {
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 @@ public class PeerConnectionClient {
@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 @@ public class PeerConnectionClient {
}
});
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 @@ public class PeerConnectionClient {
@Override
public void onWebRtcAudioTrackStartError(
AudioDeviceModule.AudioTrackStartErrorCode errorCode, String errorMessage) {
JavaAudioDeviceModule.AudioTrackStartErrorCode errorCode, String errorMessage) {
Log.e(TAG, "onWebRtcAudioTrackStartError: " + errorCode + ". " + errorMessage);
reportError(errorMessage);
}

View file

@ -20,8 +20,8 @@ import java.io.FileNotFoundException;
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 @@ public class RecordedAudioToFileController
// 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");

View file

@ -17,7 +17,7 @@ import android.os.Bundle;
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 @@ public class SettingsActivity extends Activity implements OnSharedPreferenceChan
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 @@ public class SettingsActivity extends Activity implements OnSharedPreferenceChan
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);

View file

@ -765,7 +765,7 @@ rtc_android_library("base_java") {
"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",

View file

@ -16,13 +16,12 @@ import org.webrtc.audio.WebRtcAudioTrack;
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 @@ public class AudioDeviceModule {
AUDIO_TRACK_START_EXCEPTION,
AUDIO_TRACK_START_STATE_MISMATCH,
}
public static interface AudioTrackErrorCallback {
void onWebRtcAudioTrackInitError(String errorMessage);
void onWebRtcAudioTrackStartError(AudioTrackStartErrorCode errorCode, String errorMessage);

View file

@ -24,9 +24,9 @@ import org.webrtc.CalledByNative;
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 @@ class WebRtcAudioRecord {
// 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 {

View file

@ -24,8 +24,8 @@ import javax.annotation.Nullable;
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;