[Clam-devel] Today commits

David García Garzón dgarcia at iua.upf.edu
Thu Mar 1 11:31:11 PST 2007

Today Pau and me did an intense pair-programming session on having the 
NaiveFlowControl working for all the examples. The new FlowControl resolved a 
lot of underruns with the PortAudio which sounds better now in Linux. We also 
simplified the API in some uses, for example, Networks have now a 
NaiveFlowControl by default so the programmer does not have to assign a flow 
control before adding processings. We also removed a lot of redundant and 
useless framesizes on the backends and FlowControls that drove us crazy: Now 
the AudioSources and Sinks just use the backend frame size and flow controls 
have nothing to say about that ;-)

AudioOut and BlockingNetworkPlayer are near to be deprecated now.


 * Fixed tests on AudioFileIn
 * PrototypeLoader: also uses the NaiveFlowControl
 * Removed useless mClamFrameSize members
 * PANetworkPlayer: No need to set the Source/Sink frameSize since
   it is done by the SetExternalBuffer call each Do.
 * Prototype and NetworkEditor: Flowcontrol does not need framesize anymore
 * changed network examples to adhere to new FlowControl constructor
 * passed new test case of callback-based-network: isolated processings (like 
control senders execute once per callback)
 * NaiveFlowControl considere isolated processings (no ins no outs) as 
 * FlowControl base class: removed attribute with frameSize and (already 
commented out) ConfigurePorts
   so they get executed only once.
 * FlowControl concrete classes (Basic, Push...): adapted to call the proper 
parent constructor
 * Flow/Networks tests: adapted to new flow-control constructors
 * Processing:Inlined and removed Pre/PostConcreteConfigure
 * Do not use PreConcreteConfigure and PostConcreteConfigure in tests

More information about the clam-devel mailing list