am bfd5b386: Merge change If68c168d into eclair-mr2
Merge commit 'bfd5b38673212c47f0e386c0a8370d4ff47bd2fe' into eclair-mr2-plus-aosp * commit 'bfd5b38673212c47f0e386c0a8370d4ff47bd2fe': Some cleanup of OMXCodec code, make sure to ignore 0-length output buffers in the metadata retriever.
This commit is contained in:
@@ -106,7 +106,6 @@ private:
|
||||
|
||||
sp<IOMX> mOMX;
|
||||
IOMX::node_id mNode;
|
||||
sp<OMXCodecObserver> mObserver;
|
||||
uint32_t mQuirks;
|
||||
bool mIsEncoder;
|
||||
char *mMIME;
|
||||
|
||||
@@ -129,11 +129,19 @@ VideoFrame *StagefrightMetadataRetriever::captureFrame() {
|
||||
|
||||
decoder->start();
|
||||
|
||||
MediaBuffer *buffer;
|
||||
// Read one output buffer, ignore format change notifications
|
||||
// and spurious empty buffers.
|
||||
|
||||
MediaBuffer *buffer = NULL;
|
||||
status_t err;
|
||||
do {
|
||||
if (buffer != NULL) {
|
||||
buffer->release();
|
||||
buffer = NULL;
|
||||
}
|
||||
err = decoder->read(&buffer);
|
||||
} while (err == INFO_FORMAT_CHANGED);
|
||||
} while (err == INFO_FORMAT_CHANGED
|
||||
|| (buffer != NULL && buffer->range_length() == 0));
|
||||
|
||||
if (err != OK) {
|
||||
CHECK_EQ(buffer, NULL);
|
||||
|
||||
@@ -1065,8 +1065,8 @@ static bool formatHasNotablyChanged(
|
||||
return false;
|
||||
}
|
||||
|
||||
if (from.get() == NULL && to.get() != NULL
|
||||
|| from.get() != NULL && to.get() == NULL) {
|
||||
if ((from.get() == NULL && to.get() != NULL)
|
||||
|| (from.get() != NULL && to.get() == NULL)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user