Bug 1261900: [MSE/webm] P5. Re-add WebMTrackDemuxer::GetEvictionOffset. r=gerald draft
authorJean-Yves Avenard <jyavenard@mozilla.com>
Fri, 22 Apr 2016 16:37:39 +1000
changeset 356742 e6a461ea8028284b890d5abaf778a46099af8094
parent 356741 31b62692275d5f8d5b118cb1a93735f2009aafd4
child 356743 55d02c8b8c248e9d3e7517ce743141eaa4e94aed
push id16586
push userbmo:jyavenard@mozilla.com
push dateWed, 27 Apr 2016 02:47:40 +0000
reviewersgerald
bugs1261900
milestone49.0a1
Bug 1261900: [MSE/webm] P5. Re-add WebMTrackDemuxer::GetEvictionOffset. r=gerald MozReview-Commit-ID: 7kF5bo5mrbP
dom/media/webm/WebMDemuxer.cpp
dom/media/webm/WebMDemuxer.h
--- 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 ();