| OpenBeOS.MediaKit.NodeKinds |
 |
|
Different kinds of nodes are orthogonal. A node can implement any or all of these interfaces. This is done by subclassing, and also by doing a bitwise or on the constants. There are a finite number of these constants, but one can create arbitrary new subclasses that define new interfaces.
Current Kinds
- Buffer Producer - Produces buffers (either by creating them, or passing on buffers received from upstream producers) - implements BBufferProducer
- Buffer Consumer - Consumes buffers - implements BBufferConsumer
- Time Source - Provides timing information, allowing nodes to be syncronised - implements BTimeSource
- .Controllable - Has a parameterweb, with a list of parameters that can be altered by a program or user - implements BControllable
- File Interface - Accesses a file (read or write) - implements BFileInterface
- Entity Interface - ?seems to an interface for converting nodes to and from XML? implements BEntityInterface
- Physical Input - Input terminus like a mic-in; is published in Media preferences as a default input candidate.
- Physical Output - Output terminus like a speaker-out; is published in Media preferences as a default output candidate.
- System Mixer - Special node representing the system mixer. Should only be one instance - returned by BMediaRoster::GetAudioMixer()
Proposed Kinds
- MediaHub - Replaces System Mixer; should be implemented once for each supported media type (see OpenBeOS.MediaKit.APIChanges for more information)
- Your thoughts go here....
DavidShipman
|
|
|