allow/ignore overflow in ogg position calculations
Bug: 137530016
Test: poc in bug
diff --git a/media/extractors/ogg/OggExtractor.cpp b/media/extractors/ogg/OggExtractor.cpp
index 4012ece..bfb2deb 100644
--- a/media/extractors/ogg/OggExtractor.cpp
+++ b/media/extractors/ogg/OggExtractor.cpp
@@ -635,7 +635,8 @@
currentPageSamples -= mStartGranulePosition;
AMediaFormat_setInt32(meta, AMEDIAFORMAT_KEY_VALID_SAMPLES, currentPageSamples);
}
- mCurGranulePosition = mCurrentPage.mGranulePosition - currentPageSamples;
+ (void) __builtin_sub_overflow(mCurrentPage.mGranulePosition, currentPageSamples,
+ &mCurGranulePosition);
}
int64_t timeUs = getTimeUsOfGranule(mCurGranulePosition);