Bug 1296531 - Expose GraphRate through DOMMediaStream. r?jesup draft
authorAndreas Pehrson <pehrsons@gmail.com>
Thu, 17 Nov 2016 09:57:02 +0100
changeset 670289 7b57295633aeb2a36a4843d48c48d0af2d321cde
parent 670288 f361013872a5fbc0a598b80f5029875d26bc89b8
child 670290 8dd9e34540328e01b279a7eb42c7e2528ce54416
push id81598
push userbmo:apehrson@mozilla.com
push dateTue, 26 Sep 2017 09:13:19 +0000
reviewersjesup
bugs1296531
milestone58.0a1
Bug 1296531 - Expose GraphRate through DOMMediaStream. r?jesup MozReview-Commit-ID: 6kwuLiEgtDI
dom/media/DOMMediaStream.cpp
dom/media/DOMMediaStream.h
--- a/dom/media/DOMMediaStream.cpp
+++ b/dom/media/DOMMediaStream.cpp
@@ -860,16 +860,27 @@ DOMMediaStream::RemoveDirectListener(Dir
 }
 
 bool
 DOMMediaStream::IsFinished() const
 {
   return !mPlaybackStream || mPlaybackStream->IsFinished();
 }
 
+TrackRate
+DOMMediaStream::GraphRate()
+{
+  if (mPlaybackStream) { return mPlaybackStream->GraphRate(); }
+  if (mOwnedStream) { return mOwnedStream->GraphRate(); }
+  if (mInputStream) { return mInputStream->GraphRate(); }
+
+  MOZ_ASSERT(false, "Not hooked up to a graph");
+  return 0;
+}
+
 void
 DOMMediaStream::SetInactiveOnFinish()
 {
   mSetInactiveOnFinish = true;
 }
 
 void
 DOMMediaStream::InitSourceStream(MediaStreamGraph* aGraph)
--- a/dom/media/DOMMediaStream.h
+++ b/dom/media/DOMMediaStream.h
@@ -459,16 +459,18 @@ public:
    */
   bool IsFinished() const;
 
   /**
    * Becomes inactive only when the playback stream has finished.
    */
   void SetInactiveOnFinish();
 
+  TrackRate GraphRate();
+
   /**
    * Returns a principal indicating who may access this stream. The stream contents
    * can only be accessed by principals subsuming this principal.
    */
   nsIPrincipal* GetPrincipal() { return mPrincipal; }
 
   /**
    * Returns a principal indicating who may access video data of this stream.