Bug 1109431 - Apply TimestampsFuzzyEqual rounding to the buffered ranges returned from multiple decoders. r=ajones

This commit is contained in:
Matt Woodrow
2014-12-11 10:52:57 +13:00
parent b23f1d3c48
commit a84ce05292
5 changed files with 23 additions and 12 deletions

View File

@@ -98,7 +98,7 @@ TimeRanges::GetEndTime()
}
void
TimeRanges::Normalize()
TimeRanges::Normalize(double aError)
{
if (mRanges.Length() >= 2) {
nsAutoTArray<TimeRange,4> normalized;
@@ -112,7 +112,7 @@ TimeRanges::Normalize()
current.mEnd >= mRanges[i].mEnd) {
continue;
}
if (current.mEnd >= mRanges[i].mStart) {
if (current.mEnd + aError >= mRanges[i].mStart) {
current.mEnd = mRanges[i].mEnd;
} else {
normalized.AppendElement(current);
@@ -127,10 +127,10 @@ TimeRanges::Normalize()
}
void
TimeRanges::Union(const TimeRanges* aOtherRanges)
TimeRanges::Union(const TimeRanges* aOtherRanges, double aError)
{
mRanges.AppendElements(aOtherRanges->mRanges);
Normalize();
Normalize(aError);
}
void