@@ -415,6 +415,8 @@ declare namespace dashjs {
415415
416416 getCodec ( adaptation : object , representationIndex : number , addResolutionInfo : boolean ) : string ;
417417
418+ getCodecForPreselection ( preselection : Preselection , adaptations : AdaptationSet [ ] , addResolutionInfo : boolean ) : string ;
419+
418420 getContentProtectionByAdaptation ( adaptation : object ) : any ;
419421
420422 getContentProtectionByManifest ( manifest : object ) : any [ ] ;
@@ -427,7 +429,7 @@ declare namespace dashjs {
427429
428430 getEndTimeForLastPeriod ( voPeriod : Period ) : number ;
429431
430- getEssentialPropertiesForRepresentation ( realRepresentation : object ) : { schemeIdUri : string , value : string }
432+ getEssentialProperties ( element : object ) : DescriptorType | [ ] ;
431433
432434 getEventStreamForAdaptationSet ( manifest : object , adaptation : object ) : EventStream [ ] ;
433435
@@ -467,12 +469,22 @@ declare namespace dashjs {
467469
468470 getLoction ( manifest : object ) : MpdLocation | [ ] ;
469471
472+ getMainAdaptationSetForPreselection ( preselection : Preselection , adaptations : AdaptationSet [ ] ) : AdaptationSet | undefined ;
473+
474+ getCommonRepresentationForPreselection ( preselection : Preselection , adaptations : AdaptationSet [ ] ) : Representation | undefined ;
475+
470476 getManifestUpdatePeriod ( manifest : object , latencyOfLastUpdate ?: number ) : number ;
471477
472478 getMimeType ( adaptation : object ) : object ;
473479
474480 getMpd ( manifest : object ) : Mpd ;
475481
482+ getPatchLocation ( manifest : object ) : PatchLocation [ ] ;
483+
484+ getPreselectionIsTypeOf ( preselection : Preselection , adaptations : AdaptationSet [ ] , type : MediaType ) : boolean ;
485+
486+ getPreselectionsForPeriod ( voPeriod : object ) : Preselection [ ] ;
487+
476488 getPeriodId ( realPeriod : Period , i : number ) : string ;
477489
478490 getProducerReferenceTimesForAdaptation ( adaptation : object ) : any [ ] ;
@@ -509,9 +521,7 @@ declare namespace dashjs {
509521
510522 getSuggestedPresentationDelay ( mpd : Mpd ) : any ;
511523
512- getSupplementalPropertiesForAdaptation ( adaptation : object ) : DescriptorType | [ ] ;
513-
514- getSupplementalPropertiesForRepresentation ( representation : Representation ) : DescriptorType | [ ] ;
524+ getSupplementalProperties ( element : object ) : DescriptorType | [ ] ;
515525
516526 getUTCTimingSources ( manifest : object ) : any [ ] ;
517527
@@ -672,6 +682,7 @@ declare namespace dashjs {
672682
673683 export class AdaptationSet {
674684 period : Period | null ;
685+ id : string | null ;
675686 index : number ;
676687 type : string | null ;
677688 }
@@ -879,6 +890,7 @@ declare namespace dashjs {
879890 index : number | null ;
880891 isEmbedded : any | null ;
881892 isFragmented : any | null ;
893+ isPreselection : boolean ;
882894 isText : boolean ;
883895 labels : { text : string , lang ?: string } [ ] ;
884896 lang : string | null ;
@@ -944,6 +956,16 @@ declare namespace dashjs {
944956 start : number ;
945957 }
946958
959+ export interface Preselection {
960+ period : Period | null ;
961+ index : number ;
962+ id : string | null ;
963+ order : string | null ;
964+ preselectionComponents : any [ ] ;
965+ tag : string | null ;
966+ type : string | null ;
967+ }
968+
947969 export interface ProducerReferenceTime {
948970 UTCTiming : any ;
949971 applicationSchme : any ;
@@ -1056,13 +1078,15 @@ declare namespace dashjs {
10561078
10571079 getCodec ( adaptation : object , representationIndex : number , addResolutionInfo : boolean ) : string ;
10581080
1081+ getCodecForPreselection ( preselection : Preselection , adaptations : AdaptationSet [ ] ) : string ;
1082+
1083+ getCommonRepresentationForPreselection ( preselection : Preselection , adaptations : AdaptationSet [ ] ) : Representation | null ;
1084+
10591085 getContentSteering ( manifest : object ) : object ;
10601086
10611087 getDuration ( externalManifest ?: object ) : number ;
10621088
1063- getEssentialPropertiesAdaptationSet ( adaptationSet : AdaptationSet ) : object | [ ] ;
1064-
1065- getEssentialPropertiesForRepresentation ( representation : Representation ) : any [ ] ;
1089+ getEssentialProperties ( element : AdaptationSet | Representation | Preselection ) : DescriptorType | [ ] ;
10661090
10671091 getEvent ( eventBox : object , eventStreams : object , mediaStartTime : number , voRepresentation : object ) : null | Event ;
10681092
@@ -1086,6 +1110,10 @@ declare namespace dashjs {
10861110
10871111 getLocation ( manifest : object ) : MpdLocation [ ] ;
10881112
1113+ getMainAdaptationForType ( type : string , streamInfo : object ) : object ;
1114+
1115+ getMainAdaptationSetForPreselection ( preselection : Preselection , adaptations : AdaptationSet [ ] ) : AdaptationSet | undefined ;
1116+
10891117 getManifestUpdatePeriod ( manifest : object , latencyOfLastUpdate ?: number ) : number ;
10901118
10911119 getMediaInfoForType ( streamInfo : object , type : MediaType ) : MediaInfo | null ;
@@ -1096,6 +1124,8 @@ declare namespace dashjs {
10961124
10971125 getPeriodById ( id : string ) : Period | null ;
10981126
1127+ getPreselectionIsTypeOf ( preselection : Preselection , adaptations : AdaptationSet [ ] , type : MediaType ) : boolean ;
1128+
10991129 getProducerReferenceTime ( streamInfo : StreamInfo , mediaInfo : MediaInfo ) : object | [ ] ;
11001130
11011131 getPublishTime ( manifest : object ) : number | null ;
@@ -1112,7 +1142,7 @@ declare namespace dashjs {
11121142
11131143 getSuggestedPresentationDelay ( ) : string ;
11141144
1115- getSupplementalCodex ( representation : Representation ) : Array < any > ;
1145+ getSupplementalCodecs ( representation : Representation ) : Array < any > ;
11161146
11171147 getUTCTimingSources ( ) : any [ ] ;
11181148
@@ -1771,6 +1801,8 @@ declare namespace dashjs {
17711801 video ?: TrackSwitchMode ;
17721802 audio ?: TrackSwitchMode ;
17731803 } ;
1804+ includePreselectionsInMediainfo ?: boolean ;
1805+ includePreselectionsForInitialTrackSelection ?: boolean ;
17741806 ignoreSelectionPriority ?: boolean ;
17751807 prioritizeRoleMain ?: boolean ;
17761808 assumeDefaultRoleAsMain ?: boolean ;
0 commit comments