Loading media/java/android/media/AudioFormat.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -256,6 +256,11 @@ public final class AudioFormat implements Parcelable { public static final int ENCODING_AAC_HE_V2 = 12; public static final int ENCODING_AAC_HE_V2 = 12; /** Audio data format: compressed audio wrapped in PCM for HDMI /** Audio data format: compressed audio wrapped in PCM for HDMI * or S/PDIF passthrough. * or S/PDIF passthrough. * IEC61937 uses a stereo stream of 16-bit samples as the wrapper. * So the channel mask for the track must be {@link #CHANNEL_OUT_STEREO}. * Data should be written to the stream in a short[] array. * If the data is written in a byte[] array then there may be endian problems * on some platforms when converting to short internally. */ */ public static final int ENCODING_IEC61937 = 13; public static final int ENCODING_IEC61937 = 13; Loading media/java/android/media/AudioTrack.java +9 −0 Original line number Original line Diff line number Diff line Loading @@ -806,6 +806,15 @@ public class AudioTrack implements AudioRouting } } mSampleRate = sampleRateInHz; mSampleRate = sampleRateInHz; // IEC61937 is based on stereo. We could coerce it to stereo. // But the application needs to know the stream is stereo so that // it is encoded and played correctly. So better to just reject it. if (audioFormat == AudioFormat.ENCODING_IEC61937 && channelConfig != AudioFormat.CHANNEL_OUT_STEREO) { throw new IllegalArgumentException( "ENCODING_IEC61937 must be configured as CHANNEL_OUT_STEREO"); } //-------------- //-------------- // channel config // channel config mChannelConfiguration = channelConfig; mChannelConfiguration = channelConfig; Loading Loading
media/java/android/media/AudioFormat.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -256,6 +256,11 @@ public final class AudioFormat implements Parcelable { public static final int ENCODING_AAC_HE_V2 = 12; public static final int ENCODING_AAC_HE_V2 = 12; /** Audio data format: compressed audio wrapped in PCM for HDMI /** Audio data format: compressed audio wrapped in PCM for HDMI * or S/PDIF passthrough. * or S/PDIF passthrough. * IEC61937 uses a stereo stream of 16-bit samples as the wrapper. * So the channel mask for the track must be {@link #CHANNEL_OUT_STEREO}. * Data should be written to the stream in a short[] array. * If the data is written in a byte[] array then there may be endian problems * on some platforms when converting to short internally. */ */ public static final int ENCODING_IEC61937 = 13; public static final int ENCODING_IEC61937 = 13; Loading
media/java/android/media/AudioTrack.java +9 −0 Original line number Original line Diff line number Diff line Loading @@ -806,6 +806,15 @@ public class AudioTrack implements AudioRouting } } mSampleRate = sampleRateInHz; mSampleRate = sampleRateInHz; // IEC61937 is based on stereo. We could coerce it to stereo. // But the application needs to know the stream is stereo so that // it is encoded and played correctly. So better to just reject it. if (audioFormat == AudioFormat.ENCODING_IEC61937 && channelConfig != AudioFormat.CHANNEL_OUT_STEREO) { throw new IllegalArgumentException( "ENCODING_IEC61937 must be configured as CHANNEL_OUT_STEREO"); } //-------------- //-------------- // channel config // channel config mChannelConfiguration = channelConfig; mChannelConfiguration = channelConfig; Loading