Add MediaStream::new_single()

This commit is contained in:
Manish Goregaokar 2020-07-01 16:01:19 -07:00
parent 6a001e7523
commit bf9614edf7

View file

@ -13,6 +13,7 @@ use crate::dom::globalscope::GlobalScope;
use crate::dom::mediastreamtrack::MediaStreamTrack;
use crate::dom::window::Window;
use dom_struct::dom_struct;
use servo_media::streams::registry::MediaStreamId;
use servo_media::streams::MediaStreamType;
#[dom_struct]
@ -34,6 +35,17 @@ impl MediaStream {
reflect_dom_object(Box::new(MediaStream::new_inherited()), global)
}
pub fn new_single(
global: &GlobalScope,
id: MediaStreamId,
ty: MediaStreamType,
) -> DomRoot<MediaStream> {
let this = Self::new(global);
let track = MediaStreamTrack::new(global, id, ty);
this.AddTrack(&track);
this
}
pub fn Constructor(global: &Window) -> Fallible<DomRoot<MediaStream>> {
Ok(MediaStream::new(&global.global()))
}