AVBlocks for .NET  3.0
Audio and Video Software Development Kit
StreamInfo Class Reference

Provides properties and operations that are common for all elementary streams. More...

Inheritance diagram for StreamInfo:
AudioStreamInfo DataStreamInfo VideoStreamInfo

Public Member Functions

virtual object Clone ()
 Creates a deep copy of this object.
 
virtual void Reset ()
 Resets the stream information to its default state.
 

Properties

int Bitrate [get, set]
 The stream bitrate expressed in bits per second.
 
BitrateMode BitrateMode [get, set]
 The stream bitrate mode.
 
double Duration [get, set]
 The stream duration in seconds.
 
int ID [get, set]
 The ID of the elementary stream.
 
virtual bool Immutable [get, protected set]
 Returns whether the object is immutable.
 
MediaType MediaType [get]
 Media type.
 
int ProgramNumber [get, set]
 The number of the program to which the elementary stream belongs.
 
StreamSubType StreamSubType [get, set]
 The stream subtype.
 
StreamType StreamType [get, set]
 The stream type.
 

Detailed Description

Provides properties and operations that are common for all elementary streams.

AudioStreamInfo and VideoStreamInfo inherit from this class.

See also
AudioStreamInfo, VideoStreamInfo

Member Function Documentation

◆ Clone()

virtual object Clone ( )
virtual

Creates a deep copy of this object.

Returns
A new StreamInfo object that has the same dynamic type as the cloned object.

When the object is cloned the full underlying object is copied.
For example if a StreamInfo object is actually an instance of AudioStreamInfo and is cloned, the new object is also an instance of AudioStreamInfo.

Referenced by MediaPin.Clone(), and MediaSocket.FromMediaInfo().

◆ Reset()

virtual void Reset ( )
virtual

Resets the stream information to its default state.

The full underlying object is reset. The media type of the stream is not changed.

Reimplemented in AudioStreamInfo, and VideoStreamInfo.

References StreamInfo.Immutable.

Property Documentation

◆ Immutable

virtual bool Immutable
getprotected set

Returns whether the object is immutable.

An immmutable object cannot be modified and all modifying methods fail to produce a result.

An immutable object can be modified by the AVBlocks library.

Object immutability spreads to all nested objects. Therefore it is not possible to add/set an immutable object to a mutable object.

When cloned an immutable object becomes mutable.

Referenced by AudioStreamInfo.Reset(), StreamInfo.Reset(), and VideoStreamInfo.Reset().

◆ MediaType

Media type.

The media type of a StreamInfo object cannot be changed.

If the media type is MediaType.Audio this StreamInfo object can be safely cast to AudioStreamInfo.

If the media type is MediaType.Video this StreamInfo object can be safely cast to VideoStreamInfo.

◆ ProgramNumber

int ProgramNumber
getset

The number of the program to which the elementary stream belongs.

If the elementary stream is shared by 2 or more programs this property will return the last parsed program that uses this stream.