Bug 1340446 - check the rounding error smaller or euqal to one. r=kinetik draft
authorAlfredo.Yang <ayang@mozilla.com>
Wed, 22 Feb 2017 11:38:16 +0800
changeset 488502 c8a831212ea4d06da4105ff1186a67ffb5d9d96d
parent 488342 858fe82da9f92417c843e2292519a58afa2f82e2
child 546742 b6a1ad5791b7905972f3ab13e08cd8a315bc9f3c
push id46544
push userbmo:ayang@mozilla.com
push dateThu, 23 Feb 2017 06:37:35 +0000
reviewerskinetik
bugs1340446
milestone54.0a1
Bug 1340446 - check the rounding error smaller or euqal to one. r=kinetik MozReview-Commit-ID: 5LYzYlZzmEB
media/libstagefright/binding/MP4Metadata.cpp
--- 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;
 }