Loading include/media/stagefright/ACodec.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -236,6 +236,7 @@ private: bool mSentFormat; bool mSentFormat; bool mIsVideo; bool mIsVideo; bool mIsEncoder; bool mIsEncoder; bool mFatalError; bool mShutdownInProgress; bool mShutdownInProgress; bool mExplicitShutdown; bool mExplicitShutdown; Loading media/libstagefright/ACodec.cpp +9 −0 Original line number Original line Diff line number Diff line Loading @@ -497,6 +497,7 @@ ACodec::ACodec() mSentFormat(false), mSentFormat(false), mIsVideo(false), mIsVideo(false), mIsEncoder(false), mIsEncoder(false), mFatalError(false), mShutdownInProgress(false), mShutdownInProgress(false), mExplicitShutdown(false), mExplicitShutdown(false), mEncoderDelay(0), mEncoderDelay(0), Loading Loading @@ -1312,6 +1313,11 @@ ACodec::BufferInfo *ACodec::dequeueBufferFromNativeWindow() { return NULL; return NULL; } } if (mFatalError) { ALOGW("not dequeuing from native window due to fatal error"); return NULL; } int fenceFd = -1; int fenceFd = -1; do { do { status_t err = mNativeWindow->dequeueBuffer(mNativeWindow.get(), &buf, &fenceFd); status_t err = mNativeWindow->dequeueBuffer(mNativeWindow.get(), &buf, &fenceFd); Loading Loading @@ -4460,6 +4466,9 @@ void ACodec::signalError(OMX_ERRORTYPE error, status_t internalError) { ALOGW("Invalid OMX error %#x", error); ALOGW("Invalid OMX error %#x", error); } } } } mFatalError = true; notify->setInt32("err", internalError); notify->setInt32("err", internalError); notify->setInt32("actionCode", ACTION_CODE_FATAL); // could translate from OMX error. notify->setInt32("actionCode", ACTION_CODE_FATAL); // could translate from OMX error. notify->post(); notify->post(); Loading Loading
include/media/stagefright/ACodec.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -236,6 +236,7 @@ private: bool mSentFormat; bool mSentFormat; bool mIsVideo; bool mIsVideo; bool mIsEncoder; bool mIsEncoder; bool mFatalError; bool mShutdownInProgress; bool mShutdownInProgress; bool mExplicitShutdown; bool mExplicitShutdown; Loading
media/libstagefright/ACodec.cpp +9 −0 Original line number Original line Diff line number Diff line Loading @@ -497,6 +497,7 @@ ACodec::ACodec() mSentFormat(false), mSentFormat(false), mIsVideo(false), mIsVideo(false), mIsEncoder(false), mIsEncoder(false), mFatalError(false), mShutdownInProgress(false), mShutdownInProgress(false), mExplicitShutdown(false), mExplicitShutdown(false), mEncoderDelay(0), mEncoderDelay(0), Loading Loading @@ -1312,6 +1313,11 @@ ACodec::BufferInfo *ACodec::dequeueBufferFromNativeWindow() { return NULL; return NULL; } } if (mFatalError) { ALOGW("not dequeuing from native window due to fatal error"); return NULL; } int fenceFd = -1; int fenceFd = -1; do { do { status_t err = mNativeWindow->dequeueBuffer(mNativeWindow.get(), &buf, &fenceFd); status_t err = mNativeWindow->dequeueBuffer(mNativeWindow.get(), &buf, &fenceFd); Loading Loading @@ -4460,6 +4466,9 @@ void ACodec::signalError(OMX_ERRORTYPE error, status_t internalError) { ALOGW("Invalid OMX error %#x", error); ALOGW("Invalid OMX error %#x", error); } } } } mFatalError = true; notify->setInt32("err", internalError); notify->setInt32("err", internalError); notify->setInt32("actionCode", ACTION_CODE_FATAL); // could translate from OMX error. notify->setInt32("actionCode", ACTION_CODE_FATAL); // could translate from OMX error. notify->post(); notify->post(); Loading