Merge "During shutdown, don't loop forever on a state transition to OMX_StateInvalid."

This commit is contained in:
Andreas Huber
2010-02-09 10:04:57 -08:00
committed by Android (Google) Code Review

View File

@@ -129,11 +129,16 @@ status_t OMXNodeInstance::freeNode(OMXMaster *master) {
sendCommand(OMX_CommandStateSet, OMX_StateIdle);
OMX_ERRORTYPE err;
while ((err = OMX_GetState(mHandle, &state)) == OMX_ErrorNone
&& state != OMX_StateIdle) {
&& state != OMX_StateIdle
&& state != OMX_StateInvalid) {
usleep(100000);
}
CHECK_EQ(err, OMX_ErrorNone);
if (state == OMX_StateInvalid) {
break;
}
// fall through
}
@@ -146,7 +151,8 @@ status_t OMXNodeInstance::freeNode(OMXMaster *master) {
OMX_ERRORTYPE err;
while ((err = OMX_GetState(mHandle, &state)) == OMX_ErrorNone
&& state != OMX_StateLoaded) {
&& state != OMX_StateLoaded
&& state != OMX_StateInvalid) {
LOGV("waiting for Loaded state...");
usleep(100000);
}