ClintHeyer.Media
Structure AviFile.AVIStreamHeader

Header information for a single stream of an file. It is contained within an 'strh' chunk within a LIST 'strl' chunk that is itself contained within the LIST 'hdrl' chunk at the beginning of an AVI RIFF file.

Field Summary
string FccHandler
         Four-character code describing the installable compressor or decompressor used with the data.
string FccType
int Flags
         Any flags for the data stream. The AVISF_DISABLED flag indicates that the stream data should be rendered only when explicitly enabled by the user. The AVISF_VIDEO_PALCHANGES flag indicates palette changes are embedded in the file.
int InitialFrames
         Specifies how far audio data is skewed ahead of the video frames in interleaved files. Typically, this is about 0.75 seconds.
int Length
         Specifies the length of this stream. The units are defined by the dwRate and dwScale fields of the stream’s header.
int Quality
         Specifies an indicator of the quality of the data in the stream. Quality is represented as a number between 0 and 10000. For compressed data, this typically represent the value of the quality parameter passed to the compression software. If set to -1, drivers use the default quality value.
int Rate
         Used together with dwRate to specify the time scale that this stream will use. Dividing dwRate by dwScale gives the number of samples per second. For video streams, this rate should be the frame rate. For audio streams, this rate should correspond to the time needed for nBlockAlign bytes of audio, which for PCM audio simply reduces to the sample rate.
int Reserved1
int SampleSize
         Specifies the size of a single sample of data. This is set to zero if the samples can vary in size. If this number is non-zero, then multiple samples of data can be grouped into a single chunk within the file. If it is zero, each sample of data (such as a video frame) must be in a separate chunk. For video streams, this number is typically zero, although it can be non-zero if all video frames are the same size. For audio streams, this number should be the same as the nBlockAlign field of the WAVEFORMAT structure describing the audio.
int Scale
         Used together with dwRate to specify the time scale that this stream will use. Dividing dwRate by dwScale gives the number of samples per second. For video streams, this rate should be the frame rate. For audio streams, this rate should correspond to the time needed for nBlockAlign bytes of audio, which for PCM audio simply reduces to the sample rate.
int Start
         Specifies the starting time of the AVI file. The units are defined by the dwRate and dwScale fields in the main file header. Normally, this is zero, but it can specify a delay time for a stream which does not start concurrently with the file.
int SuggestedBufferSize
         Suggests how large a buffer should be used to read this stream. Typically, this contains a value corresponding to the largest chunk present in the stream. Using the correct buffer size makes playback more efficient. Use zero if you do not know the correct buffer size.

Constructor Summary
AviFile.AVIStreamHeader(System.IO.Stream stream)

Method Summary
string ToString()

Methods inherited from class System.ValueType
Equals, GetHashCode

Methods inherited from class System.Object
Finalize, GetType, MemberwiseClone


Field Detail

FccHandler

public string FccHandler

Four-character code describing the installable compressor or decompressor used with the data.


FccType

public string FccType


Flags

public int Flags

Any flags for the data stream. The AVISF_DISABLED flag indicates that the stream data should be rendered only when explicitly enabled by the user. The AVISF_VIDEO_PALCHANGES flag indicates palette changes are embedded in the file.


InitialFrames

public int InitialFrames

Specifies how far audio data is skewed ahead of the video frames in interleaved files. Typically, this is about 0.75 seconds.


Length

public int Length

Specifies the length of this stream. The units are defined by the dwRate and dwScale fields of the stream’s header.


Quality

public int Quality

Specifies an indicator of the quality of the data in the stream. Quality is represented as a number between 0 and 10000. For compressed data, this typically represent the value of the quality parameter passed to the compression software. If set to -1, drivers use the default quality value.


Rate

public int Rate

Used together with dwRate to specify the time scale that this stream will use. Dividing dwRate by dwScale gives the number of samples per second. For video streams, this rate should be the frame rate. For audio streams, this rate should correspond to the time needed for nBlockAlign bytes of audio, which for PCM audio simply reduces to the sample rate.


Reserved1

public int Reserved1


SampleSize

public int SampleSize

Specifies the size of a single sample of data. This is set to zero if the samples can vary in size. If this number is non-zero, then multiple samples of data can be grouped into a single chunk within the file. If it is zero, each sample of data (such as a video frame) must be in a separate chunk. For video streams, this number is typically zero, although it can be non-zero if all video frames are the same size. For audio streams, this number should be the same as the nBlockAlign field of the WAVEFORMAT structure describing the audio.


Scale

public int Scale

Used together with dwRate to specify the time scale that this stream will use. Dividing dwRate by dwScale gives the number of samples per second. For video streams, this rate should be the frame rate. For audio streams, this rate should correspond to the time needed for nBlockAlign bytes of audio, which for PCM audio simply reduces to the sample rate.


Start

public int Start

Specifies the starting time of the AVI file. The units are defined by the dwRate and dwScale fields in the main file header. Normally, this is zero, but it can specify a delay time for a stream which does not start concurrently with the file.


SuggestedBufferSize

public int SuggestedBufferSize

Suggests how large a buffer should be used to read this stream. Typically, this contains a value corresponding to the largest chunk present in the stream. Using the correct buffer size makes playback more efficient. Use zero if you do not know the correct buffer size.

Constructor Detail

AviFile.AVIStreamHeader

public AviFile.AVIStreamHeader(System.IO.Stream stream)

Method Detail

ToString

public string ToString()