Bug 1220033 - Fix HTMLMediaElement::seekable attribute for Mediasource. r=gerald, a=lizzard
Interval is to start from 0 when duration is +infinity
--- a/dom/media/mediasource/MediaSourceDecoder.cpp
+++ b/dom/media/mediasource/MediaSourceDecoder.cpp
@@ -80,17 +80,18 @@ MediaSourceDecoder::GetSeekable()
media::TimeIntervals seekable;
double duration = mMediaSource->Duration();
if (IsNaN(duration)) {
// Return empty range.
} else if (duration > 0 && mozilla::IsInfinite(duration)) {
media::TimeIntervals buffered = GetBuffered();
if (buffered.Length()) {
- seekable += media::TimeInterval(buffered.GetStart(), buffered.GetEnd());
+ seekable +=
+ media::TimeInterval(media::TimeUnit::FromSeconds(0), buffered.GetEnd());
}
} else {
seekable += media::TimeInterval(media::TimeUnit::FromSeconds(0),
media::TimeUnit::FromSeconds(duration));
}
MSE_DEBUG("ranges=%s", DumpTimeRanges(seekable).get());
return seekable;
}