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

Commit 98333e7e authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "aaudio test: check for uninitialized callback buffer" into rvc-dev am: 06eea6e4

Change-Id: Ib7460bc65128d98307532769653f5febccfecee6
parents e20040df 06eea6e4
Loading
Loading
Loading
Loading
+13 −6
Original line number Original line Diff line number Diff line
@@ -29,14 +29,19 @@
// Callback function that does nothing.
// Callback function that does nothing.
aaudio_data_callback_result_t NoopDataCallbackProc(
aaudio_data_callback_result_t NoopDataCallbackProc(
        AAudioStream * stream,
        AAudioStream * stream,
        void *userData,
        void * /* userData */,
        void *audioData,
        void *audioData,
        int32_t numFrames
        int32_t numFrames
) {
) {
    (void) stream;
    int channels = AAudioStream_getChannelCount(stream);
    (void) userData;
    int numSamples = channels * numFrames;
    (void) audioData;
    bool allZeros = true;
    (void) numFrames;
    float * const floatData = reinterpret_cast<float *>(audioData);
    for (int i = 0; i < numSamples; i++) {
        allZeros &= (floatData[i] == 0.0f);
        floatData[i] = 0.0f;
    }
    EXPECT_TRUE(allZeros);
    return AAUDIO_CALLBACK_RESULT_CONTINUE;
    return AAUDIO_CALLBACK_RESULT_CONTINUE;
}
}


@@ -56,6 +61,7 @@ void checkReleaseThenClose(aaudio_performance_mode_t perfMode,
                                        nullptr);
                                        nullptr);
    AAudioStreamBuilder_setPerformanceMode(aaudioBuilder, perfMode);
    AAudioStreamBuilder_setPerformanceMode(aaudioBuilder, perfMode);
    AAudioStreamBuilder_setSharingMode(aaudioBuilder, sharingMode);
    AAudioStreamBuilder_setSharingMode(aaudioBuilder, sharingMode);
    AAudioStreamBuilder_setFormat(aaudioBuilder, AAUDIO_FORMAT_PCM_FLOAT);


    // Create an AAudioStream using the Builder.
    // Create an AAudioStream using the Builder.
    ASSERT_EQ(AAUDIO_OK,
    ASSERT_EQ(AAUDIO_OK,
@@ -114,6 +120,7 @@ void checkStateTransition(aaudio_performance_mode_t perfMode,
    // Request stream properties.
    // Request stream properties.
    AAudioStreamBuilder_setDataCallback(aaudioBuilder, NoopDataCallbackProc, nullptr);
    AAudioStreamBuilder_setDataCallback(aaudioBuilder, NoopDataCallbackProc, nullptr);
    AAudioStreamBuilder_setPerformanceMode(aaudioBuilder, perfMode);
    AAudioStreamBuilder_setPerformanceMode(aaudioBuilder, perfMode);
    AAudioStreamBuilder_setFormat(aaudioBuilder, AAUDIO_FORMAT_PCM_FLOAT);


    // Create an AAudioStream using the Builder.
    // Create an AAudioStream using the Builder.
    ASSERT_EQ(AAUDIO_OK, AAudioStreamBuilder_openStream(aaudioBuilder, &aaudioStream));
    ASSERT_EQ(AAUDIO_OK, AAudioStreamBuilder_openStream(aaudioBuilder, &aaudioStream));