Skip to content

Commit 90019fd

Browse files
authored
Merge branch 'main' into fix/dash-media-sequence
2 parents b848006 + 0f35f7e commit 90019fd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+5888
-4198
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on: [push, pull_request]
55
jobs:
66
should-skip:
77
continue-on-error: true
8-
runs-on: ubuntu-18.04
8+
runs-on: ubuntu-latest
99
# Map a step output to a job output
1010
outputs:
1111
should-skip-job: ${{steps.skip-check.outputs.should_skip}}
@@ -21,7 +21,7 @@ jobs:
2121
strategy:
2222
fail-fast: false
2323
matrix:
24-
os: [ubuntu-18.04]
24+
os: [ubuntu-latest]
2525
test-type: [unit, playback, playback-min, coverage]
2626
env:
2727
BROWSER_STACK_USERNAME: ${{secrets.BROWSER_STACK_USERNAME}}

CHANGELOG.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,74 @@
1+
<a name="2.9.0"></a>
2+
# [2.9.0](https://github.com/videojs/http-streaming/compare/v2.8.2...v2.9.0) (2021-06-11)
3+
4+
### Features
5+
6+
* Add support for encrypted init segments ([#1132](https://github.com/videojs/http-streaming/issues/1132)) ([4449ed5](https://github.com/videojs/http-streaming/commit/4449ed5))
7+
* allow clients to limit the number of times a playlist attempts to reload following an error ([#1098](https://github.com/videojs/http-streaming/issues/1098)) ([44905d4](https://github.com/videojs/http-streaming/commit/44905d4))
8+
* Caption services (608/708) metadata ([#1138](https://github.com/videojs/http-streaming/issues/1138)) ([39782c6](https://github.com/videojs/http-streaming/commit/39782c6)), closes [/datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-08#section-4](https://github.com//datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-08/issues/section-4) [videojs/mpd-parser#131](https://github.com/videojs/mpd-parser/issues/131)
9+
* do fast rendition changes on fullscreen changes and user actions ([#1074](https://github.com/videojs/http-streaming/issues/1074)) ([5405c18](https://github.com/videojs/http-streaming/commit/5405c18))
10+
* stats for timeToLoadedData, appendsToLoadedData, mainAppendsToLoadedData, audioAppendsToLoadedData, and mediaAppends ([#1106](https://github.com/videojs/http-streaming/issues/1106)) ([3124fbc](https://github.com/videojs/http-streaming/commit/3124fbc))
11+
* Use ll-hls query directives: segment skipping and requesting a specific segment/part ([#1079](https://github.com/videojs/http-streaming/issues/1079)) ([458be2c](https://github.com/videojs/http-streaming/commit/458be2c))
12+
13+
### Bug Fixes
14+
15+
* add part level sync points, fix LL hls sync issues, add part timing info ([#1125](https://github.com/videojs/http-streaming/issues/1125)) ([ee5841d](https://github.com/videojs/http-streaming/commit/ee5841d))
16+
* Append valid syncRequests, better sync request choice, less getMediaInfoForTime rounding ([#1127](https://github.com/videojs/http-streaming/issues/1127)) ([ce03f66](https://github.com/videojs/http-streaming/commit/ce03f66))
17+
18+
### Chores
19+
20+
* fix coverage ci run ([#1135](https://github.com/videojs/http-streaming/issues/1135)) ([82b6781](https://github.com/videojs/http-streaming/commit/82b6781))
21+
22+
<a name="2.8.2"></a>
23+
## [2.8.2](https://github.com/videojs/http-streaming/compare/v2.8.1...v2.8.2) (2021-05-20)
24+
25+
### Bug Fixes
26+
27+
* add tests for data uri, fix data uri in demo page ([#1133](https://github.com/videojs/http-streaming/issues/1133)) ([0be51eb](https://github.com/videojs/http-streaming/commit/0be51eb))
28+
29+
<a name="2.8.1"></a>
30+
## [2.8.1](https://github.com/videojs/http-streaming/compare/v2.8.0...v2.8.1) (2021-05-19)
31+
32+
### Bug Fixes
33+
34+
* add master referenced id/uri for audio playlists. Add playlists to hls media groups ([#1124](https://github.com/videojs/http-streaming/issues/1124)) ([740d2ee](https://github.com/videojs/http-streaming/commit/740d2ee))
35+
* m3u8-parser/eme updates ([#1131](https://github.com/videojs/http-streaming/issues/1131)) ([29ece75](https://github.com/videojs/http-streaming/commit/29ece75))
36+
* only append/request init segments when they change ([#1128](https://github.com/videojs/http-streaming/issues/1128)) ([a4af004](https://github.com/videojs/http-streaming/commit/a4af004))
37+
* set audio status on loaders when setting up media groups ([#1126](https://github.com/videojs/http-streaming/issues/1126)) ([a44f984](https://github.com/videojs/http-streaming/commit/a44f984))
38+
39+
### Chores
40+
41+
* update vhs utils to 3.0.1 ([#1123](https://github.com/videojs/http-streaming/issues/1123)) ([552b012](https://github.com/videojs/http-streaming/commit/552b012))
42+
43+
<a name="2.8.0"></a>
44+
# [2.8.0](https://github.com/videojs/http-streaming/compare/v2.7.1...v2.8.0) (2021-04-28)
45+
46+
### Features
47+
48+
* add initialBandwidth option at the tech level ([#1122](https://github.com/videojs/http-streaming/issues/1122)) ([2071008](https://github.com/videojs/http-streaming/commit/2071008))
49+
50+
### Bug Fixes
51+
52+
* don't clear DASH minimum update period timeout on pause of a media loader ([#1118](https://github.com/videojs/http-streaming/issues/1118)) ([82ff4f5](https://github.com/videojs/http-streaming/commit/82ff4f5))
53+
* null check sidx on sidxmapping, check that end > start on remove ([#1121](https://github.com/videojs/http-streaming/issues/1121)) ([92f1333](https://github.com/videojs/http-streaming/commit/92f1333))
54+
55+
### Code Refactoring
56+
57+
* drop support for the partial muxer and handlePartial ([#1119](https://github.com/videojs/http-streaming/issues/1119)) ([ab305f8](https://github.com/videojs/http-streaming/commit/ab305f8))
58+
* offload mp4/ts probe to the web worker ([#1117](https://github.com/videojs/http-streaming/issues/1117)) ([3c9f721](https://github.com/videojs/http-streaming/commit/3c9f721))
59+
* segment/part choice and add more logging around the choice ([#1097](https://github.com/videojs/http-streaming/issues/1097)) ([b8a5aa5](https://github.com/videojs/http-streaming/commit/b8a5aa5))
60+
61+
<a name="2.7.1"></a>
62+
## [2.7.1](https://github.com/videojs/http-streaming/compare/v2.7.0...v2.7.1) (2021-04-09)
63+
64+
### Bug Fixes
65+
66+
* experimentalLLHLS option should always be passed ([#1114](https://github.com/videojs/http-streaming/issues/1114)) ([684fd08](https://github.com/videojs/http-streaming/commit/684fd08))
67+
68+
### Chores
69+
70+
* dont run tests on chromium ([#1116](https://github.com/videojs/http-streaming/issues/1116)) ([c2154d7](https://github.com/videojs/http-streaming/commit/c2154d7))
71+
172
<a name="2.7.0"></a>
273
# [2.7.0](https://github.com/videojs/http-streaming/compare/v2.6.4...v2.7.0) (2021-04-06)
374

README.md

Lines changed: 58 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ Video.js Compatibility: 6.0, 7.0
4545
- [parse708captions](#parse708captions)
4646
- [overrideNative](#overridenative)
4747
- [blacklistDuration](#blacklistduration)
48+
- [maxPlaylistRetries](#maxplaylistretries)
4849
- [bandwidth](#bandwidth)
4950
- [useBandwidthFromLocalStorage](#usebandwidthfromlocalstorage)
5051
- [enableLowInitialPlaylist](#enablelowinitialplaylist)
@@ -57,6 +58,9 @@ Video.js Compatibility: 6.0, 7.0
5758
- [cacheEncryptionKeys](#cacheencryptionkeys)
5859
- [handlePartialData](#handlepartialdata)
5960
- [liveRangeSafeTimeDelta](#liverangesafetimedelta)
61+
- [captionServices](#captionservices)
62+
- [Format](#format)
63+
- [Example](#example)
6064
- [Runtime Properties](#runtime-properties)
6165
- [vhs.playlists.master](#vhsplaylistsmaster)
6266
- [vhs.playlists.media](#vhsplaylistsmedia)
@@ -362,6 +366,14 @@ if a playlist is blacklisted, it will be blacklisted for a period of that
362366
customized duration. This enables the blacklist duration to be configured
363367
by the user.
364368

369+
#### maxPlaylistRetries
370+
* Type: `number`
371+
* Default: `Infinity`
372+
* can be used as an initialization option
373+
374+
The max number of times that a playlist will retry loading following an error
375+
before being indefinitely excluded from the rendition selection algorithm. Note: the number of retry attempts needs to _exceed_ this value before a playlist will be excluded.
376+
365377
##### bandwidth
366378
* Type: `number`
367379
* can be used as an initialization option
@@ -402,20 +414,16 @@ If true, this will take the device pixel ratio into account when doing rendition
402414
This setting is `false` by default.
403415

404416
##### smoothQualityChange
417+
* NOTE: DEPRECATED
405418
* Type: `boolean`
406419
* can be used as a source option
407420
* can be used as an initialization option
408421

409-
When the `smoothQualityChange` property is set to `true`, a manual quality
410-
change triggered via the [representations API](#vhsrepresentations) will use
411-
smooth quality switching rather than the default fast (buffer-ejecting)
412-
quality switching. Using smooth quality switching will mean no loading spinner
413-
will appear during quality switches, but will cause quality switches to only
414-
be visible after a few seconds.
422+
smoothQualityChange is deprecated and will be removed in the next major version of VHS.
415423

416-
Note that this _only_ affects quality changes triggered via the representations
417-
API; automatic quality switches based on available bandwidth will always be
418-
smooth switches.
424+
Instead of its prior behavior, smoothQualityChange will now call fastQualityChange, which
425+
clears the buffer, chooses a new rendition, and starts loading content from the current
426+
playhead position.
419427

420428
##### allowSeeksWithinUnsafeLiveWindow
421429
* Type: `boolean`
@@ -466,6 +474,47 @@ This option defaults to `false`.
466474
* Default: [`SAFE_TIME_DELTA`](https://github.com/videojs/http-streaming/blob/e7cb63af010779108336eddb5c8fd138d6390e95/src/ranges.js#L17)
467475
* Allow to re-define length (in seconds) of time delta when you compare current time and the end of the buffered range.
468476

477+
##### captionServices
478+
* Type: `object`
479+
* Default: undefined
480+
* Provide extra information, like a label or a language, for instream (608 and 708) captions.
481+
482+
The captionServices options object has properties that map to the caption services. Each property is an object itself that includes several properties, like a label or language.
483+
484+
For 608 captions, the service names are `CC1`, `CC2`, `CC3`, and `CC4`. For 708 captions, the service names are `SERVICEn` where `n` is a digit between `1` and `63`.
485+
###### Format
486+
```js
487+
{
488+
vhs: {
489+
captionServices: {
490+
[serviceName]: {
491+
language: String, // optional
492+
label: String, // optional
493+
default: boolean // optional
494+
}
495+
}
496+
}
497+
}
498+
```
499+
###### Example
500+
```js
501+
{
502+
vhs: {
503+
captionServices: {
504+
CC1: {
505+
language: 'en',
506+
label: 'English'
507+
},
508+
SERVICE1: {
509+
langauge: 'kr',
510+
label: 'Korean',
511+
default: true
512+
}
513+
}
514+
}
515+
}
516+
```
517+
469518
### Runtime Properties
470519
Runtime properties are attached to the tech object when HLS is in
471520
use. You can get a reference to the VHS source handler like this:

index.html

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,6 @@ <h3>Options</h3>
7676
<input id=autoplay type="checkbox">
7777
Autoplay
7878
</label>
79-
<label>
80-
<input id=partial type="checkbox">
81-
Handle Partial (reloads player)
82-
</label>
8379
<label>
8480
<input id=llhls type="checkbox">
8581
[EXPERIMENTAL] Enables support for ll-hls (reloads player)

0 commit comments

Comments
 (0)