Closed Bug 1235044 Opened 8 years ago Closed 8 years ago

AudioParam.setValueAtTime does not make value visible with param.value

Categories

(Core :: Web Audio, defect)

45 Branch
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 893020

People

(Reporter: jbo, Unassigned)

Details

(Whiteboard: [dupme])

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:45.0) Gecko/20100101 Firefox/45.0
Build ID: 20151223004004

Steps to reproduce:

Create an `AudioBufferSourceNode`, let's call it `node` and start playing some audio on it.

At some point, call `node.playbackRate.setValueAtTime(2, time)` where time is some time in the future and wait until `context.currentTime > time`.


Actual results:

`node.playbackRate.value === 1`. However, the new playback rate is effective in the audio engine and can be heard, but it is not visible to JavaScript.


Expected results:

It is expected that `node.playbackRate.value === 2` at that point. This is the result I am getting on WebKit and Blink based browsers.

This can be tested also on this web app: http://kostspielig.github.io/zbeats/. When moving the BPM slider up and down, the visualization of the loop progress goes out of sync. This has been debugged and confirmed that this bug happens because the code relies on the values reported by `node.playbackRate.value` being accurate to whatever the audio engine is using at a specific `context.currentTime`. The web app behaves correctly in Chromium and Gnome Web.
Component: Untriaged → Web Audio
Product: Firefox → Core
Whiteboard: [dupme]
Karl -- do you know the bug # of the dup for this?  Thanks.
Flags: needinfo?(karlt)
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago
Flags: needinfo?(karlt)
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.