mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Update servo media to include global mute support
This commit is contained in:
parent
0dc17af7f0
commit
8e0160fa71
9 changed files with 363 additions and 219 deletions
|
@ -58,7 +58,11 @@ impl AudioNode {
|
|||
mode: options.mode.into(),
|
||||
interpretation: options.interpretation.into(),
|
||||
};
|
||||
let node_id = context.audio_context_impl().create_node(node_type, ch);
|
||||
let node_id = context
|
||||
.audio_context_impl()
|
||||
.lock()
|
||||
.unwrap()
|
||||
.create_node(node_type, ch);
|
||||
Ok(AudioNode::new_inherited_for_id(
|
||||
node_id,
|
||||
context,
|
||||
|
@ -90,6 +94,8 @@ impl AudioNode {
|
|||
pub fn message(&self, message: AudioNodeMessage) {
|
||||
self.context
|
||||
.audio_context_impl()
|
||||
.lock()
|
||||
.unwrap()
|
||||
.message_node(self.node_id, message);
|
||||
}
|
||||
|
||||
|
@ -116,10 +122,14 @@ impl AudioNodeMethods for AudioNode {
|
|||
|
||||
// servo-media takes care of ignoring duplicated connections.
|
||||
|
||||
self.context.audio_context_impl().connect_ports(
|
||||
self.node_id().output(output),
|
||||
destination.node_id().input(input),
|
||||
);
|
||||
self.context
|
||||
.audio_context_impl()
|
||||
.lock()
|
||||
.unwrap()
|
||||
.connect_ports(
|
||||
self.node_id().output(output),
|
||||
destination.node_id().input(input),
|
||||
);
|
||||
|
||||
Ok(DomRoot::from_ref(destination))
|
||||
}
|
||||
|
@ -136,10 +146,14 @@ impl AudioNodeMethods for AudioNode {
|
|||
|
||||
// servo-media takes care of ignoring duplicated connections.
|
||||
|
||||
self.context.audio_context_impl().connect_ports(
|
||||
self.node_id().output(output),
|
||||
dest.node_id().param(dest.param_type()),
|
||||
);
|
||||
self.context
|
||||
.audio_context_impl()
|
||||
.lock()
|
||||
.unwrap()
|
||||
.connect_ports(
|
||||
self.node_id().output(output),
|
||||
dest.node_id().param(dest.param_type()),
|
||||
);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
@ -148,6 +162,8 @@ impl AudioNodeMethods for AudioNode {
|
|||
fn Disconnect(&self) -> ErrorResult {
|
||||
self.context
|
||||
.audio_context_impl()
|
||||
.lock()
|
||||
.unwrap()
|
||||
.disconnect_all_from(self.node_id());
|
||||
Ok(())
|
||||
}
|
||||
|
@ -156,6 +172,8 @@ impl AudioNodeMethods for AudioNode {
|
|||
fn Disconnect_(&self, out: u32) -> ErrorResult {
|
||||
self.context
|
||||
.audio_context_impl()
|
||||
.lock()
|
||||
.unwrap()
|
||||
.disconnect_output(self.node_id().output(out));
|
||||
Ok(())
|
||||
}
|
||||
|
@ -164,6 +182,8 @@ impl AudioNodeMethods for AudioNode {
|
|||
fn Disconnect__(&self, to: &AudioNode) -> ErrorResult {
|
||||
self.context
|
||||
.audio_context_impl()
|
||||
.lock()
|
||||
.unwrap()
|
||||
.disconnect_between(self.node_id(), to.node_id());
|
||||
Ok(())
|
||||
}
|
||||
|
@ -172,6 +192,8 @@ impl AudioNodeMethods for AudioNode {
|
|||
fn Disconnect___(&self, to: &AudioNode, out: u32) -> ErrorResult {
|
||||
self.context
|
||||
.audio_context_impl()
|
||||
.lock()
|
||||
.unwrap()
|
||||
.disconnect_output_between(self.node_id().output(out), to.node_id());
|
||||
Ok(())
|
||||
}
|
||||
|
@ -180,6 +202,8 @@ impl AudioNodeMethods for AudioNode {
|
|||
fn Disconnect____(&self, to: &AudioNode, out: u32, inp: u32) -> ErrorResult {
|
||||
self.context
|
||||
.audio_context_impl()
|
||||
.lock()
|
||||
.unwrap()
|
||||
.disconnect_output_between_to(self.node_id().output(out), to.node_id().input(inp));
|
||||
Ok(())
|
||||
}
|
||||
|
@ -188,6 +212,8 @@ impl AudioNodeMethods for AudioNode {
|
|||
fn Disconnect_____(&self, param: &AudioParam) -> ErrorResult {
|
||||
self.context
|
||||
.audio_context_impl()
|
||||
.lock()
|
||||
.unwrap()
|
||||
.disconnect_to(self.node_id(), param.node_id().param(param.param_type()));
|
||||
Ok(())
|
||||
}
|
||||
|
@ -196,6 +222,8 @@ impl AudioNodeMethods for AudioNode {
|
|||
fn Disconnect______(&self, param: &AudioParam, out: u32) -> ErrorResult {
|
||||
self.context
|
||||
.audio_context_impl()
|
||||
.lock()
|
||||
.unwrap()
|
||||
.disconnect_output_between_to(
|
||||
self.node_id().output(out),
|
||||
param.node_id().param(param.param_type()),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue