Loading media/java/android/media/audiopolicy/AudioMix.java +14 −0 Original line number Diff line number Diff line Loading @@ -420,6 +420,20 @@ public class AudioMix { rate = 44100; } mFormat = new AudioFormat.Builder().setSampleRate(rate).build(); } else { // Ensure that 'mFormat' uses an output channel mask. Using an input channel // mask was not made 'illegal' initially, however the framework code // assumes usage in AudioMixes of output channel masks only (b/194910301). if ((mFormat.getPropertySetMask() & AudioFormat.AUDIO_FORMAT_HAS_PROPERTY_CHANNEL_MASK) != 0) { if (mFormat.getChannelCount() == 1 && mFormat.getChannelMask() == AudioFormat.CHANNEL_IN_MONO) { mFormat = new AudioFormat.Builder(mFormat).setChannelMask( AudioFormat.CHANNEL_OUT_MONO).build(); } // CHANNEL_IN_STEREO == CHANNEL_OUT_STEREO so no need to correct. // CHANNEL_IN_FRONT_BACK is hidden, should not appear. } } if ((mDeviceSystemType != AudioSystem.DEVICE_NONE) && (mDeviceSystemType != AudioSystem.DEVICE_OUT_REMOTE_SUBMIX) Loading Loading
media/java/android/media/audiopolicy/AudioMix.java +14 −0 Original line number Diff line number Diff line Loading @@ -420,6 +420,20 @@ public class AudioMix { rate = 44100; } mFormat = new AudioFormat.Builder().setSampleRate(rate).build(); } else { // Ensure that 'mFormat' uses an output channel mask. Using an input channel // mask was not made 'illegal' initially, however the framework code // assumes usage in AudioMixes of output channel masks only (b/194910301). if ((mFormat.getPropertySetMask() & AudioFormat.AUDIO_FORMAT_HAS_PROPERTY_CHANNEL_MASK) != 0) { if (mFormat.getChannelCount() == 1 && mFormat.getChannelMask() == AudioFormat.CHANNEL_IN_MONO) { mFormat = new AudioFormat.Builder(mFormat).setChannelMask( AudioFormat.CHANNEL_OUT_MONO).build(); } // CHANNEL_IN_STEREO == CHANNEL_OUT_STEREO so no need to correct. // CHANNEL_IN_FRONT_BACK is hidden, should not appear. } } if ((mDeviceSystemType != AudioSystem.DEVICE_NONE) && (mDeviceSystemType != AudioSystem.DEVICE_OUT_REMOTE_SUBMIX) Loading