From e93c7cc0c6df169119fd59d20fab0182fb6406f6 Mon Sep 17 00:00:00 2001 From: Shalaj Jain Date: Thu, 3 Dec 2015 12:24:17 -0800 Subject: nuplayer: Do not drop corrupt EOS frame Do not drop EOS frame even if DATACORRUPT flag is associated with it. Change-Id: Ib231dd8eb89aa14f824760562fcc371246d7ba9d --- media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'media/libmediaplayerservice') diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp index d23a9e2..9136d47 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp @@ -608,14 +608,6 @@ bool NuPlayer::Decoder::handleAnOutputBuffer( reply->setSize("buffer-ix", index); reply->setInt32("generation", mBufferGeneration); - if ((flags & MediaCodec::BUFFER_FLAG_DATACORRUPT) && - AVNuUtils::get()->dropCorruptFrame()) { - ALOGV("[%s] dropping corrupt buffer at time %lld as requested.", - mComponentName.c_str(), (long long)timeUs); - reply->post(); - return true; - } - if (eos) { ALOGI("[%s] saw output EOS", mIsAudio ? "audio" : "video"); @@ -631,6 +623,12 @@ bool NuPlayer::Decoder::handleAnOutputBuffer( } mSkipRenderingUntilMediaTimeUs = -1; + } else if ((flags & MediaCodec::BUFFER_FLAG_DATACORRUPT) && + AVNuUtils::get()->dropCorruptFrame()) { + ALOGV("[%s] dropping corrupt buffer at time %lld as requested.", + mComponentName.c_str(), (long long)timeUs); + reply->post(); + return true; } mNumFramesTotal += !mIsAudio; -- cgit v1.1