mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Add MediaStream.getVideoTracks(), MediaStream.getAudioTracks()
This commit is contained in:
parent
36abbca0a6
commit
70e1c29ae9
2 changed files with 23 additions and 2 deletions
|
@ -10,6 +10,7 @@ use crate::dom::eventtarget::EventTarget;
|
|||
use crate::dom::globalscope::GlobalScope;
|
||||
use crate::dom::mediastreamtrack::MediaStreamTrack;
|
||||
use dom_struct::dom_struct;
|
||||
use servo_media::streams::MediaStreamType;
|
||||
use std::cell::Ref;
|
||||
|
||||
#[dom_struct]
|
||||
|
@ -52,4 +53,24 @@ impl MediaStreamMethods for MediaStream {
|
|||
.map(|x| DomRoot::from_ref(&**x))
|
||||
.collect()
|
||||
}
|
||||
|
||||
/// https://w3c.github.io/mediacapture-main/#dom-mediastream-getaudiotracks
|
||||
fn GetAudioTracks(&self) -> Vec<DomRoot<MediaStreamTrack>> {
|
||||
self.tracks
|
||||
.borrow()
|
||||
.iter()
|
||||
.filter(|x| x.ty() == MediaStreamType::Audio)
|
||||
.map(|x| DomRoot::from_ref(&**x))
|
||||
.collect()
|
||||
}
|
||||
|
||||
/// https://w3c.github.io/mediacapture-main/#dom-mediastream-getvideotracks
|
||||
fn GetVideoTracks(&self) -> Vec<DomRoot<MediaStreamTrack>> {
|
||||
self.tracks
|
||||
.borrow()
|
||||
.iter()
|
||||
.filter(|x| x.ty() == MediaStreamType::Video)
|
||||
.map(|x| DomRoot::from_ref(&**x))
|
||||
.collect()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
[Exposed=Window, Pref="dom.webrtc.enabled"]
|
||||
interface MediaStream : EventTarget {
|
||||
// readonly attribute DOMString id;
|
||||
// sequence<MediaStreamTrack> getAudioTracks();
|
||||
// sequence<MediaStreamTrack> getVideoTracks();
|
||||
sequence<MediaStreamTrack> getAudioTracks();
|
||||
sequence<MediaStreamTrack> getVideoTracks();
|
||||
sequence<MediaStreamTrack> getTracks();
|
||||
// MediaStreamTrack? getTrackById(DOMString trackId);
|
||||
// void addTrack(MediaStreamTrack track);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue