Lines Matching refs:buffer
48 status_t SourceAudioBufferProvider::getNextBuffer(Buffer *buffer)
50 ALOG_ASSERT(buffer != NULL && buffer->frameCount > 0 && mGetCount == 0);
54 if (mRemaining < buffer->frameCount) {
55 buffer->frameCount = mRemaining;
57 buffer->raw = (char *) mAllocated + (mOffset * mFrameSize);
58 mGetCount = buffer->frameCount;
62 if (buffer->frameCount > mSize) {
67 mAllocated = calloc(buffer->frameCount, mFrameSize);
72 mSize = buffer->frameCount;
76 ssize_t actual = mSource->read(mAllocated, buffer->frameCount);
78 ALOG_ASSERT((size_t) actual <= buffer->frameCount);
81 buffer->raw = mAllocated;
82 buffer->frameCount = actual;
88 buffer->raw = NULL;
89 buffer->frameCount = 0;
94 void SourceAudioBufferProvider::releaseBuffer(Buffer *buffer)
96 ALOG_ASSERT((buffer != NULL) &&
97 (buffer->raw == (char *) mAllocated + (mOffset * mFrameSize)) &&
98 (buffer->frameCount <= mGetCount) &&
101 mOffset += buffer->frameCount;
102 mRemaining -= buffer->frameCount;
103 mFramesReleased += buffer->frameCount;
104 buffer->raw = NULL;
105 buffer->frameCount = 0;