summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2015-11-03 17:48:54 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2015-11-03 17:48:54 -0800
commitfc4da68969ef979905ce29018a22460fe8c73dba (patch)
tree51d6ef569397a4cfffc66af28581ba7f41e44c33 /media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
parentf140e521f51b2d48c1f983c2790f4ab55b6dfac9 (diff)
parenta729f437f5f46efbd366721d7d4f398186ce77cd (diff)
downloadframeworks_av-fc4da68969ef979905ce29018a22460fe8c73dba.zip
frameworks_av-fc4da68969ef979905ce29018a22460fe8c73dba.tar.gz
frameworks_av-fc4da68969ef979905ce29018a22460fe8c73dba.tar.bz2
Merge "nuplayer: Drop frames with DATACORRUPT flag"
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
index baea834..0bffafe 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
@@ -597,6 +597,14 @@ 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");