Bug 1340446 - check the rounding error smaller or euqal to one. r=kinetik
MozReview-Commit-ID: 5LYzYlZzmEB
--- a/media/libstagefright/binding/MP4Metadata.cpp
+++ b/media/libstagefright/binding/MP4Metadata.cpp
@@ -369,19 +369,19 @@ MP4Metadata::ReadTrackIndex(FallibleTArr
if (mRustTestMode && ret && mRust) {
mp4parse_byte_data data = {};
bool rustRet = mRust->ReadTrackIndice(&data, aTrackID);
MOZ_DIAGNOSTIC_ASSERT(rustRet);
MOZ_DIAGNOSTIC_ASSERT(data.length == aDest.Length());
for (uint32_t i = 0; i < data.length; i++) {
MOZ_DIAGNOSTIC_ASSERT(data.indices[i].start_offset == aDest[i].start_offset);
MOZ_DIAGNOSTIC_ASSERT(data.indices[i].end_offset == aDest[i].end_offset);
- MOZ_DIAGNOSTIC_ASSERT(data.indices[i].start_composition == aDest[i].start_composition);
- MOZ_DIAGNOSTIC_ASSERT(data.indices[i].end_composition == aDest[i].end_composition);
- MOZ_DIAGNOSTIC_ASSERT(data.indices[i].start_decode == aDest[i].start_decode);
+ MOZ_DIAGNOSTIC_ASSERT(llabs(data.indices[i].start_composition - aDest[i].start_composition) <= 1);
+ MOZ_DIAGNOSTIC_ASSERT(llabs(data.indices[i].end_composition - aDest[i].end_composition) <= 1);
+ MOZ_DIAGNOSTIC_ASSERT(llabs(data.indices[i].start_decode - aDest[i].start_decode) <= 1);
MOZ_DIAGNOSTIC_ASSERT(data.indices[i].sync == aDest[i].sync);
}
}
#endif
return ret;
}