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

Commit d713c9d6 authored by Glenn Kasten's avatar Glenn Kasten Committed by Android (Google) Code Review
Browse files

Merge "Use FCC_2 and FCC_8 to highlight channel count assumptions"

parents 2ba4dfc7 bd2c3d65
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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},
};


+5 −3
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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;