diff --git a/demo/full/scripts/components/Options/AudioAdaptiveSettings.jsx b/demo/full/scripts/components/Options/AudioAdaptiveSettings.jsx
index 21c05284be..8ee7fd3adf 100644
--- a/demo/full/scripts/components/Options/AudioAdaptiveSettings.jsx
+++ b/demo/full/scripts/components/Options/AudioAdaptiveSettings.jsx
@@ -75,6 +75,14 @@ function AudioAdaptiveSettings({
/>
+
+ {
+ parseFloat(initialAudioBr) === 0 ?
+ "Starts loading the lowest audio bitrate" :
+ `Starts with an audio bandwidth estimate of ${initialAudioBr}` +
+ " bits per seconds."
+ }
+
@@ -116,6 +124,14 @@ function AudioAdaptiveSettings({
>
Do not limit
+
+ {
+ !isMinAudioBrLimited || parseFloat(minAudioBr) <= 0 ?
+ "Not limiting the lowest audio bitrate reachable through the adaptive logic" :
+ "Limiting the lowest audio bitrate reachable through the adaptive " +
+ `logic to ${minAudioBr} bits per seconds`
+ }
+
@@ -159,6 +175,14 @@ function AudioAdaptiveSettings({
Do not limit
+
+ {
+ !isMaxAudioBrLimited || parseFloat(maxAudioBr) === Infinity ?
+ "Not limiting the highest audio bitrate reachable through the adaptive logic" :
+ "Limiting the highest audio bitrate reachable through the adaptive " +
+ `logic to ${maxAudioBr} bits per seconds`
+ }
+
+
+ Buffering around {wantedBufferAhead} second(s) ahead of the current
+ position
+
@@ -123,7 +127,7 @@ function BufferOptions({
ariaLabel="Reset option to default value"
title="Reset option to default value"
onClick={() => {
- setMaxVideoBufferSizeLimit(DEFAULT_VALUES.maxVideoBufferSize !==
+ setMaxVideoBufferSizeLimit(DEFAULT_VALUES.maxVideoBufferSize !==
Infinity);
onMaxVideoBufferSizeInput(DEFAULT_VALUES.maxVideoBufferSize);
}}
@@ -140,6 +144,14 @@ function BufferOptions({
>
Do not limit
+
+ {
+ parseFloat(maxVideoBufferSize) === Infinity ||
+ !isMaxVideoBufferSizeLimited ?
+ "Not setting a size limit to the video buffer (relying only on the wantedBufferAhead option)" :
+ `Buffering at most around ${maxVideoBufferSize} kilobyte(s) on the video buffer`
+ }
+
@@ -182,6 +194,14 @@ function BufferOptions({
>
Do not limit
+
+ {
+ parseFloat(maxBufferAhead) === Infinity ||
+ !isMaxBufferAHeadLimited ?
+ "Not manually cleaning buffer far ahead of the current position" :
+ `Manually cleaning data ${maxBufferAhead} second(s) ahead of the current position`
+ }
+
+
+ Do not limit
+
+
+ {parseFloat(segmentTimeout) === -1 || !isSegmentTimeoutLimited ?
+ "Perform segment requests without timeout" :
+ `Stop segment requests after ${segmentTimeout} millisecond(s)`}
+
+
+
@@ -145,6 +231,11 @@ function NetworkConfig({
>
Do not limit
+
+ {parseFloat(manifestRetry) === Infinity || !isManifestRetryLimited ?
+ "Retry \"retryable\" manifest requests with no limit" :
+ `Retry "retryable" manifest requests at most ${manifestRetry} time(s)`}
+
@@ -187,9 +278,62 @@ function NetworkConfig({
>
Do not limit
+
+ {parseFloat(offlineRetry) === Infinity || !isOfflineRetryLimited ?
+ "Retry \"retryable\" requests when offline with no limit" :
+ `Retry "retryable" requests when offline at most ${offlineRetry} time(s)`}
+
+
+
+
+
+ Do not limit
+
+
+ {parseFloat(manifestTimeout) === -1 || !isManifestTimeoutLimited ?
+ "Perform manifest requests without timeout" :
+ `Stop manifest requests after ${manifestTimeout} millisecond(s)`}
+
);
}
-export default React.memo(NetworkConfig);
+export default React.memo(RequestConfig);
diff --git a/demo/full/scripts/components/Options/Playback.jsx b/demo/full/scripts/components/Options/Playback.jsx
index af5f64ed5e..aa207dcc87 100644
--- a/demo/full/scripts/components/Options/Playback.jsx
+++ b/demo/full/scripts/components/Options/Playback.jsx
@@ -14,6 +14,21 @@ function TrackSwitch({
stopAtEnd,
onStopAtEndClick,
}) {
+ let manualBitrateSwitchingModeDesc;
+ switch (manualBrSwitchingMode) {
+ case "direct":
+ manualBitrateSwitchingModeDesc =
+ "Directly visible transition when a Representation is manually changed";
+ break;
+ case "seamless":
+ manualBitrateSwitchingModeDesc =
+ "Smooth transition when a Representation is manually changed";
+ break;
+ default:
+ manualBitrateSwitchingModeDesc =
+ "Unknown value";
+ break;
+ }
return (
@@ -26,6 +41,11 @@ function TrackSwitch({
>
Auto Play
+
+ {autoPlay ?
+ "Playing directly when the content is loaded." :
+ "Staying in pause when the content is loaded."}
+
+
+ {manualBitrateSwitchingModeDesc}
+
Stop At End
+
+ {stopAtEnd ?
+ "Automatically stop when reaching the end of the content." :
+ "Don't stop when reaching the end of the content."}
+
);
diff --git a/demo/full/scripts/components/Options/TrackSwitch.jsx b/demo/full/scripts/components/Options/TrackSwitch.jsx
index ab8412feed..ac40bead45 100644
--- a/demo/full/scripts/components/Options/TrackSwitch.jsx
+++ b/demo/full/scripts/components/Options/TrackSwitch.jsx
@@ -14,6 +14,41 @@ function NetworkConfig({
onAudioTrackSwitchingModeChange,
onCodecSwitchChange,
}) {
+ let audioTrackSwitchingModeDescMsg;
+ switch (audioTrackSwitchingMode) {
+ case "reload":
+ audioTrackSwitchingModeDescMsg =
+ "Reloading when the audio track is changed";
+ break;
+ case "direct":
+ audioTrackSwitchingModeDescMsg =
+ "Directly audible transition when the audio track is changed";
+ break;
+ case "seamless":
+ audioTrackSwitchingModeDescMsg =
+ "Smooth transition when the audio track is changed";
+ break;
+ default:
+ audioTrackSwitchingModeDescMsg =
+ "Unknown value";
+ break;
+ }
+
+ let onCodecSwitchDescMsg;
+ switch (onCodecSwitch) {
+ case "reload":
+ onCodecSwitchDescMsg = "Reloading buffers when the codec changes";
+ break;
+ case "continue":
+ onCodecSwitchDescMsg =
+ "Keeping the same buffers even when the codec changes";
+ break;
+ default:
+ onCodecSwitchDescMsg =
+ "Unknown value";
+ break;
+ }
+
return (
@@ -27,6 +62,11 @@ function NetworkConfig({
>
Fast Switching
+
+ {enableFastSwitching ?
+ "Fast quality switch by replacing lower qualities in the buffer by higher ones when possible." :
+ "Not replacing lower qualities in the buffer by an higher one when possible."}
+
+
+ {audioTrackSwitchingModeDescMsg}
+
+
+ {onCodecSwitchDescMsg}
+
);
diff --git a/demo/full/scripts/components/Options/VideoAdaptiveSettings.jsx b/demo/full/scripts/components/Options/VideoAdaptiveSettings.jsx
index 6d3107ca21..83c7038869 100644
--- a/demo/full/scripts/components/Options/VideoAdaptiveSettings.jsx
+++ b/demo/full/scripts/components/Options/VideoAdaptiveSettings.jsx
@@ -79,6 +79,14 @@ function VideoAdaptiveSettings({
/>
+
+ {
+ parseFloat(initialVideoBr) === 0 ?
+ "Starts loading the lowest video bitrate" :
+ `Starts with a video bandwidth estimate of ${initialVideoBr}` +
+ " bits per seconds."
+ }
+
@@ -120,6 +128,14 @@ function VideoAdaptiveSettings({
>
Do not limit
+
+ {
+ !isMinVideoBrLimited || parseFloat(minVideoBr) <= 0 ?
+ "Not limiting the lowest video bitrate reachable through the adaptive logic" :
+ "Limiting the lowest video bitrate reachable through the adaptive " +
+ `logic to ${minVideoBr} bits per seconds`
+ }
+
@@ -163,29 +179,51 @@ function VideoAdaptiveSettings({
Do not limit
+
+ {
+ !isMaxVideoBrLimited || parseFloat(maxVideoBr) === Infinity ?
+ "Not limiting the highest video bitrate reachable through the adaptive logic" :
+ "Limiting the highest video bitrate reachable through the adaptive " +
+ `logic to ${maxVideoBr} bits per seconds`
+ }
+
-
- Limit Video Width
-
+
+
+ Limit Video Width
+
+
+ {limitVideoWidth ?
+ "Limiting video width to the current
+
-
- Throttle Video Bitrate When Hidden
-
+
+
+ Throttle Video Bitrate When Hidden
+
+
+ {throttleVideoBitrateWhenHidden ?
+ "Throttling the video bitrate when the page is hidden for a time" :
+ "Not throttling the video bitrate when the page is hidden for a time"}
+
+