|  | libgpac
    Documentation of the core library of GPAC | 
DASH and HLS user-defined rate adaptation algorithms. More...
 Collaboration diagram for DASHAlgorithm interface:
 Collaboration diagram for DASHAlgorithm interface:| Data Structures | |
| interface | _DASHCustomAlgorithm | 
| interface | _DASHGroup | 
| interface | _DASHQualityInfo | 
| interface | _DASHSegmentInfo | 
| interface | _DASHGroupStatistics | 
| interface | _DASHSRD | 
DASH and HLS user-defined rate adaptation algorithms.
The DASH demuxer can be provided with a custom JS algorithm, provided as an object implementing the DASHAlgorithm interface.
When running the session in multithreaded mode, the dash demuxer will always be scheduled on the main thread if a custom algorithm is bound.
| interface _DASHGroup | 
interface for custom DASH groups
 Collaboration diagram for _DASHGroup:
 Collaboration diagram for _DASHGroup:| Data Fields | ||
|---|---|---|
| attribute readonly | idx | Index of group, as used in callbacks | 
| attribute readonly Array | qualities | List of _DASHQualityInfo for group | 
| attribute readonly unsigned long | duration | period duration in milliseconds, 0 if unknown | 
| _DASHSRD | SRD | SRD object or null if no SRD defined | 
| interface _DASHQualityInfo | 
interface for custom DASH groups
| Data Fields | ||
|---|---|---|
| attribute readonly unsigned long | bandwidth | bandwidth in bits per second | 
| attribute readonly DOMString | ID | ID (representation ID in DASH) | 
| attribute readonly DOMString | mime | MIME type | 
| attribute readonly DOMString | codec | codec parameter string | 
| attribute readonly unsigned long | width | width in pixels, 0 if not visual | 
| attribute readonly unsigned long | height | height in pixels, 0 if not visual | 
| attribute readonly boolean | interlaced | interlaced flag, false 0 if not visual | 
| attribute readonly _Fraction | fps | Frame Rate (Fraction), 0/0 if not visual | 
| attribute readonly _Fraction | sar | Sample Aspect Ration (Fraction), 0/0 if not visual | 
| attribute readonly unsigned long | sample_rate | Samplerate, 0 if not audio | 
| attribute readonly unsigned long | nb_channels | Number of channels, 0 if not audio | 
| attribute readonly disabled | disabled | set to true if quality is disabled (no playback support) | 
| attribute readonly boolean | is_selected | set to true if quality is selected | 
| attribute readonly double | ast_offset | AST offset for DASH low latency mode, 0 otherwise | 
| attribute readonly double | avg_duration | Average segment duration in seconds, 0 if unknown | 
| attribute readonly Array | sizes | list of segment _DASHSegmentInfo for onDemand profiles or empty otherwise | 
| interface _DASHSegmentInfo | 
| interface _DASHGroupStatistics | 
statistics for rate adaptation
statistics for download monitoring
| interface _DASHSRD | 
Spacial Relationship Descriptor for DASH group