Bug 1208371 - Various cleanups in DOMMediaStream/MediaStreamTrack. r=jib

MozReview-Commit-ID: DE0Gqto3Led

--HG--
extra : rebase_source : 8c49e98f0740b4e658010b98f57d090776930666
This commit is contained in:
Andreas Pehrson 2016-01-21 19:05:53 +08:00
Родитель d81423155b
Коммит 6d73d83ee7
2 изменённых файлов: 19 добавлений и 22 удалений

Просмотреть файл

@ -337,7 +337,6 @@ DOMMediaStream::DOMMediaStream(nsPIDOMWindowInner* aWindow,
MediaStreamTrackSourceGetter* aTrackSourceGetter)
: mLogicalStreamStartTime(0), mWindow(aWindow),
mInputStream(nullptr), mOwnedStream(nullptr), mPlaybackStream(nullptr),
mOwnedPort(nullptr), mPlaybackPort(nullptr),
mTrackSourceGetter(aTrackSourceGetter), mTracksCreated(false),
mNotifiedOfMediaStreamGraphShutdown(false), mCORSMode(CORS_NONE)
{
@ -557,7 +556,6 @@ DOMMediaStream::AddTrack(MediaStreamTrack& aTrack)
return;
}
// Hook up the underlying track with our underlying playback stream.
RefPtr<MediaInputPort> inputPort =
GetPlaybackStream()->AllocateInputPort(aTrack.GetOwnedStream(),
@ -1013,6 +1011,18 @@ DOMMediaStream::CreateClonedDOMTrack(MediaStreamTrack& aTrack,
return newTrack.forget();
}
static DOMMediaStream::TrackPort*
FindTrackPortAmongTracks(const MediaStreamTrack& aTrack,
const nsTArray<RefPtr<DOMMediaStream::TrackPort>>& aTracks)
{
for (const RefPtr<DOMMediaStream::TrackPort>& info : aTracks) {
if (info->GetTrack() == &aTrack) {
return info;
}
}
return nullptr;
}
MediaStreamTrack*
DOMMediaStream::FindOwnedDOMTrack(MediaStream* aInputStream,
TrackID aInputTrackID) const
@ -1033,12 +1043,7 @@ DOMMediaStream::FindOwnedDOMTrack(MediaStream* aInputStream,
DOMMediaStream::TrackPort*
DOMMediaStream::FindOwnedTrackPort(const MediaStreamTrack& aTrack) const
{
for (const RefPtr<TrackPort>& info : mOwnedTracks) {
if (info->GetTrack() == &aTrack) {
return info;
}
}
return nullptr;
return FindTrackPortAmongTracks(aTrack, mOwnedTracks);
}
@ -1072,12 +1077,7 @@ DOMMediaStream::FindPlaybackDOMTrack(MediaStream* aInputStream, TrackID aInputTr
DOMMediaStream::TrackPort*
DOMMediaStream::FindPlaybackTrackPort(const MediaStreamTrack& aTrack) const
{
for (const RefPtr<TrackPort>& info : mTracks) {
if (info->GetTrack() == &aTrack) {
return info;
}
}
return nullptr;
return FindTrackPortAmongTracks(aTrack, mTracks);
}
void
@ -1151,8 +1151,7 @@ DOMMediaStream::UnregisterTrackListener(TrackListener* aListener)
}
void
DOMMediaStream::NotifyTrackAdded(
const RefPtr<MediaStreamTrack>& aTrack)
DOMMediaStream::NotifyTrackAdded(const RefPtr<MediaStreamTrack>& aTrack)
{
MOZ_ASSERT(NS_IsMainThread());
@ -1167,8 +1166,7 @@ DOMMediaStream::NotifyTrackAdded(
}
void
DOMMediaStream::NotifyTrackRemoved(
const RefPtr<MediaStreamTrack>& aTrack)
DOMMediaStream::NotifyTrackRemoved(const RefPtr<MediaStreamTrack>& aTrack)
{
MOZ_ASSERT(NS_IsMainThread());

Просмотреть файл

@ -37,6 +37,7 @@ class DOMLocalMediaStream;
class DOMMediaStream;
class MediaStream;
class MediaInputPort;
class MediaStreamDirectListener;
class MediaStreamGraph;
class ProcessedMediaStream;
@ -60,8 +61,6 @@ class ImageContainer;
class OverlayImage;
} // namespace layers
class MediaStreamDirectListener;
#define NS_DOMMEDIASTREAM_IID \
{ 0x8cb65468, 0x66c0, 0x444e, \
{ 0x89, 0x9f, 0x89, 0x1d, 0x9e, 0xd2, 0xbe, 0x7c } }
@ -399,7 +398,7 @@ public:
* Returns the corresponding MediaStreamTrack if it's in our mOwnedStream.
* aInputTrackID should match the track's TrackID in its input stream.
*/
MediaStreamTrack* FindOwnedDOMTrack(MediaStream* aOwningStream,
MediaStreamTrack* FindOwnedDOMTrack(MediaStream* aInputStream,
TrackID aInputTrackID) const;
/**
@ -412,7 +411,7 @@ public:
* Returns the corresponding MediaStreamTrack if it's in our mPlaybackStream.
* aInputTrackID should match the track's TrackID in its owned stream.
*/
MediaStreamTrack* FindPlaybackDOMTrack(MediaStream* aOwningStream,
MediaStreamTrack* FindPlaybackDOMTrack(MediaStream* aInputStream,
TrackID aInputTrackID) const;
/**