Bug 1261900: [MSE/webm] P5. Re-add WebMTrackDemuxer::GetEvictionOffset. r=gerald
MozReview-Commit-ID: 7kF5bo5mrbP
--- a/dom/media/webm/WebMDemuxer.cpp
+++ b/dom/media/webm/WebMDemuxer.cpp
@@ -1026,10 +1026,21 @@ WebMTrackDemuxer::GetBuffered()
}
void
WebMTrackDemuxer::BreakCycles()
{
mParent = nullptr;
}
+int64_t
+WebMTrackDemuxer::GetEvictionOffset(const media::TimeUnit& aTime)
+{
+ int64_t offset;
+ if (!mParent->GetOffsetForTime(aTime.ToNanoseconds(), &offset)) {
+ return 0;
+ }
+
+ return offset;
+}
+
#undef WEBM_DEBUG
} // namespace mozilla
--- a/dom/media/webm/WebMDemuxer.h
+++ b/dom/media/webm/WebMDemuxer.h
@@ -225,16 +225,18 @@ public:
void Reset() override;
nsresult GetNextRandomAccessPoint(media::TimeUnit* aTime) override;
RefPtr<SkipAccessPointPromise> SkipToNextRandomAccessPoint(media::TimeUnit aTimeThreshold) override;
media::TimeIntervals GetBuffered() override;
+ int64_t GetEvictionOffset(const media::TimeUnit& aTime) override;
+
void BreakCycles() override;
private:
friend class WebMDemuxer;
~WebMTrackDemuxer();
void UpdateSamples(nsTArray<RefPtr<MediaRawData>>& aSamples);
void SetNextKeyFrameTime();
RefPtr<MediaRawData> NextSample ();