Bug 1201363 - Adding Add/RemoveVideoOutput into VideoStreamTrack. r=jesup

MozReview-Commit-ID: JmKotuB3pBM
This commit is contained in:
ctai
2016-07-19 11:45:27 +08:00
parent 413370cfbc
commit 7692a9689d
5 changed files with 46 additions and 0 deletions

View File

@@ -3641,6 +3641,13 @@ void HTMLMediaElement::UpdateSrcMediaStreamPlaying(uint32_t aFlags)
if (container) {
stream->AddVideoOutput(container);
}
VideoTrack* videoTrack = VideoTracks()->GetSelectedTrack();
if (videoTrack) {
VideoStreamTrack* videoStreamTrack = videoTrack->GetVideoStreamTrack();
if (videoStreamTrack && container) {
videoStreamTrack->AddVideoOutput(container);
}
}
} else {
if (stream) {
mSrcStreamPausedCurrentTime = CurrentTime();
@@ -3652,6 +3659,13 @@ void HTMLMediaElement::UpdateSrcMediaStreamPlaying(uint32_t aFlags)
if (container) {
stream->RemoveVideoOutput(container);
}
VideoTrack* videoTrack = VideoTracks()->GetSelectedTrack();
if (videoTrack) {
VideoStreamTrack* videoStreamTrack = videoTrack->GetVideoStreamTrack();
if (videoStreamTrack && container) {
videoStreamTrack->RemoveVideoOutput(container);
}
}
}
// If stream is null, then DOMMediaStream::Destroy must have been
// called and that will remove all listeners/outputs.