Bug 1296531 - Expose GraphRate through DOMMediaStream. r?jesup
MozReview-Commit-ID: 6kwuLiEgtDI
--- 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.