mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Add MediaStream.addTrack() and MediaStream.removeTrack()
This commit is contained in:
parent
571c3d6d0e
commit
477ca175e3
2 changed files with 17 additions and 2 deletions
|
@ -83,4 +83,19 @@ impl MediaStreamMethods for MediaStream {
|
|||
.find(|x| x.id().id().to_string() == &*id)
|
||||
.map(|x| DomRoot::from_ref(&**x))
|
||||
}
|
||||
|
||||
/// https://w3c.github.io/mediacapture-main/#dom-mediastream-addtrack
|
||||
fn AddTrack(&self, track: &MediaStreamTrack) {
|
||||
let existing = self.tracks.borrow().iter().find(|x| *x == &track).is_some();
|
||||
|
||||
if existing {
|
||||
return;
|
||||
}
|
||||
self.add_track(track)
|
||||
}
|
||||
|
||||
/// https://w3c.github.io/mediacapture-main/#dom-mediastream-removetrack
|
||||
fn RemoveTrack(&self, track: &MediaStreamTrack) {
|
||||
self.tracks.borrow_mut().retain(|x| *x != track);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,8 +15,8 @@ interface MediaStream : EventTarget {
|
|||
sequence<MediaStreamTrack> getVideoTracks();
|
||||
sequence<MediaStreamTrack> getTracks();
|
||||
MediaStreamTrack? getTrackById(DOMString trackId);
|
||||
// void addTrack(MediaStreamTrack track);
|
||||
// void removeTrack(MediaStreamTrack track);
|
||||
void addTrack(MediaStreamTrack track);
|
||||
void removeTrack(MediaStreamTrack track);
|
||||
// MediaStream clone();
|
||||
// readonly attribute boolean active;
|
||||
// attribute EventHandler onaddtrack;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue