mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 00:35:44 +00:00
Bug 1295352 - Use mState in MediaEngineTabVideoSource. r=jesup
MozReview-Commit-ID: 1zZlMXAqpo7 --HG-- extra : rebase_source : be6dadad9f7059a01f5e96d90232275407b80412 extra : intermediate-source : f3dae14842ecbc89f405095c20faa6834ed10a04 extra : source : 65f1bf3e9dec44ffd6c10a2b1a895ef936ba2d8b
This commit is contained in:
parent
3633aa0676
commit
d0bbc5938c
@ -149,6 +149,12 @@ MediaEngineTabVideoSource::Allocate(const dom::MediaTrackConstraints& aConstrain
|
||||
mWindowId = aConstraints.mBrowserWindow.WasPassed() ?
|
||||
aConstraints.mBrowserWindow.Value() : -1;
|
||||
*aOutHandle = nullptr;
|
||||
|
||||
{
|
||||
MonitorAutoLock mon(mMonitor);
|
||||
mState = kAllocated;
|
||||
}
|
||||
|
||||
return Restart(nullptr, aConstraints, aPrefs, aDeviceId, aOutBadConstraint);
|
||||
}
|
||||
|
||||
@ -187,6 +193,10 @@ nsresult
|
||||
MediaEngineTabVideoSource::Deallocate(AllocationHandle* aHandle)
|
||||
{
|
||||
MOZ_ASSERT(!aHandle);
|
||||
{
|
||||
MonitorAutoLock mon(mMonitor);
|
||||
mState = kReleased;
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@ -202,6 +212,11 @@ MediaEngineTabVideoSource::Start(SourceMediaStream* aStream, TrackID aID,
|
||||
NS_DispatchToMainThread(runnable);
|
||||
aStream->AddTrack(aID, 0, new VideoSegment());
|
||||
|
||||
{
|
||||
MonitorAutoLock mon(mMonitor);
|
||||
mState = kStarted;
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@ -338,7 +353,8 @@ MediaEngineTabVideoSource::Draw() {
|
||||
}
|
||||
|
||||
nsresult
|
||||
MediaEngineTabVideoSource::Stop(mozilla::SourceMediaStream*, mozilla::TrackID)
|
||||
MediaEngineTabVideoSource::Stop(mozilla::SourceMediaStream* aSource,
|
||||
mozilla::TrackID aID)
|
||||
{
|
||||
// If mBlackedoutWindow is true, we may be running
|
||||
// despite mWindow == nullptr.
|
||||
@ -347,6 +363,12 @@ MediaEngineTabVideoSource::Stop(mozilla::SourceMediaStream*, mozilla::TrackID)
|
||||
}
|
||||
|
||||
NS_DispatchToMainThread(new StopRunnable(this));
|
||||
|
||||
{
|
||||
MonitorAutoLock mon(mMonitor);
|
||||
mState = kStopped;
|
||||
aSource->EndTrack(aID);
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user