[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