summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jean-Michel Trivi <jmtrivi@google.com> 2016-01-28 04:23:04 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-01-28 04:23:04 +0000
commit8af734b80a44c8ec8775e1adbd2955b38a184564 (patch)
tree76895d385cb96ee3981dad0b05d42f0555fcad9c
parent2c6c25f2460fd5606e52c25f98d44122219a7090 (diff)
parentf730d87936131902773bb64789cce94b0db78fef (diff)
Merge "API to query recording format and device on AudioRecordConfiguration"
-rw-r--r--api/current.txt5
-rw-r--r--api/system-current.txt5
-rw-r--r--api/test-current.txt5
-rw-r--r--media/java/android/media/AudioRecordConfiguration.java48
4 files changed, 58 insertions, 5 deletions
diff --git a/api/current.txt b/api/current.txt
index 52cec478b07b..f0a528f355e9 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -19896,8 +19896,11 @@ package android.media {
public class AudioRecordConfiguration implements android.os.Parcelable {
method public int describeContents();
- method public int getAudioSessionId();
+ method public android.media.AudioDeviceInfo getAudioDevice();
+ method public int getClientAudioSessionId();
method public int getClientAudioSource();
+ method public android.media.AudioFormat getClientFormat();
+ method public android.media.AudioFormat getFormat();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator<android.media.AudioRecordConfiguration> CREATOR;
}
diff --git a/api/system-current.txt b/api/system-current.txt
index e50b303e1f5c..904f0336b879 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -21020,8 +21020,11 @@ package android.media {
public class AudioRecordConfiguration implements android.os.Parcelable {
method public int describeContents();
- method public int getAudioSessionId();
+ method public android.media.AudioDeviceInfo getAudioDevice();
+ method public int getClientAudioSessionId();
method public int getClientAudioSource();
+ method public android.media.AudioFormat getClientFormat();
+ method public android.media.AudioFormat getFormat();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator<android.media.AudioRecordConfiguration> CREATOR;
}
diff --git a/api/test-current.txt b/api/test-current.txt
index 13e60bdf3e4f..3a7210a3deb6 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -19905,8 +19905,11 @@ package android.media {
public class AudioRecordConfiguration implements android.os.Parcelable {
method public int describeContents();
- method public int getAudioSessionId();
+ method public android.media.AudioDeviceInfo getAudioDevice();
+ method public int getClientAudioSessionId();
method public int getClientAudioSource();
+ method public android.media.AudioFormat getClientFormat();
+ method public android.media.AudioFormat getFormat();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator<android.media.AudioRecordConfiguration> CREATOR;
}
diff --git a/media/java/android/media/AudioRecordConfiguration.java b/media/java/android/media/AudioRecordConfiguration.java
index c7d219d981f4..69df88f3cfe3 100644
--- a/media/java/android/media/AudioRecordConfiguration.java
+++ b/media/java/android/media/AudioRecordConfiguration.java
@@ -23,7 +23,7 @@ import java.util.Objects;
/**
* The AudioRecordConfiguration class collects the information describing an audio recording
- * session. This information is returned through the
+ * session. This information is returned through the
* {@link AudioManager#getActiveRecordConfigurations()} method.
*
*/
@@ -33,12 +33,32 @@ public class AudioRecordConfiguration implements Parcelable {
private final int mClientSource;
+ private final AudioFormat mDeviceFormat;
+ private final AudioFormat mClientFormat;
+
+ private final AudioDeviceInfo mRecDevice;
+
/**
* @hide
*/
public AudioRecordConfiguration(int session, int source) {
mSessionId = session;
mClientSource = source;
+ mDeviceFormat = new AudioFormat.Builder().build();
+ mClientFormat = new AudioFormat.Builder().build();
+ mRecDevice = null;
+ }
+
+ /**
+ * @hide
+ */
+ public AudioRecordConfiguration(int session, int source, AudioFormat devFormat,
+ AudioFormat clientFormat, AudioDeviceInfo device) {
+ mSessionId = session;
+ mClientSource = source;
+ mDeviceFormat = devFormat;
+ mClientFormat = clientFormat;
+ mRecDevice = device;
}
/**
@@ -57,7 +77,28 @@ public class AudioRecordConfiguration implements Parcelable {
* Returns the session number of the recording, see {@link AudioRecord#getAudioSessionId()}.
* @return the session number.
*/
- public int getAudioSessionId() { return mSessionId; }
+ public int getClientAudioSessionId() { return mSessionId; }
+
+ /**
+ * Returns the audio format at which audio is recorded on this Android device.
+ * Note that it may differ from the client application recording format
+ * (see {@link #getClientFormat()}).
+ * @return the device recording format
+ */
+ public AudioFormat getFormat() { return mDeviceFormat; }
+
+ /**
+ * Returns the audio format at which the client application is recording audio.
+ * Note that it may differ from the actual recording format (see {@link #getFormat()}).
+ * @return the recording format
+ */
+ public AudioFormat getClientFormat() { return mClientFormat; }
+
+ /**
+ * Returns the audio input device used for this recording.
+ * @return the audio recording device
+ */
+ public AudioDeviceInfo getAudioDevice() { return mRecDevice; }
public static final Parcelable.Creator<AudioRecordConfiguration> CREATOR
= new Parcelable.Creator<AudioRecordConfiguration>() {
@@ -93,6 +134,9 @@ public class AudioRecordConfiguration implements Parcelable {
private AudioRecordConfiguration(Parcel in) {
mSessionId = in.readInt();
mClientSource = in.readInt();
+ mDeviceFormat = new AudioFormat.Builder().build();
+ mClientFormat = new AudioFormat.Builder().build();
+ mRecDevice = null;
}
@Override