Streams are really virtual concepts; {@link IContainer}s really just contain a bunch of {@link IPacket}s. But each {@link IPacket} usually has a stream id associated with it, and all {@link IPacket}s with that stream id represent the same type of (usually time-based) data. For example in many FLV video files, there is a stream with id "0" that contains all video data, and a stream with id "1" that contains all audio data.
You use an {@link IStream} object to get properly configured {@link IStreamCoder} for decoding, and to tell {@link IStreamCoder}s how to encode {@link IPacket}s when decoding.
|
|