diff options
Diffstat (limited to 'media/libstagefright/ACodec.cpp')
-rw-r--r-- | media/libstagefright/ACodec.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp index 238cd47..43006f3 100644 --- a/media/libstagefright/ACodec.cpp +++ b/media/libstagefright/ACodec.cpp @@ -5205,6 +5205,8 @@ bool ACodec::BaseState::onOMXFillBufferDone( reply->setInt32("buffer-id", info->mBufferID); + (void)mCodec->setDSModeHint(reply, flags, timeUs); + notify->setMessage("reply", reply); notify->post(); @@ -5259,8 +5261,9 @@ void ACodec::BaseState::onOutputBufferDrained(const sp<AMessage> &msg) { ALOGW_IF(err != NO_ERROR, "failed to set crop: %d", err); } + bool skip = mCodec->getDSModeHint(msg); int32_t render; - if (mCodec->mNativeWindow != NULL + if (!skip && mCodec->mNativeWindow != NULL && msg->findInt32("render", &render) && render != 0 && info->mData != NULL && info->mData->size() != 0) { ATRACE_NAME("render"); |