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

Commit 4d693d6b authored by Glenn Kasten's avatar Glenn Kasten
Browse files

Use mFrameSize instead of mBitShift

Change-Id: Idac335ae70cc9300bb3325839fe8ef1e9e097245
parent ac3e9db8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ public:

    // This is an over-estimate, and could dupe the caller into making a blocking read()
    // FIXME Use an audio HAL API to query the buffer filling status when it's available.
    virtual ssize_t availableToRead() { return mStreamBufferSizeBytes >> mBitShift; }
    virtual ssize_t availableToRead() { return mStreamBufferSizeBytes / mFrameSize; }

    virtual ssize_t read(void *buffer, size_t count);

+1 −1
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ public:

    // This is an over-estimate, and could dupe the caller into making a blocking write()
    // FIXME Use an audio HAL API to query the buffer emptying status when it's available.
    virtual ssize_t availableToWrite() const { return mStreamBufferSizeBytes >> mBitShift; }
    virtual ssize_t availableToWrite() const { return mStreamBufferSizeBytes / mFrameSize; }

    virtual ssize_t write(const void *buffer, size_t count);

+2 −2
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ ssize_t AudioBufferProviderSource::read(void *buffer,
    }
    // count could be zero, either because count was zero on entry or
    // available is zero, but both are unlikely so don't check for that
    memcpy(buffer, (char *) mBuffer.raw + (mConsumed << mBitShift), count << mBitShift);
    memcpy(buffer, (char *) mBuffer.raw + (mConsumed * mFrameSize), count * mFrameSize);
    if (CC_UNLIKELY((mConsumed += count) >= mBuffer.frameCount)) {
        mProvider->releaseBuffer(&mBuffer);
        mBuffer.raw = NULL;
@@ -120,7 +120,7 @@ ssize_t AudioBufferProviderSource::readVia(readVia_t via, size_t total, void *us
            count = available;
        }
        if (CC_LIKELY(count > 0)) {
            char* readTgt = (char *) mBuffer.raw + (mConsumed << mBitShift);
            char* readTgt = (char *) mBuffer.raw + (mConsumed * mFrameSize);
            ssize_t ret = via(user, readTgt, count, readPTS);
            if (CC_UNLIKELY(ret <= 0)) {
                if (CC_LIKELY(accumulator > 0)) {
+2 −2
Original line number Diff line number Diff line
@@ -71,9 +71,9 @@ ssize_t AudioStreamInSource::read(void *buffer, size_t count)
    if (CC_UNLIKELY(!Format_isValid(mFormat))) {
        return NEGOTIATE;
    }
    ssize_t bytesRead = mStream->read(mStream, buffer, count << mBitShift);
    ssize_t bytesRead = mStream->read(mStream, buffer, count * mFrameSize);
    if (bytesRead > 0) {
        size_t framesRead = bytesRead >> mBitShift;
        size_t framesRead = bytesRead / mFrameSize;
        mFramesRead += framesRead;
        return framesRead;
    } else {
+2 −2
Original line number Diff line number Diff line
@@ -58,9 +58,9 @@ ssize_t AudioStreamOutSink::write(const void *buffer, size_t count)
        return NEGOTIATE;
    }
    ALOG_ASSERT(Format_isValid(mFormat));
    ssize_t ret = mStream->write(mStream, buffer, count << mBitShift);
    ssize_t ret = mStream->write(mStream, buffer, count * mFrameSize);
    if (ret > 0) {
        ret >>= mBitShift;
        ret /= mFrameSize;
        mFramesWritten += ret;
    } else {
        // FIXME verify HAL implementations are returning the correct error codes e.g. WOULD_BLOCK
Loading