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

Commit 7a91734b authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix potential memory leaks" am: 3816f5df

parents da3c7768 3816f5df
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);
}