summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
diff options
context:
space:
mode:
authorShalaj Jain <shalajj@codeaurora.org>2015-12-03 12:24:17 -0800
committerSteve Kondik <steve@cyngn.com>2015-12-19 02:46:24 -0500
commite93c7cc0c6df169119fd59d20fab0182fb6406f6 (patch)
treea9637df8663b0578d625f6ae6ef3d6d7864fdcc2 /media/libmediaplayerservice
parentb82353b46bcac8239132cfd624c62aa84caab8be (diff)
downloadframeworks_av-e93c7cc0c6df169119fd59d20fab0182fb6406f6.zip
frameworks_av-e93c7cc0c6df169119fd59d20fab0182fb6406f6.tar.gz
frameworks_av-e93c7cc0c6df169119fd59d20fab0182fb6406f6.tar.bz2
nuplayer: Do not drop corrupt EOS frame
Do not drop EOS frame even if DATACORRUPT flag is associated with it. Change-Id: Ib231dd8eb89aa14f824760562fcc371246d7ba9d
Diffstat (limited to 'media/libmediaplayerservice')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp14
1 files changed, 6 insertions, 8 deletions
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;