[Webkit-unassigned] [Bug 77515] New: Modify RealtimeAnalyserNode pull mechanism
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Jan 31 23:35:20 PST 2012
https://bugs.webkit.org/show_bug.cgi?id=77515
Summary: Modify RealtimeAnalyserNode pull mechanism
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
OS/Version: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: Web Audio
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: rgbbones at gmail.com
CC: kbr at google.com, crogers at google.com
Hi
Per description on https://bugs.webkit.org/show_bug.cgi?id=76431 and webaudio spec : 4.17. The RealtimeAnalyserNode Interface, it will be good that some inspector Node like RealtimeAnalyserNode can pull without connect to downstream node which ultimately connect to an audio destination.
As Chris have mentioned at https://bugs.webkit.org/show_bug.cgi?id=76431#c5 , this task must be done carefully to handle audionode's life time well.
Here I propose an approaching as below :
--------------------------
= Goal: =
1. Eliminate the need of RealtimeAnalyserNode to be connected to (direcly or indirectly) the DestinationNode in order to make itself get pumped and retrieve the data. Actually this apply to other potential nodes with similar requirement ( which don't necessary need to have a NodeOutput and wish to inspect the audio stream)
2. Try to minimize the impact on current APP already using RealtimeAnalyserNode.
= Overall Design =
Provide a base node class who's numberOfOutputs might be 0 or 1.
Subclass RealtimeAnalyserNode from it.
When this kind of node's numberOfOutputs is 0, add it to extraPullNodes, otherwise, remove it from extraPullNodes. And these node with go through normal process path.
In Render process, have the context process these nodes in just before handlePostRenderTasks.
The node will also be removed from the pull list when it's uninitialized, since a node only get uninitialized at the end of each render quantum, so it won't be a issue.
= current status =
I will attach a patch which do work without issue.
= Todo =
This first patch is just try to show the conception, Makefile related files other then chromium build and Layout test case not yet added.
----------------------------
Any comments on this approaching is welcome.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list