Please support our sponsors!
This service provided by BeBits: The Best Source of BeOS Software!
OpenBeOS.MediaKit.ProposedAPIOverview
Here's an explanation of how the classes in the proposed API fit together.

File Level Classes

These classes are for manipulating media files or multitrack media streams.

Node level

The ExtractorNode implements Extractor functionality in a node format. It is a FileInterface, a BufferProducer, and a Controllable.

The WriterNode implements Writer functionality in a node format. It is a FileInterface, a BufferConsumer, and a Controllable.

Application level

The MediaFile is used for applications that need read/write access to a file. Typically this will be audio/video editors.

OpenBeOS.ExtractorWriterAPI.ProposedAPI.MediaExtractor
The MediaExtractor is used for applications that only need read access to a file. For example, a video player, audio player, or for the input to a conversion program.

OpenBeOS.ExtractorWriterAPI.ProposedAPI.MediaWriter
The MediaWriter is used for applications that only need write access to a file. For example, a video capture program, audio recording program, or for the output from a conversion program.

Implementation level

OpenBeOS.ExtractorWriterAPI.ProposedAPI.Extractor
The Extractor implements the functionality for parsing a file into multiple tracks. It also parses a file formats header information and provides a means to read it.

OpenBeOS.ExtractorWriterAPI.ProposedAPI.Writer
The Writer implements the functionality for creating a file from multiple tracks. It also provides a means for adding header information and creating a header.

Track Level classes

These classes are for manipulating a particular track from a media file or multitrack media stream.

Application level

The MediaTrack is used for any application that needs read/write access to a track from a file.

Codec Level classes

These classes are for manipulating a piece of data from a particular track from a media file or multitrack media stream.

Node level

The DecoderNode implements Decoder functionality in a node format. It is a BufferProducer, a Controllable, and a BufferConsumer.

The EncoderNode implements Encoder functionality in a node format. It is a BufferProducer, a Controllable, and a BufferConsumer.

Application level

The MediaDecoder is used for any application to obtain a suitable decoder which can read a particular media format, such as Sorenson, ADPCM, etc. Examples include any program that is going to display, play, manipulate the data in a decoded format. The MediaDecoder knows how to search and query all available decoders to find the appropriate one for a format or a piece of encoded data.

The MediaEncoder is used for any application to obtain a suitable encoder which can write a particular media format, such as Sorenson, ADPCM, etc. Examples include any program that is going to transmit or store the data in an encoded format. The MediaEncoder knows how to search and query all available decoders to find the appropriate one for a format.

Implementation level

The Decoder implements the functionality for decoding a stream of encoded media.

The Encoder implements the functionality for encoding a stream of raw media.

Supplemental Classes

The BAddonManager is used to keep a load and manage a set of prototypical instances of addons in a set of directories. It does so in a "live" fashion, by using a node monitor on each directory. For example: if a file is dropped into a decoder directory, the AddonManager will attempt to load it as an addon and then query it to find out if it is a decoder. If so, it will create a prototypical instance of the decoder, which will be used for Sniffing, etc. Similarly, if a file is removed, the addon will be removed from the prototypical instances and it will no longer be queried.

shatty!


PAGE VISITS
1,093

LINKS HERE
OpenBeOS.MediaKit

NEW PAGES
CrosscompilingFirefox
BuildingCairo
StoringDataInBetweenOSes
ScriptingBeosRuby
ScriptingBeosPython
HaikuOS
QemUwinbe
MinimalBeos
XpMBRoverwrite
SteveSakoman

RECENT CHANGES
CrosscompilingFirefox
HowTo
BuildingFirebird
BuildingCairo
BeCommunity
PlayGround
CorumIII
BeAcademic
SupportForMachinesAndArchitectures
BeOsReleases
Edit Page | Front Page | BeBits
Site content is in the public domain. Unless otherwise noted, everything else is copyright © 1999-2002 Fifth Ace Productions, LLC. All Rights Reserved.
For more legal trivia, take a gander at our
Legal Stuff page and our Privacy Statement.
Fifth Ace Productions