Home | History | Annotate | Download | only in videocodec

Lines Matching refs:buffer

39     // Override default native buffer count defined in the base class
133 OMX_ERRORTYPE OMXVideoDecoderAVC::PrepareDecodeBuffer(OMX_BUFFERHEADERTYPE *buffer, buffer_retain_t *retain, VideoDecodeBuffer *p) {
135 ret = OMXVideoDecoderBase::PrepareDecodeBuffer(buffer, retain, p);
139 // if flag is set, buffer will only contain codec data.
140 if (buffer->nFlags & OMX_BUFFERFLAG_CODECCONFIG) {
146 if (buffer->nFlags & (OMX_BUFFERFLAG_ENDOFFRAME | OMX_BUFFERFLAG_EOS)) {
148 // we set buffer flag to HAS_COMPLETE_FRAME, corruption will happen
149 mTimeStamp = buffer->nTimeStamp;
151 // buffer is not accumulated and it contains a complete frame
154 // buffer contains the last part of fragmented frame
155 ret = AccumulateBuffer(buffer);
162 LOGW("Received fragmented buffer.");
165 // first ever buffer
166 mTimeStamp = buffer->nTimeStamp;
169 if (mTimeStamp != buffer->nTimeStamp && mFilledLen != 0) {
170 // buffer accumulated contains a complete frame
173 // retain the current buffer
176 // buffer accumulation for beginning of fragmented buffer (mFilledLen == 0) or
177 // middle/end of fragmented buffer (mFilledLen != 0)
178 ret = AccumulateBuffer(buffer);
183 if (buffer->nFilledLen != 0) {
184 mTimeStamp = buffer->nTimeStamp;
189 OMX_ERRORTYPE OMXVideoDecoderAVC::AccumulateBuffer(OMX_BUFFERHEADERTYPE *buffer) {
190 // check if allocated buffer is big enough
191 if (mFilledLen + buffer->nFilledLen > mBufferSize) {
192 mBufferSize = mFilledLen + buffer->nFilledLen;
212 if (buffer->nFilledLen != 0) {
213 memcpy(mAccumulateBuffer + mFilledLen, buffer->pBuffer + buffer->nOffset, buffer->nFilledLen);
215 mFilledLen += buffer->nFilledLen;