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

Commit e53c9b8d authored by Glenn Kasten's avatar Glenn Kasten Committed by Android (Google) Code Review
Browse files

Merge "Use mFrameSize instead of mBitShift"

parents c514c9cb 4d693d6b
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