From a21aa052d0d6fdaa79407791b76cfd17e9e8b516 Mon Sep 17 00:00:00 2001 From: Mauricio Collares Date: Tue, 20 Aug 2019 10:45:53 -0300 Subject: [PATCH] AudioBufferSourceNode: Send loop messages --- components/script/dom/audiobuffersourcenode.rs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/components/script/dom/audiobuffersourcenode.rs b/components/script/dom/audiobuffersourcenode.rs index ba877a3e3ae..7810199750c 100644 --- a/components/script/dom/audiobuffersourcenode.rs +++ b/components/script/dom/audiobuffersourcenode.rs @@ -171,6 +171,10 @@ impl AudioBufferSourceNodeMethods for AudioBufferSourceNode { // https://webaudio.github.io/web-audio-api/#dom-audiobuffersourcenode-loop fn SetLoop(&self, should_loop: bool) { self.loop_enabled.set(should_loop); + let msg = AudioNodeMessage::AudioBufferSourceNode( + AudioBufferSourceNodeMessage::SetLoopEnabled(should_loop), + ); + self.source_node.node().message(msg); } // https://webaudio.github.io/web-audio-api/#dom-audiobuffersourcenode-loopstart @@ -181,6 +185,10 @@ impl AudioBufferSourceNodeMethods for AudioBufferSourceNode { // https://webaudio.github.io/web-audio-api/#dom-audiobuffersourcenode-loopstart fn SetLoopStart(&self, loop_start: Finite) { self.loop_start.set(*loop_start); + let msg = AudioNodeMessage::AudioBufferSourceNode( + AudioBufferSourceNodeMessage::SetLoopStart(*loop_start), + ); + self.source_node.node().message(msg); } // https://webaudio.github.io/web-audio-api/#dom-audiobuffersourcenode-loopend @@ -190,7 +198,11 @@ impl AudioBufferSourceNodeMethods for AudioBufferSourceNode { // https://webaudio.github.io/web-audio-api/#dom-audiobuffersourcenode-loopend fn SetLoopEnd(&self, loop_end: Finite) { - self.loop_end.set(*loop_end) + self.loop_end.set(*loop_end); + let msg = AudioNodeMessage::AudioBufferSourceNode( + AudioBufferSourceNodeMessage::SetLoopEnd(*loop_end), + ); + self.source_node.node().message(msg); } // https://webaudio.github.io/web-audio-api/#dom-audiobuffersourcenode-start @@ -228,7 +240,7 @@ impl AudioBufferSourceNodeMethods for AudioBufferSourceNode { self.source_node .node() .message(AudioNodeMessage::AudioBufferSourceNode( - AudioBufferSourceNodeMessage::Start( + AudioBufferSourceNodeMessage::SetStartParams( *when, offset.map(|f| *f), duration.map(|f| *f),