am b9ddd779: am 10ed3f74: Merge "Add input buffer size check for software video encoders" into gingerbread

Merge commit 'b9ddd779ae547b020764b89a0cbd96d589717609'

* commit 'b9ddd779ae547b020764b89a0cbd96d589717609':
  Add input buffer size check for software video encoders
This commit is contained in:
James Dong
2010-08-10 13:32:40 -07:00
committed by Android Git Automerger
2 changed files with 20 additions and 0 deletions

View File

@@ -391,8 +391,18 @@ status_t AVCEncoder::read(
if (err != OK) {
LOGE("Failed to read input video frame: %d", err);
outputBuffer->release();
mInputBuffer->release();
mInputBuffer = NULL;
return err;
}
if (mInputBuffer->size() - ((mVideoWidth * mVideoHeight * 3) >> 1) != 0) {
outputBuffer->release();
mInputBuffer->release();
mInputBuffer = NULL;
return UNKNOWN_ERROR;
}
int64_t timeUs;
CHECK(mInputBuffer->meta_data()->findInt64(kKeyTime, &timeUs));
outputBuffer->meta_data()->setInt64(kKeyTime, timeUs);

View File

@@ -292,8 +292,18 @@ status_t M4vH263Encoder::read(
if (OK != mSource->read(&mInputBuffer, options)) {
LOGE("Failed to read from data source");
outputBuffer->release();
mInputBuffer->release();
mInputBuffer = NULL;
return UNKNOWN_ERROR;
}
if (mInputBuffer->size() - ((mVideoWidth * mVideoHeight * 3) >> 1) != 0) {
outputBuffer->release();
mInputBuffer->release();
mInputBuffer = NULL;
return UNKNOWN_ERROR;
}
int64_t timeUs;
CHECK(mInputBuffer->meta_data()->findInt64(kKeyTime, &timeUs));
if (mNextModTimeUs > timeUs) {