mirror of
https://github.com/servo/servo.git
synced 2025-06-08 08:33:26 +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::globalscope::GlobalScope;
|
||||||
use crate::dom::mediastreamtrack::MediaStreamTrack;
|
use crate::dom::mediastreamtrack::MediaStreamTrack;
|
||||||
use dom_struct::dom_struct;
|
use dom_struct::dom_struct;
|
||||||
|
use servo_media::streams::MediaStreamType;
|
||||||
use std::cell::Ref;
|
use std::cell::Ref;
|
||||||
|
|
||||||
#[dom_struct]
|
#[dom_struct]
|
||||||
|
@ -52,4 +53,24 @@ impl MediaStreamMethods for MediaStream {
|
||||||
.map(|x| DomRoot::from_ref(&**x))
|
.map(|x| DomRoot::from_ref(&**x))
|
||||||
.collect()
|
.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"]
|
[Exposed=Window, Pref="dom.webrtc.enabled"]
|
||||||
interface MediaStream : EventTarget {
|
interface MediaStream : EventTarget {
|
||||||
// readonly attribute DOMString id;
|
// readonly attribute DOMString id;
|
||||||
// sequence<MediaStreamTrack> getAudioTracks();
|
sequence<MediaStreamTrack> getAudioTracks();
|
||||||
// sequence<MediaStreamTrack> getVideoTracks();
|
sequence<MediaStreamTrack> getVideoTracks();
|
||||||
sequence<MediaStreamTrack> getTracks();
|
sequence<MediaStreamTrack> getTracks();
|
||||||
// MediaStreamTrack? getTrackById(DOMString trackId);
|
// MediaStreamTrack? getTrackById(DOMString trackId);
|
||||||
// void addTrack(MediaStreamTrack track);
|
// void addTrack(MediaStreamTrack track);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue