New issue
Advanced search Search tips

Issue 814794 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Mar 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocking:
issue 469639



Sign in to add a comment

Add currentFrame to AudioWorkletGlobalScope

Project Member Reported by hongchan@chromium.org, Feb 22 2018

Issue description

Project Member

Comment 1 by bugdroid1@chromium.org, Feb 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d8b32f76e74dee52d7742500d647a032c6828ed9

commit d8b32f76e74dee52d7742500d647a032c6828ed9
Author: Hongchan Choi <hongchan@chromium.org>
Date: Mon Feb 26 22:53:29 2018

Add currentFrame in AudioWorkletGlobalScope

This CL adds |currentFrame| property to AudioWorkletGlobalScope according
to: https://github.com/WebAudio/web-audio-api/pull/1493.

1. Previously the time stamp (currentTime) was updated when the first
   worklet processor gets called, and it was inconsistent with how it is
   updated in the other nodes. Now updating the frame number is
   streamlined, so the worklet processor also gets the same treatment.

2. In order to streamline this process, WorkerThread reference was
   added to BaseAudioContext. Due to the GC rule, BaseAudioContext cannot
   keep a reference of WorkletGlobalScope, so it always derives the
   global scope from the worker thread.

Bug:  814794 
Test: http/tests/webaudio/audio-worklet/timing-info.html
Change-Id: I4b313377d80f8678c473cf788211e373fd1644cb
Reviewed-on: https://chromium-review.googlesource.com/935157
Commit-Queue: Hongchan Choi <hongchan@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Raymond Toy <rtoy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539300}
[add] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/LayoutTests/http/tests/webaudio/audio-worklet/timing-info-processor.js
[add] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/LayoutTests/http/tests/webaudio/audio-worklet/timing-info.html
[modify] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/Source/modules/webaudio/AudioDestinationNode.cpp
[modify] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/Source/modules/webaudio/AudioWorklet.cpp
[modify] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/Source/modules/webaudio/AudioWorklet.h
[modify] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScope.cpp
[modify] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScope.h
[modify] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScope.idl
[modify] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScopeTest.cpp
[modify] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/Source/modules/webaudio/AudioWorkletMessagingProxy.cpp
[modify] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/Source/modules/webaudio/AudioWorkletMessagingProxy.h
[modify] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/Source/modules/webaudio/AudioWorkletNode.cpp
[modify] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/Source/modules/webaudio/AudioWorkletProcessor.cpp
[modify] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/Source/modules/webaudio/AudioWorkletProcessor.h
[modify] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp
[modify] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.h
[modify] https://crrev.com/d8b32f76e74dee52d7742500d647a032c6828ed9/third_party/WebKit/Source/modules/webaudio/OfflineAudioDestinationNode.cpp

Status: Verified (was: Started)

Sign in to add a comment