Package | org.osmf.net.httpstreaming |
Class | public class DefaultHTTPStreamingSwitchManager |
Inheritance | DefaultHTTPStreamingSwitchManager RuleSwitchManagerBase NetStreamSwitchManagerBase EventDispatcher Object |
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 2.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Related API Elements
org.osmf.net.abr.RuleBase
Property | Defined By | ||
---|---|---|---|
actualIndex : int [read-only]
The index of the currently downloading quality level
| RuleSwitchManagerBase | ||
autoSwitch : Boolean [override] | RuleSwitchManagerBase | ||
climbFactor : Number
A factor to be applied when switching up. | DefaultHTTPStreamingSwitchManager | ||
constructor : Object
A reference to the class object or constructor function for a given object instance. | Object | ||
currentIndex : uint [override] [read-only] | RuleSwitchManagerBase | ||
emergencyRules : Vector.<RuleBase> [read-only]
Array of normal rules to be used in the algorithm. | RuleSwitchManagerBase | ||
maxAllowedIndex : int
The highest stream index that the switching manager is
allowed to switch to. | NetStreamSwitchManagerBase | ||
maxDownSwitchLimit : int
The maximum difference between the indices of the old
and new quality level when switching down. | DefaultHTTPStreamingSwitchManager | ||
maxReliabilityRecordSize : uint
The maximum length of the reliability record (how many switches to remember)
| DefaultHTTPStreamingSwitchManager | ||
maxUpSwitchLimit : int
The maximum difference between the indices of the old
and new quality level when switching up. | DefaultHTTPStreamingSwitchManager | ||
metricRepository : MetricRepository [read-only]
The metric repository responsible with providing the metrics
| RuleSwitchManagerBase | ||
minReliability : Number
The minimum reliability for a quality level to be used. | DefaultHTTPStreamingSwitchManager | ||
minReliabilityRecordSize : uint
The minimum length of the reliability record below which reliability is not an issue
| DefaultHTTPStreamingSwitchManager | ||
normalRules : Vector.<RuleBase> [read-only]
Array of normal rules to be used in the algorithm. | DefaultHTTPStreamingSwitchManager | ||
normalRuleWeights : Vector.<Number>
The weights of the normal rules (their importance in the algorithm).
Valid values must obey the following rules:
same number of weights as there are rules
all rules must be equal or greater than zero
at least one weight must be non-zero
| DefaultHTTPStreamingSwitchManager |
Method | Defined By | ||
---|---|---|---|
DefaultHTTPStreamingSwitchManager(notifier:EventDispatcher, switcher:NetStreamSwitcher, metricRepository:MetricRepository, emergencyRules:Vector.<RuleBase> = null, autoSwitch:Boolean = true, normalRules:Vector.<RuleBase> = null, normalRuleWeights:Vector.<Number> = null, minReliability:Number = 0.85, minReliabilityRecordSize:uint = 5, maxReliabilityRecordSize:uint = 30, climbFactor:Number = 0.9, maxUpSwitchLimit:int = 1, maxDownSwitchLimit:int = 2)
Constructor. | DefaultHTTPStreamingSwitchManager | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener
receives notification of an event. | EventDispatcher | ||
Dispatches an event into the event flow. | EventDispatcher | ||
The current reliability of the specified index. | DefaultHTTPStreamingSwitchManager | ||
[override]
Returns an index that satisfies the maxBitrate constraint
| DefaultHTTPStreamingSwitchManager | ||
[override]
Computes the necessary rules and metrics and determines the index to switch to. | DefaultHTTPStreamingSwitchManager | ||
Checks whether the EventDispatcher object has any listeners registered for a specific type
of event. | EventDispatcher | ||
Indicates whether an object has a specified property defined. | Object | ||
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter. | Object | ||
Indicates whether the specified property exists and is enumerable. | Object | ||
Removes a listener from the EventDispatcher object. | EventDispatcher | ||
Sets the availability of a dynamic property for loop operations. | Object | ||
[override] | RuleSwitchManagerBase | ||
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | ||
Returns the string representation of the specified object. | Object | ||
Returns the primitive value of the specified object. | Object | ||
Checks whether an event listener is registered with this EventDispatcher object or any of
its ancestors for the specified event type. | EventDispatcher |
Method | Defined By | ||
---|---|---|---|
Determines maximum available index whose declared bitrate is smaller than maxBitrate. | DefaultHTTPStreamingSwitchManager | ||
Determines whether an index is reliable.
This is achieved by comparing the index's reliability with the minimumReliability
| DefaultHTTPStreamingSwitchManager | ||
Array of normal rules to be used in the algorithm. | DefaultHTTPStreamingSwitchManager |
climbFactor | property |
climbFactor:Number
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 2.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
A factor to be applied when switching up. For example: currently playing 300kbps; new ideal bitrate = 1000kbps This means that: max bitrate = 300 + climbFactor x (1000 - 300)
It must be equal or greater than 0
Implementation
public function get climbFactor():Number
public function set climbFactor(value:Number):void
Throws
ArgumentError — If it is set to a negative value
|
maxDownSwitchLimit | property |
maxDownSwitchLimit:int
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 2.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
The maximum difference between the indices of the old and new quality level when switching down. Set this to a -1 to disable the constraint.
This works in conjunction with the reliability constraint. If no reliable stream is available inside the maxDownSwitchLimit, no switch will be performed. The maxDownSwitchLimit constraint does not apply to emergency switches.
Implementation
public function get maxDownSwitchLimit():int
public function set maxDownSwitchLimit(value:int):void
maxReliabilityRecordSize | property |
maxReliabilityRecordSize:uint
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 2.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
The maximum length of the reliability record (how many switches to remember)
Implementation
public function get maxReliabilityRecordSize():uint
public function set maxReliabilityRecordSize(value:uint):void
maxUpSwitchLimit | property |
maxUpSwitchLimit:int
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 2.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
The maximum difference between the indices of the old and new quality level when switching up. Set this to a -1 to disable the constraint.
This works in conjunction with the reliability constraint. If no reliable stream is available inside the maxUpSwitchLlimit, no switch will be performed.
Implementation
public function get maxUpSwitchLimit():int
public function set maxUpSwitchLimit(value:int):void
minReliability | property |
minReliability:Number
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 2.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
The minimum reliability for a quality level to be used. This value must be a number in the [0-1] interval (inclusive)
Implementation
public function get minReliability():Number
public function set minReliability(value:Number):void
Throws
ArgumentError — If it is set to an invalid value
|
minReliabilityRecordSize | property |
minReliabilityRecordSize:uint
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 2.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
The minimum length of the reliability record below which reliability is not an issue
Implementation
public function get minReliabilityRecordSize():uint
public function set minReliabilityRecordSize(value:uint):void
normalRules | property |
normalRules:Vector.<RuleBase>
[read-only] Language Version: | ActionScript 3.0 |
Product Version: | OSMF 2.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Array of normal rules to be used in the algorithm. A normal rule can recommend both lower and higher bitrates than the current one
Implementation
public function get normalRules():Vector.<RuleBase>
normalRuleWeights | property |
normalRuleWeights:Vector.<Number>
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 2.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
The weights of the normal rules (their importance in the algorithm). Valid values must obey the following rules:
- same number of weights as there are rules
- all rules must be equal or greater than zero
- at least one weight must be non-zero
Implementation
public function get normalRuleWeights():Vector.<Number>
public function set normalRuleWeights(value:Vector.<Number>):void
Throws
ArgumentError — If the weights are not valid,
by breaking at least one of the above criteria
|
DefaultHTTPStreamingSwitchManager | () | Constructor |
public function DefaultHTTPStreamingSwitchManager(notifier:EventDispatcher, switcher:NetStreamSwitcher, metricRepository:MetricRepository, emergencyRules:Vector.<RuleBase> = null, autoSwitch:Boolean = true, normalRules:Vector.<RuleBase> = null, normalRuleWeights:Vector.<Number> = null, minReliability:Number = 0.85, minReliabilityRecordSize:uint = 5, maxReliabilityRecordSize:uint = 30, climbFactor:Number = 0.9, maxUpSwitchLimit:int = 1, maxDownSwitchLimit:int = 2)
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 2.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Constructor.
Parametersnotifier:EventDispatcher — An object that dispatches the HTTPStreamingEvent.RUN_ALGORITHM event
| |
switcher:NetStreamSwitcher — The NetStreamSwitcher to use for switching
| |
metricRepository:MetricRepository — The repository responsible with providing metrics
| |
emergencyRules:Vector.<RuleBase> (default = null ) — Array of rules to be used in the algorithm.
An emergency rule can only recommend lower bitrates than the current one.
| |
autoSwitch:Boolean (default = true ) — Flag deciding whether autoSwitch should be enabled
| |
normalRules:Vector.<RuleBase> (default = null ) — Array of normal rules to be used in the algorithm.
A normal rule can recommend both lower and higher bitrates than the current one.
| |
normalRuleWeights:Vector.<Number> (default = null ) — The weights of the normal rules (their importance in the algorithm)
| |
minReliability:Number (default = 0.85 ) — The minimum reliability for a quality level to be used
| |
minReliabilityRecordSize:uint (default = 5 ) — The maximum length of the reliability record (how many switches to remember)
| |
maxReliabilityRecordSize:uint (default = 30 ) — The minimum length of the reliability record below which reliability is not an issue
| |
climbFactor:Number (default = 0.9 ) — A factor to be applied when switching up. For example:
currently playing 300kbps; new ideal bitrate = 1000kbps
This means that: max bitrate = 300 + climbFactor x (1000 - 300)
| |
maxUpSwitchLimit:int (default = 1 ) — The maximum difference between the indices of the old and new quality level when switching up.
Set this to -1 to disable the constraint.
This works in conjunction with the reliability constraint. If no reliable stream is available inside the
maxUpSwitchLimit, no switch will be performed.
| |
maxDownSwitchLimit:int (default = 2 ) — The maximum difference between the indices of the old and new quality level when switching down.
Set this to -1 value to disable the constraint.
This works in conjunction with the reliability constraint. If no reliable stream is available inside the
maxDownSwitchLimit, no switch will be performed. The maxDownSwitchLimit constraint does not apply to
emergency switches.
|
getCurrentReliability | () | method |
public function getCurrentReliability(index:uint):Number
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 2.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
The current reliability of the specified index.
Parameters
index:uint |
Number — A number between 0 (most unreliable) and 1 (most reliable)
|
getMaxIndex | () | method |
protected function getMaxIndex(maxBitrate:Number, emergencyFlag:Boolean = false):uint
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 2.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Determines maximum available index whose declared bitrate is smaller than maxBitrate.
Only reliable indices (indices that pass the isReliable()
function) are taken into consideration.
Parameters
maxBitrate:Number — The maximum bitrate to which the index must comply
| |
emergencyFlag:Boolean (default = false )
|
uint — The index satisfying the aforementioned condition
|
Related API Elements
getNewEmergencyIndex | () | method |
getNewIndex | () | method |
isReliable | () | method |
protected function isReliable(index:uint):Boolean
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 2.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Determines whether an index is reliable. This is achieved by comparing the index's reliability with the minimumReliability
Parameters
index:uint |
Boolean |
Related API Elements
setNormalRules | () | method |
protected function setNormalRules(value:Vector.<RuleBase>):void
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 2.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Array of normal rules to be used in the algorithm. A normal rule can recommend both lower and higher bitrates than the current one.
Parameters
value:Vector.<RuleBase> |
Related API Elements
Wed Nov 21 2018, 06:34 AM -08:00