diff --git a/demo/common/assets.js b/demo/common/assets.js index 35537d7372..c2d0563b77 100644 --- a/demo/common/assets.js +++ b/demo/common/assets.js @@ -149,6 +149,9 @@ shakaAssets.Feature = { // Set if the asset has LCEVC. LCEVC: shakaDemo.MessageIds.LCEVC, + + // Set if the asset has Low Latency mode. + LOW_LATENCY_STREAM: shakaDemo.MessageIds.LOW_LATENCY_STREAM, }; @@ -829,7 +832,13 @@ shakaAssets.testAssets = [ /* source= */ shakaAssets.Source.SHAKA) .addFeature(shakaAssets.Feature.DASH) .addFeature(shakaAssets.Feature.LIVE) - .addFeature(shakaAssets.Feature.MP4), + .addFeature(shakaAssets.Feature.MP4) + .addFeature(shakaAssets.Feature.LOW_LATENCY_STREAM) + .setExtraConfig({ + streaming: { + lowLatencyMode: true, + }, + }), new ShakaDemoAssetInfo( /* name= */ 'DASH-IF CEA-608 VOD', /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/dash_if_test_pattern.png', @@ -854,7 +863,13 @@ shakaAssets.testAssets = [ /* source= */ shakaAssets.Source.DASH_IF) .addFeature(shakaAssets.Feature.DASH) .addFeature(shakaAssets.Feature.LIVE) - .addFeature(shakaAssets.Feature.MP4), + .addFeature(shakaAssets.Feature.MP4) + .addFeature(shakaAssets.Feature.LOW_LATENCY_STREAM) + .setExtraConfig({ + streaming: { + lowLatencyMode: true, + }, + }), new ShakaDemoAssetInfo( /* name= */ 'DASH-IF THUMBNAILS - Single adaptation set, 7 tiles at 10x1, each thumb 320x180', /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/dash_if_test_pattern.png', @@ -1241,7 +1256,13 @@ shakaAssets.testAssets = [ /* source= */ shakaAssets.Source.APPLE) .addFeature(shakaAssets.Feature.HLS) .addFeature(shakaAssets.Feature.LIVE) - .addFeature(shakaAssets.Feature.MP4), + .addFeature(shakaAssets.Feature.MP4) + .addFeature(shakaAssets.Feature.LOW_LATENCY_STREAM) + .setExtraConfig({ + streaming: { + lowLatencyMode: true, + }, + }), new ShakaDemoAssetInfo( /* name= */ 'Audio only HLS with raw AAC', /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/apple_test_pattern.png', diff --git a/demo/common/message_ids.js b/demo/common/message_ids.js index d27a87e846..4cb79b17ab 100644 --- a/demo/common/message_ids.js +++ b/demo/common/message_ids.js @@ -33,6 +33,7 @@ shakaDemo.MessageIds = { VOD: 'DEMO_VOD', WEBM: 'DEMO_WEBM', XLINK: 'DEMO_XLINK', + LOW_LATENCY_STREAM: 'DEMO_LOW_LATENCY_STREAM', /* Key systems. */ CLEAR: 'DEMO_CLEAR', CLEAR_KEY: 'DEMO_CLEAR_KEY', diff --git a/demo/locales/en.json b/demo/locales/en.json index 533db9599f..d15022912b 100644 --- a/demo/locales/en.json +++ b/demo/locales/en.json @@ -130,6 +130,7 @@ "DEMO_LCEVC_DYNAMIC_PERFORMANCE_SCALING": "LCEVC Dynamic Performance scaling", "DEMO_LCEVC_LOG_LEVEL": "LCEVC Log Level", "DEMO_LCEVC_SECTION_HEADER": "MPEG-5 Part-2 LCEVC", + "DEMO_LOW_LATENCY_STREAM": "Low Latency Streams", "DEMO_LIBRARIES": "Google Hosted Libraries", "DEMO_LICENSE": "Apache License", "DEMO_LICENSE_CERTIFICATE_URL": "Custom License Certificate URL", diff --git a/demo/locales/source.json b/demo/locales/source.json index 4653c1ac85..67c08d8fea 100644 --- a/demo/locales/source.json +++ b/demo/locales/source.json @@ -1110,5 +1110,9 @@ "DEMO_SEGMENT_PREFETCH_LIMIT": { "description": "Max number of segments to be prefetched ahead of current time position.", "message": "Segment Prefetch Limit." + }, + "DEMO_LOW_LATENCY_STREAM": { + "description": "A tag that marks an asset as low latency.", + "message": "Low Latency stream" } } diff --git a/demo/search.js b/demo/search.js index 28215be439..5948b8bb09 100644 --- a/demo/search.js +++ b/demo/search.js @@ -403,6 +403,8 @@ shakaDemo.Search = class { shakaDemo.MessageIds.THUMBNAILS); this.makeBooleanInput_(specialContainer, Feature.LCEVC, FEATURE, shakaDemo.MessageIds.LCEVC); + this.makeBooleanInput_(specialContainer, Feature.LOW_LATENCY_STREAM, + FEATURE, shakaDemo.MessageIds.LOW_LATENCY_STREAM); container.appendChild(this.resultsDiv_); }