@@ -6011,15 +6011,19 @@ describe('HlsParser', () => {
60116011 '#EXTM3U\n' ,
60126012 '#EXT-X-CONTENT-STEERING:SERVER-URI="http://contentsteering",' ,
60136013 'PATHWAY-ID="a"\n' ,
6014+ '#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subsA",LANGUAGE="eng",' ,
6015+ 'NAME="English",PATHWAY-ID="a",URI="subs/a/media.m3u8"\n' ,
6016+ '#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subsB",LANGUAGE="eng",' ,
6017+ 'NAME="English",PATHWAY-ID="b",URI="subs/b/media.m3u8"\n' ,
60146018 '#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="a",LANGUAGE="eng",' ,
60156019 'URI="audio/a/media.m3u8"\n' ,
60166020 '#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="b",LANGUAGE="eng",' ,
60176021 'URI="audio/b/media.m3u8"\n' ,
60186022 '#EXT-X-STREAM-INF:BANDWIDTH=200,CODECS="avc,mp4a",' ,
6019- 'AUDIO="a",PATHWAY-ID="a",CLOSED-CAPTIONS=NONE\n' ,
6023+ 'AUDIO="a",PATHWAY-ID="a",CLOSED-CAPTIONS=NONE,SUBTITLES="subsA" \n' ,
60206024 'a/media.m3u8\n' ,
60216025 '#EXT-X-STREAM-INF:BANDWIDTH=200,CODECS="avc,mp4a",' ,
6022- 'AUDIO="b",PATHWAY-ID="b",CLOSED-CAPTIONS=NONE\n' ,
6026+ 'AUDIO="b",PATHWAY-ID="b",CLOSED-CAPTIONS=NONE,SUBTITLES="subsB" \n' ,
60236027 'b/media.m3u8' ,
60246028 ] . join ( '' ) ;
60256029
@@ -6049,6 +6053,8 @@ describe('HlsParser', () => {
60496053 . setResponseText ( 'http://master/b/media.m3u8' , media )
60506054 . setResponseText ( 'http://master/audio/a/media.m3u8' , media )
60516055 . setResponseText ( 'http://master/audio/b/media.m3u8' , media )
6056+ . setResponseText ( 'http://master/subs/a/media.m3u8' , media )
6057+ . setResponseText ( 'http://master/subs/b/media.m3u8' , media )
60526058 . setMaxUris ( 2 ) ;
60536059
60546060 /** @type {shaka.extern.Manifest } */
@@ -6074,6 +6080,17 @@ describe('HlsParser', () => {
60746080
60756081 expect ( videoUri0 ) . toBe ( 'http://master/b/main.mp4' ) ;
60766082 expect ( videoUri1 ) . toBe ( 'http://master/a/main.mp4' ) ;
6083+
6084+ expect ( manifest . textStreams . length ) . toBe ( 1 ) ;
6085+ const text = manifest . textStreams [ 0 ] ;
6086+ await text . createSegmentIndex ( ) ;
6087+ goog . asserts . assert ( text . segmentIndex , 'Null segmentIndex!' ) ;
6088+ const textSegment0 = Array . from ( text . segmentIndex ) [ 0 ] ;
6089+ const textUri0 = textSegment0 . getUris ( ) [ 0 ] ;
6090+ const textUri1 = textSegment0 . getUris ( ) [ 1 ] ;
6091+
6092+ expect ( textUri0 ) . toBe ( 'http://master/subs/b/main.mp4' ) ;
6093+ expect ( textUri1 ) . toBe ( 'http://master/subs/a/main.mp4' ) ;
60776094 } ) ;
60786095
60796096 describe ( 'EXT-X-DATERANGE' , ( ) => {
0 commit comments