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:
Andreas Huber
2009-10-21 15:24:07 -07:00
committed by Android Git Automerger
3 changed files with 12 additions and 5 deletions

View File

@@ -106,7 +106,6 @@ private:
sp<IOMX> mOMX;
IOMX::node_id mNode;
sp<OMXCodecObserver> mObserver;
uint32_t mQuirks;
bool mIsEncoder;
char *mMIME;

View File

@@ -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);

View File

@@ -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;
}