@@ -6210,15 +6210,19 @@ describe('HlsParser', () => {
62106210 '#EXTM3U\n' ,
62116211 '#EXT-X-CONTENT-STEERING:SERVER-URI="http://contentsteering",' ,
62126212 'PATHWAY-ID="a"\n' ,
6213+ '#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subsA",LANGUAGE="eng",' ,
6214+ 'NAME="English",PATHWAY-ID="a",URI="subs/a/media.m3u8"\n' ,
6215+ '#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subsB",LANGUAGE="eng",' ,
6216+ 'NAME="English",PATHWAY-ID="b",URI="subs/b/media.m3u8"\n' ,
62136217 '#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="a",LANGUAGE="eng",' ,
62146218 'URI="audio/a/media.m3u8"\n' ,
62156219 '#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="b",LANGUAGE="eng",' ,
62166220 'URI="audio/b/media.m3u8"\n' ,
62176221 '#EXT-X-STREAM-INF:BANDWIDTH=200,CODECS="avc,mp4a",' ,
6218- 'AUDIO="a",PATHWAY-ID="a",CLOSED-CAPTIONS=NONE\n' ,
6222+ 'AUDIO="a",PATHWAY-ID="a",CLOSED-CAPTIONS=NONE,SUBTITLES="subsA" \n' ,
62196223 'a/media.m3u8\n' ,
62206224 '#EXT-X-STREAM-INF:BANDWIDTH=200,CODECS="avc,mp4a",' ,
6221- 'AUDIO="b",PATHWAY-ID="b",CLOSED-CAPTIONS=NONE\n' ,
6225+ 'AUDIO="b",PATHWAY-ID="b",CLOSED-CAPTIONS=NONE,SUBTITLES="subsB" \n' ,
62226226 'b/media.m3u8' ,
62236227 ] . join ( '' ) ;
62246228
@@ -6248,6 +6252,8 @@ describe('HlsParser', () => {
62486252 . setResponseText ( 'http://master/b/media.m3u8' , media )
62496253 . setResponseText ( 'http://master/audio/a/media.m3u8' , media )
62506254 . setResponseText ( 'http://master/audio/b/media.m3u8' , media )
6255+ . setResponseText ( 'http://master/subs/a/media.m3u8' , media )
6256+ . setResponseText ( 'http://master/subs/b/media.m3u8' , media )
62516257 . setMaxUris ( 2 ) ;
62526258
62536259 /** @type {shaka.extern.Manifest } */
@@ -6273,6 +6279,17 @@ describe('HlsParser', () => {
62736279
62746280 expect ( videoUri0 ) . toBe ( 'http://master/b/main.mp4' ) ;
62756281 expect ( videoUri1 ) . toBe ( 'http://master/a/main.mp4' ) ;
6282+
6283+ expect ( manifest . textStreams . length ) . toBe ( 1 ) ;
6284+ const text = manifest . textStreams [ 0 ] ;
6285+ await text . createSegmentIndex ( ) ;
6286+ goog . asserts . assert ( text . segmentIndex , 'Null segmentIndex!' ) ;
6287+ const textSegment0 = Array . from ( text . segmentIndex ) [ 0 ] ;
6288+ const textUri0 = textSegment0 . getUris ( ) [ 0 ] ;
6289+ const textUri1 = textSegment0 . getUris ( ) [ 1 ] ;
6290+
6291+ expect ( textUri0 ) . toBe ( 'http://master/subs/b/main.mp4' ) ;
6292+ expect ( textUri1 ) . toBe ( 'http://master/subs/a/main.mp4' ) ;
62766293 } ) ;
62776294
62786295 describe ( 'EXT-X-DATERANGE' , ( ) => {
0 commit comments