aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorFernando Jiménez Moreno <ferjmoreno@gmail.com>2019-03-12 12:46:56 +0100
committerFernando Jiménez Moreno <ferjmoreno@gmail.com>2019-03-25 09:51:53 +0100
commitbc74dc0e85f5e086f16fc8ef6a2f10cbf37d2492 (patch)
tree1a42cffad5effa5cd6b56f92e3ad2cbb28891e04 /components/script
parent36825b82f3e619df2205150ec6beed5703001e36 (diff)
downloadservo-bc74dc0e85f5e086f16fc8ef6a2f10cbf37d2492.tar.gz
servo-bc74dc0e85f5e086f16fc8ef6a2f10cbf37d2492.zip
Use servo-media-auto and call ServoMedia::init where required
Diffstat (limited to 'components/script')
-rw-r--r--components/script/Cargo.toml1
-rw-r--r--components/script/dom/baseaudiocontext.rs3
-rw-r--r--components/script/dom/htmlmediaelement.rs2
-rw-r--r--components/script/dom/mediadevices.rs2
-rw-r--r--components/script/dom/rtcpeerconnection.rs2
5 files changed, 10 insertions, 0 deletions
diff --git a/components/script/Cargo.toml b/components/script/Cargo.toml
index 421d16fca3c..6bb94a63abf 100644
--- a/components/script/Cargo.toml
+++ b/components/script/Cargo.toml
@@ -96,6 +96,7 @@ servo_atoms = {path = "../atoms"}
servo_config = {path = "../config"}
servo_geometry = {path = "../geometry" }
servo-media = {git = "https://github.com/servo/media"}
+servo-media-auto = {git = "https://github.com/servo/media"}
servo_rand = {path = "../rand"}
servo_url = {path = "../url"}
smallvec = { version = "0.6", features = ["std", "union"] }
diff --git a/components/script/dom/baseaudiocontext.rs b/components/script/dom/baseaudiocontext.rs
index e300e2db081..96f21eeddfc 100644
--- a/components/script/dom/baseaudiocontext.rs
+++ b/components/script/dom/baseaudiocontext.rs
@@ -51,6 +51,7 @@ use servo_media::audio::context::{OfflineAudioContextOptions, RealTimeAudioConte
use servo_media::audio::decoder::AudioDecoderCallbacks;
use servo_media::audio::graph::NodeId;
use servo_media::ServoMedia;
+use servo_media_auto::Backend;
use std::cell::Cell;
use std::collections::{HashMap, VecDeque};
use std::mem;
@@ -108,6 +109,8 @@ impl BaseAudioContext {
},
};
+ ServoMedia::init::<Backend>();
+
let context = BaseAudioContext {
eventtarget: EventTarget::new_inherited(),
audio_context_impl: ServoMedia::get()
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs
index fcf2b4dda4c..de84ae42b4f 100644
--- a/components/script/dom/htmlmediaelement.rs
+++ b/components/script/dom/htmlmediaelement.rs
@@ -68,6 +68,7 @@ use servo_config::pref;
use servo_media::player::frame::{Frame, FrameRenderer};
use servo_media::player::{PlaybackState, Player, PlayerError, PlayerEvent, StreamType};
use servo_media::ServoMedia;
+use servo_media_auto::Backend;
use servo_url::ServoUrl;
use std::cell::Cell;
use std::collections::VecDeque;
@@ -249,6 +250,7 @@ pub enum ReadyState {
impl HTMLMediaElement {
pub fn new_inherited(tag_name: LocalName, prefix: Option<Prefix>, document: &Document) -> Self {
+ ServoMedia::init::<Backend>();
Self {
htmlelement: HTMLElement::new_inherited(tag_name, prefix, document),
network_state: Cell::new(NetworkState::Empty),
diff --git a/components/script/dom/mediadevices.rs b/components/script/dom/mediadevices.rs
index b89762c3779..808ce22c2af 100644
--- a/components/script/dom/mediadevices.rs
+++ b/components/script/dom/mediadevices.rs
@@ -17,6 +17,7 @@ use crate::dom::promise::Promise;
use dom_struct::dom_struct;
use servo_media::streams::capture::{Constrain, ConstrainRange, MediaTrackConstraintSet};
use servo_media::ServoMedia;
+use servo_media_auto::Backend;
use std::rc::Rc;
#[dom_struct]
@@ -26,6 +27,7 @@ pub struct MediaDevices {
impl MediaDevices {
pub fn new_inherited() -> MediaDevices {
+ ServoMedia::init::<Backend>();
MediaDevices {
eventtarget: EventTarget::new_inherited(),
}
diff --git a/components/script/dom/rtcpeerconnection.rs b/components/script/dom/rtcpeerconnection.rs
index eb94914e588..0a1c41cf3f9 100644
--- a/components/script/dom/rtcpeerconnection.rs
+++ b/components/script/dom/rtcpeerconnection.rs
@@ -39,6 +39,7 @@ use servo_media::webrtc::{
BundlePolicy, IceCandidate, SdpType, SessionDescription, WebRtcController, WebRtcSignaller,
};
use servo_media::ServoMedia;
+use servo_media_auto::Backend;
use std::cell::Cell;
use std::rc::Rc;
@@ -117,6 +118,7 @@ impl RTCPeerConnection {
RTCPeerConnectionBinding::Wrap,
);
let signaller = this.make_signaller();
+ ServoMedia::init::<Backend>();
*this.controller.borrow_mut() = Some(ServoMedia::get().unwrap().create_webrtc(signaller));
if let Some(ref servers) = config.iceServers {
if let Some(ref server) = servers.get(0) {