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

Commit 76143093 authored by Glenn Kasten's avatar Glenn Kasten Committed by Android Git Automerger
Browse files

am f0ff908d: Logging to investigate a crash

* commit 'f0ff908d':
  Logging to investigate a crash
parents 49c5737f f0ff908d
Loading
Loading
Loading
Loading
+11 −1
Original line number Original line Diff line number Diff line
@@ -36,8 +36,11 @@ public:
        size_t frameCount;
        size_t frameCount;
    };
    };


    virtual ~AudioBufferProvider() {}
protected:
    AudioBufferProvider() : mValid(kValid) { }
    virtual ~AudioBufferProvider() { mValid = kDead; }


public:
    // value representing an invalid presentation timestamp
    // value representing an invalid presentation timestamp
    static const int64_t kInvalidPTS = 0x7FFFFFFFFFFFFFFFLL;    // <stdint.h> is too painful
    static const int64_t kInvalidPTS = 0x7FFFFFFFFFFFFFFFLL;    // <stdint.h> is too painful


@@ -47,6 +50,13 @@ public:
    virtual status_t getNextBuffer(Buffer* buffer, int64_t pts = kInvalidPTS) = 0;
    virtual status_t getNextBuffer(Buffer* buffer, int64_t pts = kInvalidPTS) = 0;


    virtual void releaseBuffer(Buffer* buffer) = 0;
    virtual void releaseBuffer(Buffer* buffer) = 0;

    int getValid() const { return mValid; }
    static const int kValid = 'GOOD';
    static const int kDead = 'DEAD';

private:
    int mValid;
};
};


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
+6 −0
Original line number Original line Diff line number Diff line
@@ -1098,6 +1098,12 @@ void AudioMixer::process__genericNoResampling(state_t* state, int64_t pts)
        e0 &= ~(1<<i);
        e0 &= ~(1<<i);
        track_t& t = state->tracks[i];
        track_t& t = state->tracks[i];
        t.buffer.frameCount = state->frameCount;
        t.buffer.frameCount = state->frameCount;
        int valid = t.bufferProvider->getValid();
        if (valid != AudioBufferProvider::kValid) {
            ALOGE("invalid bufferProvider=%p name=%d frameCount=%d valid=%#x enabledTracks=%#x",
                    t.bufferProvider, i, t.buffer.frameCount, valid, enabledTracks);
            // expect to crash
        }
        t.bufferProvider->getNextBuffer(&t.buffer, pts);
        t.bufferProvider->getNextBuffer(&t.buffer, pts);
        t.frameCount = t.buffer.frameCount;
        t.frameCount = t.buffer.frameCount;
        t.in = t.buffer.raw;
        t.in = t.buffer.raw;