Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8af734b8 authored by Jean-Michel Trivi's avatar Jean-Michel Trivi Committed by Android (Google) Code Review
Browse files

Merge "API to query recording format and device on AudioRecordConfiguration"

parents 2c6c25f2 f730d879
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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;
  }
+4 −1
Original line number Diff line number Diff line
@@ -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;
  }
+4 −1
Original line number Diff line number Diff line
@@ -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;
  }
+46 −2
Original line number Diff line number Diff line
@@ -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