The Extended Stream Properties Object defines additional optional properties and characteristics of a digital media stream that are not described in the Stream Properties Object.
Typically, the basic Stream Properties Object is present in the Header Object, and the Extended Stream Properties Object is present in the Header Extension Object. Sometimes, however, the Stream Properties Object for a stream may be embedded inside the Extended Stream Properties Object for that stream. This approach facilitates the creation of backward-compatible content.
This object has an optional provision to include application-specific or implementation-specific data attached to the payloads of each digital media sample stored within a Data Packet. This data can be looked at as digital media sample properties and is stored in the Replicated Data field of a payload header. The Payload Extension Systems fields of the Extended Stream Properties Object describes what this data is and is necessary for that data to be parsed, if present.
Located in /ASF/Object/ExtendedStreamProperties.php (line 69)
ASF_Object | --ASF_Object_ExtendedStreamProperties
Constructs the class with given parameters and reads object related data from the ASF file.
Returns the size BAlt, in milliseconds, of the leaky bucket used in the
Alternate Data Bitrate definition. This value is relevant in most scenarios where the bit rate is not exactly constant, but it is especially useful for streams that have highly variable bit rates. This field can optionally be set to the same value as the Buffer Size field.
Returns the leak rate RAlt, in bits per second, of a leaky bucket that
contains the data portion of the stream without overflowing, excluding all ASF Data Packet overhead. The size of the leaky bucket is specified by the value of the Alternate Buffer Size field. This value is relevant in most scenarios where the bit rate is not exactly constant, but it is especially useful for streams that have highly variable bit rates. This field can optionally be set to the same value as the Data Bitrate field.
Returns the initial fullness, in milliseconds, of the leaky bucket used in
the Alternate Data Bitrate definition. This is the fullness of the buffer at the instant before the first bit in the stream is dumped into the bucket. Typically, this value is set to 0. This value does not exceed the value of the Alternate Buffer Size field.
Returns the average time duration, measured in 100-nanosecond units, of each frame. This number should be rounded to the nearest integer. This field can optionally be set to 0 if the average time per frame is unknown or unimportant. It is recommended that this field be set for video.
Returns the size B, in milliseconds, of the leaky bucket used in the Data Bitrate definition.
Returns the leak rate R, in bits per second, of a leaky bucket that contains the data portion of the stream without overflowing, excluding all ASF Data Packet overhead. The size of the leaky bucket is specified by the value of the Buffer Size field. This field has a non-zero value.
Returns the presentation time of the last object plus the duration of play,
indicating where this digital media stream ends within the context of the timeline of the ASF file as a whole. This time value corresponds to presentation times as they appear in the data packets (adjusted by the preroll). This field is given in units of milliseconds and can optionally be set to 0, in which case it will be ignored.
Returns the initial fullness, in milliseconds, of the leaky bucket used in the Data Bitrate definition. This is the fullness of the buffer at the instant before the first bit in the stream is dumped into the bucket.
Typically, this value is set to 0. This value shall not exceed the value in the Buffer Size field.
Returns the maximum size of the largest sample stored in the data packets for a stream. A value of 0 means unknown.
Returns an array of payload extension systems. Payload extensions provide a
way for content creators to specify kinds of data that will appear in the payload header for every payload from this stream. This system is used when stream properties must be conveyed at the media object level. The Replicated Data bytes in the payload header will contain these properties in the order in which the Payload Extension Systems appear in this object. A Payload Extension System must appear in the Extended Stream Properties Object for each type of per-media-object properties that will appear with the payloads for this stream.
The array contains the following keys:
Returns the presentation time of the first object, indicating where this
digital media stream starts within the context of the timeline of the ASF file as a whole. This time value corresponds to presentation times as they appear in the data packets (adjusted by the preroll). This field is given in units of milliseconds and can optionally be set to 0, in which case it will be ignored.
Returns the language, if any, which the content of the stream uses or
assumes. Refer to the LanguageList description for the details concerning how the Stream Language Index and Language Index fields should be used. Note that this is an index into the languages listed in the Language List Object rather than a language identifier.
Returns an array of Stream Names. Each stream name instance is potentially localized into a specific language. The Language Index field indicates the language in which the Stream Name has been written.
The array contains the following keys:
Returns the number of this stream. 0 is an invalid stream number (that is, other Header Objects use stream number 0 to refer to the entire file as a whole rather than to a specific media stream within the file). Valid values are between 1 and 127.
Inherited From ASF_Object
ASF_Object::__construct()
ASF_Object::getIdentifier()
ASF_Object::getOffset()
ASF_Object::getOption()
ASF_Object::getOptions()
ASF_Object::getParent()
ASF_Object::getSize()
ASF_Object::setIdentifier()
ASF_Object::setOffset()
ASF_Object::setOption()
ASF_Object::setOptions()
ASF_Object::setParent()
ASF_Object::setSize()
ASF_Object::__get()
ASF_Object::__set()
Indicates, if set, that the stream does not contain any cleanpoints. A cleanpoint is any point at which playback could begin without having seen the previous media objects. For streams that use key frames, the key frames would be the cleanpoints.
Indicates, if set, that this digital media stream, if sent over a network, must be carried over a reliable data communications transport mechanism.
This should be set for streams that cannot recover after a lost media object.
Specifies, if set, that when a stream is joined in mid-transmission, all
information from the most recent cleanpoint up to the current time should be sent before normal streaming begins at the current time. The default behavior (when this flag is not set) is to send only the data starting at the current time. This flag should only be set for streams that are coming from a live source.
This flag should be set only if the stream is seekable, either by using an index object or by estimating according to bit rate (as can sometimes be done with audio). This flag pertains to this stream only rather than to the entire file.
Documentation generated on Fri, 05 Sep 2008 20:18:39 +0300 by phpDocumentor 1.4.1