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

Commit 3816f5df authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Fix potential memory leaks"

parents 4dc86526 3eb8efad
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
// "test_aaudio_attributes.cpp". That other file is more current.
// So these tests could be deleted.

#include <memory>
#include <stdio.h>
#include <unistd.h>

@@ -40,7 +41,7 @@ static void checkAttributes(aaudio_performance_mode_t perfMode,
                            int privacyMode = DONT_SET,
                            aaudio_direction_t direction = AAUDIO_DIRECTION_OUTPUT) {

    float *buffer = new float[kNumFrames * kChannelCount];
    std::unique_ptr<float[]> buffer(new float[kNumFrames * kChannelCount]);

    AAudioStreamBuilder *aaudioBuilder = nullptr;
    AAudioStream *aaudioStream = nullptr;
@@ -109,16 +110,15 @@ static void checkAttributes(aaudio_performance_mode_t perfMode,

    if (direction == AAUDIO_DIRECTION_INPUT) {
        EXPECT_EQ(kNumFrames,
                  AAudioStream_read(aaudioStream, buffer, kNumFrames, kNanosPerSecond));
                  AAudioStream_read(aaudioStream, buffer.get(), kNumFrames, kNanosPerSecond));
    } else {
        EXPECT_EQ(kNumFrames,
                  AAudioStream_write(aaudioStream, buffer, kNumFrames, kNanosPerSecond));
                  AAudioStream_write(aaudioStream, buffer.get(), kNumFrames, kNanosPerSecond));
    }

    EXPECT_EQ(AAUDIO_OK, AAudioStream_requestStop(aaudioStream));

    EXPECT_EQ(AAUDIO_OK, AAudioStream_close(aaudioStream));
    delete[] buffer;
}

static const aaudio_usage_t sUsages[] = {
+3 −4
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

// Play silence and recover from dead servers or disconnected devices.

#include <memory>
#include <stdio.h>

#include <aaudio/AAudio.h>
@@ -32,7 +33,6 @@ int main(int argc, char **argv) {
    int32_t triesLeft = 3;
    int32_t bufferCapacity;
    int32_t framesPerBurst = 0;
    float *buffer = nullptr;

    int32_t actualChannelCount = 0;
    int32_t actualSampleRate = 0;
@@ -83,7 +83,7 @@ int main(int argc, char **argv) {
        bufferCapacity, framesPerBurst);

        int samplesPerBurst = framesPerBurst * actualChannelCount;
        buffer = new float[samplesPerBurst];
        std::unique_ptr<float[]> buffer(new float[samplesPerBurst]);

        result = AAudioStream_requestStart(aaudioStream);
        if (result != AAUDIO_OK) {
@@ -98,7 +98,7 @@ int main(int argc, char **argv) {
        int64_t printAt = actualSampleRate;
        while (result == AAUDIO_OK && framesTotal < framesMax) {
            int32_t framesWritten = AAudioStream_write(aaudioStream,
                                                       buffer, framesPerBurst,
                                                       buffer.get(), framesPerBurst,
                                                       DEFAULT_TIMEOUT_NANOS);
            if (framesWritten < 0) {
                result = framesWritten;
@@ -134,6 +134,5 @@ finish:
        AAudioStream_close(aaudioStream);
    }
    AAudioStreamBuilder_delete(aaudioBuilder);
    delete[] buffer;
    printf("          result = %d = %s\n", result, AAudio_convertResultToText(result));
}
+9 −9
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

// Test AAudio SessionId, which is used to associate Effects with a stream

#include <memory>
#include <stdio.h>
#include <unistd.h>

@@ -29,7 +30,7 @@ constexpr int kChannelCount = 2;
// Test AAUDIO_SESSION_ID_NONE default
static void checkSessionIdNone(aaudio_performance_mode_t perfMode) {

    float *buffer = new float[kNumFrames * kChannelCount];
    std::unique_ptr<float[]> buffer(new float[kNumFrames * kChannelCount]);

    AAudioStreamBuilder *aaudioBuilder = nullptr;

@@ -51,12 +52,12 @@ static void checkSessionIdNone(aaudio_performance_mode_t perfMode) {

    ASSERT_EQ(AAUDIO_OK, AAudioStream_requestStart(aaudioStream1));

    ASSERT_EQ(kNumFrames, AAudioStream_write(aaudioStream1, buffer, kNumFrames, kNanosPerSecond));
    ASSERT_EQ(kNumFrames,
              AAudioStream_write(aaudioStream1, buffer.get(), kNumFrames, kNanosPerSecond));

    EXPECT_EQ(AAUDIO_OK, AAudioStream_requestStop(aaudioStream1));

    EXPECT_EQ(AAUDIO_OK, AAudioStream_close(aaudioStream1));
    delete[] buffer;
    AAudioStreamBuilder_delete(aaudioBuilder);
}

@@ -72,7 +73,7 @@ TEST(test_session_id, aaudio_session_id_none_lowlat) {
static void checkSessionIdAllocate(aaudio_performance_mode_t perfMode,
                                   aaudio_direction_t direction) {

    float *buffer = new float[kNumFrames * kChannelCount];
    std::unique_ptr<float[]> buffer(new float[kNumFrames * kChannelCount]);

    AAudioStreamBuilder *aaudioBuilder = nullptr;

@@ -106,10 +107,10 @@ static void checkSessionIdAllocate(aaudio_performance_mode_t perfMode,

    if (direction == AAUDIO_DIRECTION_INPUT) {
        ASSERT_EQ(kNumFrames, AAudioStream_read(aaudioStream1,
                                                buffer, kNumFrames, kNanosPerSecond));
                                                buffer.get(), kNumFrames, kNanosPerSecond));
    } else {
        ASSERT_EQ(kNumFrames, AAudioStream_write(aaudioStream1,
                                         buffer, kNumFrames, kNanosPerSecond));
                                         buffer.get(), kNumFrames, kNanosPerSecond));
    }

    EXPECT_EQ(AAUDIO_OK, AAudioStream_requestStop(aaudioStream1));
@@ -135,10 +136,10 @@ static void checkSessionIdAllocate(aaudio_performance_mode_t perfMode,

    if (otherDirection == AAUDIO_DIRECTION_INPUT) {
        ASSERT_EQ(kNumFrames, AAudioStream_read(aaudioStream2,
                                                 buffer, kNumFrames, kNanosPerSecond));
                                                 buffer.get(), kNumFrames, kNanosPerSecond));
    } else {
        ASSERT_EQ(kNumFrames, AAudioStream_write(aaudioStream2,
                                                 buffer, kNumFrames, kNanosPerSecond));
                                                 buffer.get(), kNumFrames, kNanosPerSecond));
    }

    EXPECT_EQ(AAUDIO_OK, AAudioStream_requestStop(aaudioStream2));
@@ -147,7 +148,6 @@ static void checkSessionIdAllocate(aaudio_performance_mode_t perfMode,


    EXPECT_EQ(AAUDIO_OK, AAudioStream_close(aaudioStream1));
    delete[] buffer;
    AAudioStreamBuilder_delete(aaudioBuilder);
}