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

Commit 0bcd4045 authored by Jeff Brown's avatar Jeff Brown Committed by Android Git Automerger
Browse files

am 194c140c: Merge changes Id3815fe8,I90a85921 into klp-dev

* commit '194c140c':
  Define AudioSource.REMOTE_SUBMIX.
  Remove setRemoteSubmixOn method.
parents b8e6513e 194c140c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -12857,6 +12857,7 @@ package android.media {
    field public static final int CAMCORDER = 5; // 0x5
    field public static final int DEFAULT = 0; // 0x0
    field public static final int MIC = 1; // 0x1
    field public static final int REMOTE_SUBMIX = 8; // 0x8
    field public static final int VOICE_CALL = 4; // 0x4
    field public static final int VOICE_COMMUNICATION = 7; // 0x7
    field public static final int VOICE_DOWNLINK = 3; // 0x3
+0 −13
Original line number Diff line number Diff line
@@ -1315,19 +1315,6 @@ public class AudioManager {
        }
    }

    /**
     * @hide
     * Signals whether remote submix audio rerouting is enabled.
     */
    public void setRemoteSubmixOn(boolean on, int address) {
        IAudioService service = getService();
        try {
            service.setRemoteSubmixOn(on, address);
        } catch (RemoteException e) {
            Log.e(TAG, "Dead object in setRemoteSubmixOn", e);
        }
    }

    /**
     * Sets audio routing to the wired headset on or off.
     *
+0 −25
Original line number Diff line number Diff line
@@ -150,7 +150,6 @@ public class AudioService extends IAudioService.Stub {
    private static final int MSG_PERSIST_MASTER_VOLUME_MUTE = 12;
    private static final int MSG_REPORT_NEW_ROUTES = 13;
    private static final int MSG_SET_FORCE_BT_A2DP_USE = 14;
    private static final int MSG_SET_RSX_CONNECTION_STATE = 15; // change remote submix connection
    private static final int MSG_CHECK_MUSIC_ACTIVE = 16;
    private static final int MSG_BROADCAST_AUDIO_BECOMING_NOISY = 17;
    private static final int MSG_CONFIGURE_SAFE_MEDIA_VOLUME = 18;
@@ -2393,26 +2392,6 @@ public class AudioService extends IAudioService.Stub {
        }
    };

    /** see AudioManager.setRemoteSubmixOn(boolean on) */
    public void setRemoteSubmixOn(boolean on, int address) {
        sendMsg(mAudioHandler, MSG_SET_RSX_CONNECTION_STATE,
                SENDMSG_REPLACE /* replace with QUEUE when multiple addresses are supported */,
                on ? 1 : 0 /*arg1*/,
                address /*arg2*/,
                null/*obj*/, 0/*delay*/);
    }

    private void onSetRsxConnectionState(int available, int address) {
        AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_IN_REMOTE_SUBMIX,
                available == 1 ?
                        AudioSystem.DEVICE_STATE_AVAILABLE : AudioSystem.DEVICE_STATE_UNAVAILABLE,
                String.valueOf(address) /*device_address*/);
        AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_REMOTE_SUBMIX,
                available == 1 ?
                        AudioSystem.DEVICE_STATE_AVAILABLE : AudioSystem.DEVICE_STATE_UNAVAILABLE,
                String.valueOf(address) /*device_address*/);
    }

    private void onCheckMusicActive() {
        synchronized (mSafeMediaVolumeState) {
            if (mSafeMediaVolumeState == SAFE_MEDIA_VOLUME_INACTIVE) {
@@ -3600,10 +3579,6 @@ public class AudioService extends IAudioService.Stub {
                    break;
                }

                case MSG_SET_RSX_CONNECTION_STATE:
                    onSetRsxConnectionState(msg.arg1/*available*/, msg.arg2/*address*/);
                    break;

                case MSG_CHECK_MUSIC_ACTIVE:
                    onCheckMusicActive();
                    break;
+0 −2
Original line number Diff line number Diff line
@@ -114,8 +114,6 @@ interface IAudioService {

    boolean isBluetoothA2dpOn();

    oneway void setRemoteSubmixOn(boolean on, int address);

    int requestAudioFocus(int mainStreamType, int durationHint, IBinder cb,
            IAudioFocusDispatcher fd, String clientId, String callingPackageName);

+22 −1
Original line number Diff line number Diff line
@@ -179,6 +179,27 @@ public class MediaRecorder
         *  is applied.
         */
        public static final int VOICE_COMMUNICATION = 7;

        /**
         * Audio source for a submix of audio streams to be presented remotely.
         * <p>
         * An application can use this audio source to capture a mix of audio streams
         * that should be transmitted to a remote receiver such as a Wifi display.
         * While recording is active, these audio streams are redirected to the remote
         * submix instead of being played on the device speaker or headset.
         * </p><p>
         * Certain streams are excluded from the remote submix, including
         * {@link AudioManager#STREAM_RING}, {@link AudioManager#STREAM_ALARM},
         * and {@link AudioManager#STREAM_NOTIFICATION}.  These streams will continue
         * to be presented locally as usual.
         * </p><p>
         * Capturing the remote submix audio requires the
         * {@link android.Manifest.permission#CAPTURE_AUDIO_OUTPUT} permission.
         * This permission is reserved for use by system components and is not available to
         * third-party applications.
         * </p>
         */
        public static final int REMOTE_SUBMIX = 8;
    }

    /**
@@ -294,7 +315,7 @@ public class MediaRecorder
     * @see android.media.MediaRecorder.AudioSource
     */
    public static final int getAudioSourceMax() {
        return AudioSource.VOICE_COMMUNICATION;
        return AudioSource.REMOTE_SUBMIX;
    }

    /**
Loading