Merge "Matroskaextractor: improve findThumbnails() time." into main am: faa2065048
Original change: https://android-review.googlesource.com/c/platform/frameworks/av/+/3019097
Change-Id: Ic97088063203b638745e4544ee97922f24bef45c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/media/module/extractors/mkv/MatroskaExtractor.cpp b/media/module/extractors/mkv/MatroskaExtractor.cpp
index f9d2006..f326db1 100644
--- a/media/module/extractors/mkv/MatroskaExtractor.cpp
+++ b/media/module/extractors/mkv/MatroskaExtractor.cpp
@@ -2312,6 +2312,8 @@
int64_t thumbnailTimeUs = 0;
size_t maxBlockSize = 0;
while (!iter.eos() && j < 20) {
+ int64_t blockTimeUs = iter.blockTimeUs();
+
if (iter.block()->IsKey()) {
++j;
@@ -2322,9 +2324,13 @@
if (blockSize > maxBlockSize) {
maxBlockSize = blockSize;
- thumbnailTimeUs = iter.blockTimeUs();
+ thumbnailTimeUs = blockTimeUs;
}
}
+ // Exit after 20s if we've already found at least one key frame.
+ if (blockTimeUs > 20000000 && maxBlockSize > 0) {
+ break;
+ }
iter.advance();
}
AMediaFormat_setInt64(info->mMeta,