diff options
| -rw-r--r-- | core/jni/android_media_AudioTrack.cpp | 5 | ||||
| -rw-r--r-- | media/java/android/media/AudioTrack.java | 8 | ||||
| -rw-r--r-- | media/java/android/media/MediaCodecInfo.java | 2 | ||||
| -rw-r--r-- | media/jni/soundpool/SoundPool.cpp | 2 |
4 files changed, 12 insertions, 5 deletions
diff --git a/core/jni/android_media_AudioTrack.cpp b/core/jni/android_media_AudioTrack.cpp index 7860b74cc804..768c7d450190 100644 --- a/core/jni/android_media_AudioTrack.cpp +++ b/core/jni/android_media_AudioTrack.cpp @@ -1049,6 +1049,10 @@ static void android_media_AudioTrack_disableDeviceCallback( pJniStorage->mDeviceCallback.clear(); } +static jint android_media_AudioTrack_get_FCC_8(JNIEnv *env, jobject thiz) { + return FCC_8; +} + // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- @@ -1106,6 +1110,7 @@ static const JNINativeMethod gMethods[] = { {"native_getRoutedDeviceId", "()I", (void *)android_media_AudioTrack_getRoutedDeviceId}, {"native_enableDeviceCallback", "()V", (void *)android_media_AudioTrack_enableDeviceCallback}, {"native_disableDeviceCallback", "()V", (void *)android_media_AudioTrack_disableDeviceCallback}, + {"native_get_FCC_8", "()I", (void *)android_media_AudioTrack_get_FCC_8}, }; diff --git a/media/java/android/media/AudioTrack.java b/media/java/android/media/AudioTrack.java index bb4f7d9b7ad9..a810ff1bc2ba 100644 --- a/media/java/android/media/AudioTrack.java +++ b/media/java/android/media/AudioTrack.java @@ -97,9 +97,10 @@ public class AudioTrack /** Maximum value for sample rate */ private static final int SAMPLE_RATE_HZ_MAX = 192000; - // FCC_8 - /** Maximum value for AudioTrack channel count */ - private static final int CHANNEL_COUNT_MAX = 8; + /** Maximum value for AudioTrack channel count + * @hide public for MediaCode only, do not un-hide or change to a numeric literal + */ + public static final int CHANNEL_COUNT_MAX = native_get_FCC_8(); /** indicates AudioTrack state is stopped */ public static final int PLAYSTATE_STOPPED = 1; // matches SL_PLAYSTATE_STOPPED @@ -2583,6 +2584,7 @@ public class AudioTrack private native final int native_getRoutedDeviceId(); private native final void native_enableDeviceCallback(); private native final void native_disableDeviceCallback(); + static private native int native_get_FCC_8(); //--------------------------------------------------------- // Utility methods diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java index e6bc8f1048b6..9bcb5e35938b 100644 --- a/media/java/android/media/MediaCodecInfo.java +++ b/media/java/android/media/MediaCodecInfo.java @@ -907,7 +907,7 @@ public final class MediaCodecInfo { } else if (mime.equalsIgnoreCase(MediaFormat.MIMETYPE_AUDIO_RAW)) { sampleRateRange = Range.create(1, 96000); bitRates = Range.create(1, 10000000); - maxChannels = 8; + maxChannels = AudioTrack.CHANNEL_COUNT_MAX; } else if (mime.equalsIgnoreCase(MediaFormat.MIMETYPE_AUDIO_FLAC)) { sampleRateRange = Range.create(1, 655350); // lossless codec, so bitrate is ignored diff --git a/media/jni/soundpool/SoundPool.cpp b/media/jni/soundpool/SoundPool.cpp index 70d651f2c24a..b63df6fe7ff1 100644 --- a/media/jni/soundpool/SoundPool.cpp +++ b/media/jni/soundpool/SoundPool.cpp @@ -655,7 +655,7 @@ status_t Sample::doLoad() goto error; } - if ((numChannels < 1) || (numChannels > 8)) { + if ((numChannels < 1) || (numChannels > FCC_8)) { ALOGE("Sample channel count (%d) out of range", numChannels); status = BAD_VALUE; goto error; |