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

Commit 023a9185 authored by Geoffrey Pitsch's avatar Geoffrey Pitsch Committed by android-build-merger
Browse files

Support multichannel sounds in bootanim

am: db90897b

Change-Id: Ied6b429e05d5d77c76e9bbf34a7f13104be8bb8e
parents d3c15ecb db90897b
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -141,13 +141,27 @@ bool createBufferQueueAudioPlayer(const ChunkFormat* chunkFormat) {
    // configure audio source
    SLDataLocator_AndroidSimpleBufferQueue loc_bufq = {SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, 1};

    // Determine channelMask from num_channels
    SLuint32 channelMask;
    switch (chunkFormat->num_channels) {
        case 1:
            channelMask = SL_SPEAKER_FRONT_CENTER;
            break;
        case 2:
            channelMask = SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT;
            break;
        default:
            // Default of 0 will derive mask from num_channels and log a warning.
            channelMask = 0;
    }

    SLDataFormat_PCM format_pcm = {
        SL_DATAFORMAT_PCM,
        chunkFormat->num_channels,
        chunkFormat->sample_rate * 1000,  // convert to milliHz
        chunkFormat->bits_per_sample,
        16,
        SL_SPEAKER_FRONT_CENTER,
        channelMask,
        SL_BYTEORDER_LITTLEENDIAN
    };
    SLDataSource audioSrc = {&loc_bufq, &format_pcm};