Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fecbc5da authored by Jon Larimer's avatar Jon Larimer Committed by Android Git Automerger
Browse files

am 5b4a5cce: Merge "do not dequeue from native window after we hit fatal error...

am 5b4a5cce: Merge "do not dequeue from native window after we hit fatal error -- DO NOT MERGE" into lmp-dev

* commit '5b4a5cce':
  do not dequeue from native window after we hit fatal error -- DO NOT MERGE
parents cad46fbd 5b4a5cce
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -192,6 +192,7 @@ private:
    bool mSentFormat;
    bool mIsEncoder;
    bool mUseMetadataOnEncoderOutput;
    bool mFatalError;
    bool mShutdownInProgress;
    bool mExplicitShutdown;

+9 −0
Original line number Diff line number Diff line
@@ -407,6 +407,7 @@ ACodec::ACodec()
      mSentFormat(false),
      mIsEncoder(false),
      mUseMetadataOnEncoderOutput(false),
      mFatalError(false),
      mShutdownInProgress(false),
      mExplicitShutdown(false),
      mEncoderDelay(0),
@@ -931,6 +932,11 @@ ACodec::BufferInfo *ACodec::dequeueBufferFromNativeWindow() {
        return NULL;
    }

    if (mFatalError) {
        ALOGW("not dequeuing from native window due to fatal error");
        return NULL;
    }

    if (native_window_dequeue_buffer_and_wait(mNativeWindow.get(), &buf) != 0) {
        ALOGE("dequeueBuffer failed.");
        return NULL;
@@ -3562,6 +3568,9 @@ void ACodec::signalError(OMX_ERRORTYPE error, status_t internalError) {
            ALOGW("Invalid OMX error %#x", error);
        }
    }

    mFatalError = true;

    notify->setInt32("err", internalError);
    notify->setInt32("actionCode", ACTION_CODE_FATAL); // could translate from OMX error.
    notify->post();