Merge "Add input buffer size check for software video encoders" into gingerbread
This commit is contained in:
@@ -391,8 +391,18 @@ status_t AVCEncoder::read(
|
|||||||
if (err != OK) {
|
if (err != OK) {
|
||||||
LOGE("Failed to read input video frame: %d", err);
|
LOGE("Failed to read input video frame: %d", err);
|
||||||
outputBuffer->release();
|
outputBuffer->release();
|
||||||
|
mInputBuffer->release();
|
||||||
|
mInputBuffer = NULL;
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mInputBuffer->size() - ((mVideoWidth * mVideoHeight * 3) >> 1) != 0) {
|
||||||
|
outputBuffer->release();
|
||||||
|
mInputBuffer->release();
|
||||||
|
mInputBuffer = NULL;
|
||||||
|
return UNKNOWN_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
int64_t timeUs;
|
int64_t timeUs;
|
||||||
CHECK(mInputBuffer->meta_data()->findInt64(kKeyTime, &timeUs));
|
CHECK(mInputBuffer->meta_data()->findInt64(kKeyTime, &timeUs));
|
||||||
outputBuffer->meta_data()->setInt64(kKeyTime, timeUs);
|
outputBuffer->meta_data()->setInt64(kKeyTime, timeUs);
|
||||||
|
|||||||
@@ -292,8 +292,18 @@ status_t M4vH263Encoder::read(
|
|||||||
if (OK != mSource->read(&mInputBuffer, options)) {
|
if (OK != mSource->read(&mInputBuffer, options)) {
|
||||||
LOGE("Failed to read from data source");
|
LOGE("Failed to read from data source");
|
||||||
outputBuffer->release();
|
outputBuffer->release();
|
||||||
|
mInputBuffer->release();
|
||||||
|
mInputBuffer = NULL;
|
||||||
return UNKNOWN_ERROR;
|
return UNKNOWN_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mInputBuffer->size() - ((mVideoWidth * mVideoHeight * 3) >> 1) != 0) {
|
||||||
|
outputBuffer->release();
|
||||||
|
mInputBuffer->release();
|
||||||
|
mInputBuffer = NULL;
|
||||||
|
return UNKNOWN_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
int64_t timeUs;
|
int64_t timeUs;
|
||||||
CHECK(mInputBuffer->meta_data()->findInt64(kKeyTime, &timeUs));
|
CHECK(mInputBuffer->meta_data()->findInt64(kKeyTime, &timeUs));
|
||||||
if (mNextModTimeUs > timeUs) {
|
if (mNextModTimeUs > timeUs) {
|
||||||
|
|||||||
Reference in New Issue
Block a user