New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 678678 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Task

Blocking:
issue 469639



Sign in to add a comment

Implement Push-Pull FIFO for WebAudio

Project Member Reported by hongchan@chromium.org, Jan 5 2017

Issue description

The current FIFO has AudioPullFIFO. This class implements AudioSourceProvider and has a redundant/cyclic call structure to handle the internal input array. Now the input array (never used) is removed from the audio destination, we can simplify the destination by using the new FIFO with the single call chain.

This simplification is the stepping stone for the next change, introducing a separate thread for the WebAudio rendering.
 
Labels: -Type-Bug -Pri-3 Pri-2 Type-Task
Project Member

Comment 2 by bugdroid1@chromium.org, Feb 8 2017

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

commit f363ce8f3f7191685f112792ba39721991b7fe60
Author: thakis <thakis@chromium.org>
Date: Wed Feb 08 20:25:06 2017

Revert "This CL is to reduce the complexity of current FIFO structure."

This reverts https://codereview.chromium.org/2549093009/ since it breaks
test in official builds (see comment on review).

Manual revert since rietveld failed to revert this

> This CL is to reduce the complexity of current FIFO structure.
>
> 1. The simplified PushPullFIFO replaces old FIFOs into one, and removes the
> cyclic call structure between AudioDestination and AudioPullFIFO.
> 2. This refactoring will be helpful when the new WebThread for AudioWorklet
> is implemented. (push and pull operation now can be separated.)
>
> BUG= 678678 
> Review-Url: https://codereview.chromium.org/2549093009
> Cr-Commit-Position: refs/heads/master@{#448784}
> Committed: https://chromium.googlesource.com/chromium/src/+/41a5385ea755ea3550ce907716c329b559186a2e

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 678678 
TBR=hongchan

Review-Url: https://codereview.chromium.org/2686893002
Cr-Commit-Position: refs/heads/master@{#449077}

[modify] https://crrev.com/f363ce8f3f7191685f112792ba39721991b7fe60/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/f363ce8f3f7191685f112792ba39721991b7fe60/third_party/WebKit/Source/platform/audio/AudioDestination.cpp
[modify] https://crrev.com/f363ce8f3f7191685f112792ba39721991b7fe60/third_party/WebKit/Source/platform/audio/AudioDestination.h
[add] https://crrev.com/f363ce8f3f7191685f112792ba39721991b7fe60/third_party/WebKit/Source/platform/audio/AudioFIFO.cpp
[add] https://crrev.com/f363ce8f3f7191685f112792ba39721991b7fe60/third_party/WebKit/Source/platform/audio/AudioFIFO.h
[add] https://crrev.com/f363ce8f3f7191685f112792ba39721991b7fe60/third_party/WebKit/Source/platform/audio/AudioPullFIFO.cpp
[add] https://crrev.com/f363ce8f3f7191685f112792ba39721991b7fe60/third_party/WebKit/Source/platform/audio/AudioPullFIFO.h
[delete] https://crrev.com/1e4cb48ad671efb300d7cf93a21e624df9089dcc/third_party/WebKit/Source/platform/audio/PushPullFIFO.cpp
[delete] https://crrev.com/1e4cb48ad671efb300d7cf93a21e624df9089dcc/third_party/WebKit/Source/platform/audio/PushPullFIFO.h
[delete] https://crrev.com/1e4cb48ad671efb300d7cf93a21e624df9089dcc/third_party/WebKit/Source/platform/audio/PushPullFIFOTest.cpp

Project Member

Comment 3 by bugdroid1@chromium.org, Feb 9 2017

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

commit 52db730e621a1cba97430be2a888feb9a962187a
Author: hongchan <hongchan@chromium.org>
Date: Thu Feb 09 23:47:28 2017

This CL is to reduce the complexity of current FIFO structure.

1. The simplified PushPullFIFO replaces old FIFOs into one, and removes the
cyclic call structure between AudioDestination and AudioPullFIFO.
2. This refactoring will be helpful when the new WebThread for AudioWorklet
is implemented. (push and pull operation now can be separated.)

BUG= 678678 

Review-Url: https://codereview.chromium.org/2549093009
Cr-Original-Commit-Position: refs/heads/master@{#448784}
Committed: https://chromium.googlesource.com/chromium/src/+/41a5385ea755ea3550ce907716c329b559186a2e
Review-Url: https://codereview.chromium.org/2549093009
Cr-Commit-Position: refs/heads/master@{#449467}

[modify] https://crrev.com/52db730e621a1cba97430be2a888feb9a962187a/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/52db730e621a1cba97430be2a888feb9a962187a/third_party/WebKit/Source/platform/audio/AudioDestination.cpp
[modify] https://crrev.com/52db730e621a1cba97430be2a888feb9a962187a/third_party/WebKit/Source/platform/audio/AudioDestination.h
[delete] https://crrev.com/05324cb4575729c503766281107a8a5d75662bdc/third_party/WebKit/Source/platform/audio/AudioFIFO.cpp
[delete] https://crrev.com/05324cb4575729c503766281107a8a5d75662bdc/third_party/WebKit/Source/platform/audio/AudioFIFO.h
[delete] https://crrev.com/05324cb4575729c503766281107a8a5d75662bdc/third_party/WebKit/Source/platform/audio/AudioPullFIFO.cpp
[delete] https://crrev.com/05324cb4575729c503766281107a8a5d75662bdc/third_party/WebKit/Source/platform/audio/AudioPullFIFO.h
[add] https://crrev.com/52db730e621a1cba97430be2a888feb9a962187a/third_party/WebKit/Source/platform/audio/PushPullFIFO.cpp
[add] https://crrev.com/52db730e621a1cba97430be2a888feb9a962187a/third_party/WebKit/Source/platform/audio/PushPullFIFO.h
[add] https://crrev.com/52db730e621a1cba97430be2a888feb9a962187a/third_party/WebKit/Source/platform/audio/PushPullFIFOTest.cpp

Status: Fixed (was: Started)

Sign in to add a comment