3.16.0 (2024-11-18)
3.15.0 (2024-10-10)
- Add Airplay support when overriding native HLS in Safari/iOS (#1543) (bfc17b4)
- Add support for ManagedMediaSource 'startstreaming' and 'endstream' event handling (#1542) (ae1ae70)
3.14.2 (2024-09-17)
3.14.1 (2024-09-09)
3.14.0 (2024-08-23)
- Add experimental support for ManagedMediaSource (#1453) (247047a)
- Custom Pixel Ratio (#1497) (0e9d9d8)
- streaming events and errors (#1508) (c94a230)
- audio segment on incorrect timeline (#1530) (876ed8c)
- bad timeline changes (#1526) (7c63f4e)
- changeType on full codec change only (#1474) (4e51778)
- enableFunction not passing playlist to fastQualityChange (#1502) (e50ecb1)
- fastQualitySwitch stability (#1525) (28cb9fd)
- fix repeated segments (#1489) (ed8f6bd)
- llHLS does not need forcedTimestampOffset (#1501) (f5d1209)
- remove extra abort call (#1528) (7ec606f)
- requestId init tag (#1518) (a542ec8)
- Resolve issue where live dash manifests without audio would hang (#1524) (1ecf115)
- use paren media sequence sync for audio and vtt, since they are opt-in features and can be enabled after main init (#1505) (bdfe0e0)
- videoTimestampOffset in sourceUpdater (#1519) (d6851cc)
- Add log export to the demo page (#1522) (0b4da7c)
- demo: Remove error on iOS on demo page (#1493) (c50ba7e)
- Replace old quality selector (#1482) (64376db)
- Switch to our quality selector (#1527) (e3d1c42)
- Update codecov action (#1523) (bb9133c)
- update contrib-eme to v5.3.1 (#1512) (e46ba74)
- update m3u8-parser, vhs-utils and aes-decrypter (#1535) (dba1b79)
- update mux.js to v7.0.3 (#1498) (bebcafd)
3.13.3 (2024-08-12)
3.13.2 (2024-07-22)
- bad timeline changes (#1526) (7c63f4e)
- fastQualitySwitch stability (#1525) (28cb9fd)
- remove extra abort call (#1528) (7ec606f)
- videoTimestampOffset in sourceUpdater (#1519) (d6851cc)
- Add log export to the demo page (#1522) (0b4da7c)
- Switch to our quality selector (#1527) (e3d1c42)
- Update codecov action (#1523) (bb9133c)
3.13.1 (2024-06-12)
3.13.0 (2024-05-21)
3.12.2 (2024-04-22)
- use paren media sequence sync for audio and vtt, since they are opt-in features and can be enabled after main init (#1505) (bdfe0e0)
3.12.1 (2024-04-16)
- enableFunction not passing playlist to fastQualityChange (#1502) (e50ecb1)
- llHLS does not need forcedTimestampOffset (#1501) (f5d1209)
3.12.0 (2024-03-12)
3.11.3 (2024-02-28)
3.11.2 (2024-02-21)
3.11.1 (2024-02-12)
3.11.0 (2024-01-25)
3.10.0 (2024-01-17)
3.9.1 (2024-01-02)
- Account for difference between duration info in the playlist and the actual duration (#1470) (455b020)
- keyId filtering loadedplaylist listener and improvements (#1468) (f12c197)
- select next if we are at the of the current segment (#1467) (7debc17)
- toLowerCase keyIds from manifest and use fastQualityChange (#1466) (88a5671)
3.9.0 (2023-12-14)
3.8.0 (2023-12-04)
- Content Steering HLS Pathway Cloning (#1432) (731058b)
- media-sequence sync strategy, remove calculateTimestampOffsetForEachSegment and remove replaceSegmentsUntil (#1457) (e304c20), closes #1452 #1451 #1444 #1439 #1426 #1414 #1458
- public function for updating VHS options (#1446) (9f2a4de)
- Always use VOD sync-point for VOD streams (#1456) (a5579b0)
- check for transmuxer for vtt-segment-loader (#1452) (b4dd748)
- content steering bug fixes and tests (#1430) (532aa4d)
- Do not call load after mediachange for hls playlist loader (#1447) (28413f8)
- fix several issues with calculate timestamp offset for each segment (#1451) (3bbc6ef)
- prevent wrapping in resetMainLoaderReplaceSegments (#1439) (719b7f4)
- replaceSegmentsUntil flag resetting too early (#1444) (af39ba5)
- use startTime instead of 0 for finiteDuration (#1448) (dc78d78)
- wrap onwarn values in a message object (#1428) (beccfa1)
3.7.0 (2023-10-12)
3.6.0 (2023-09-25)
- Add feature flag to calculate timestampOffset for each segment to handle streams with corrupted pts or dts timestamps (#1426) (2355ddc)
- content steering demo page tab (#1425) (04451d4)
- request Content Steering manifest (#1419) (86d5327)
3.5.3 (2023-08-14)
- demo page representation selector (#1416) (4ca3cab)
- fastQualityChange refactor (#1414) (4590bdd)
- reduce playlist exclusion defaults (#1413) (bf0a300)
- remove segment loader abort in setCurrentTime (#1415) (323bb32)
3.5.2 (2023-08-07)
3.5.1 (2023-07-26)
3.5.0 (2023-07-25)
3.4.0 (2023-06-01)
3.3.1 (2023-05-15)
3.3.0 (2023-05-03)
- Start at offset from EXT-X-START (#1389) (b3a508d)
- xhr: add request and response hook API (#1393) (2356c34)
3.2.0 (2023-04-04)
- add an option to support forced subtitles (#1329) (6bd98d0)
- add event stream support (#1382) (f6b9498)
- Remove remnants of IE and old Edge (#1343) (93a2bfd)
- allow audio fmp4 emsg probe (#1385) (c90863c)
- docs: Remove confusion around including VHS separately (#1367) (b4f44e4)
- error on undefined metadata frames (#1383) (d258fae)
- use audio offset for id3 with audio-only (#1386) (e6d8b08)
- package: update dependencies to de-dupe m3u8-parser in the tree (#1388) (369ee66)
- update mpd-parser to 1.1.0 (#1384) (915bdee)
- update mpd-parser to 1.1.1 (#1387) (9520070)
3.1.0 (2023-03-07)
3.0.2 (2023-02-27)
- CMAF HLS. Source buffer change type is called with wrong codecs sometimes when append segment without init data because of a race condition. (#1375) (7c3e08e)
3.0.1 (2023-01-24)
- Linear DASH multiperiod label issue (#1352) (d7e8713)
- In-manifest VTT iOS MSE issue (#1360) (6ba70e0)
3.0.0 (2022-11-21)
- add compatibility layer for video.js 7 and 8 (#1322) (b9d26e5)
- add frameRate property to the representation class. (#1289) (fd2898f)
- enable LLHLS support by default and remove experimental prefix on options (#1301) (02c3c77)
- remove handleManifestRedirects and always use XHR.responseURL if available (#1226) (3ad3120)
- rename many things to
main
(#1309) (54cbab3) - Skip gaps immediately (#1267) (f85c153)
- update tooling to remove ie 11 transpiling, update tests (#1306) (206f099)
- add Video.js 8 to the dep version range (#1307) (325a98e)
- cache aes keys for text tracks (#973) (#1228) (66a5b17)
- output-restricted event handling for unplayable streams (#1305) (1c62a98)
- remove deprecation hls options, properties, and events; add migration guide (#1229) (43fce26)
- Restart mainPlaylistLoader after media change (#1339) (cf340f2)
- resume loading on segment timeout for
bufferBasedABR
(#1333) (969589e)
- docs: Remove outdated information in collaborators' guide (#1271) (6100750)
- package: update dependencies to use new ES6 builds (#1320) (9ae6695)
- package: update m3u8-parser to v6.0.0 (#1330) (fe15751)
- remove old-index since IE is no longer supported (#1308) (5ba3a77)
- update karma-config to 8 to drop ie11 and older browsers (#1227) (44c12ea)
- update mpd-parser (#1337) (7ff95b9)
- update package-lock (1806b46)
- update package-lock.json (#1319) (c7aa9c1)
- clean up parameters of excludePlaylist (#1304) (ca3162b)
- Remove deprecated smooth quality change (#1268) (6041014)
- rename 'blacklist' to 'exclude' (#1274) (d79d783)
- change source for live DASH playback test to fix test failures (#1303) (128b3d7)
- fix IE11 encrypted VTT tests by using an actual encrypted VTT segment (#1291) (57c0e72)
- package: manifests with tags lacking colons (:) are no longer supported
- package: This updates bundled libraries to no longer be transpiled to ES5, which means IE will no longer be supported.
- This changes the arguments for the
PlaylistController#excludePlaylist
method to take a single object instead of multiple arguments. - This renames four experimental options to no longer be experimental and enables Low Latency HLS support by default (
llhls: false
will still disable it, if desired). - rename PlaylistController
- rename HAVE_MASTER to HAVE_MAIN_MANIFEST
- playlist loaders updateMain and .main prop rename
- manifest.js exports mainForMedia and addPropertiesToMain
- rename media groups prop to isMainPlaylist
- rename property to mainPlaylistLoader_
- rename to PlaylistController#main()
- This removes support entirely for IE11 (and older) as well as any other platforms that do not support ES6.
- remove ^6 from the dependency version ranges.
- Skips detected gaps immediately instead of waiting the duration of the gap before skipping
- Removes deprecated
smoothQualityChange
option - remove deprecated options, properties, events.
- remove handleManifestRedirects option. Now XHR.responseURL will always be used when available.
3.0.0-2 (2022-09-30)
3.0.0-1 (2022-09-30)
- add compatibility layer for video.js 7 and 8 (#1322) (b9d26e5)
- add frameRate property to the representation class. (#1289) (fd2898f)
- package: manifests with tags lacking colons (:) are no longer supported
3.0.0-0 (2022-08-19)
- enable LLHLS support by default and remove experimental prefix on options (#1301) (02c3c77)
- remove handleManifestRedirects and always use XHR.responseURL if available (#1226) (3ad3120)
- rename many things to
main
(#1309) (54cbab3) - Skip gaps immediately (#1267) (f85c153)
- update tooling to remove ie 11 transpiling, update tests (#1306) (206f099)
- add Video.js 8 to the dep version range (#1307) (325a98e)
- cache aes keys for text tracks (#973) (#1228) (66a5b17)
- output-restricted event handling for unplayable streams (#1305) (1c62a98)
- remove deprecation hls options, properties, and events; add migration guide (#1229) (43fce26)
- docs: Remove outdated information in collaborators' guide (#1271) (6100750)
- package: update dependencies to use new ES6 builds (#1320) (9ae6695)
- remove old-index since IE is no longer supported (#1308) (5ba3a77)
- update karma-config to 8 to drop ie11 and older browsers (#1227) (44c12ea)
- update package-lock.json (#1319) (c7aa9c1)
- clean up parameters of excludePlaylist (#1304) (ca3162b)
- Remove deprecated smooth quality change (#1268) (6041014)
- rename 'blacklist' to 'exclude' (#1274) (d79d783)
- change source for live DASH playback test to fix test failures (#1303) (128b3d7)
- fix IE11 encrypted VTT tests by using an actual encrypted VTT segment (#1291) (57c0e72)
- package: This updates bundled libraries to no longer be transpiled to ES5, which means IE will no longer be supported.
- This changes the arguments for the
PlaylistController#excludePlaylist
method to take a single object instead of multiple arguments. - This renames four experimental options to no longer be experimental and enables Low Latency HLS support by default (
llhls: false
will still disable it, if desired). - rename PlaylistController
- rename HAVE_MASTER to HAVE_MAIN_MANIFEST
- playlist loaders updateMain and .main prop rename
- manifest.js exports mainForMedia and addPropertiesToMain
- rename media groups prop to isMainPlaylist
- rename property to mainPlaylistLoader_
- rename to PlaylistController#main()
- This removes support entirely for IE11 (and older) as well as any other platforms that do not support ES6.
- remove ^6 from the dependency version ranges.
- Skips detected gaps immediately instead of waiting the duration of the gap before skipping
- Removes deprecated
smoothQualityChange
option - remove deprecated options, properties, events.
- remove handleManifestRedirects option. Now XHR.responseURL will always be used when available.
2.14.2 (2022-04-13)
2.14.1 (2022-04-06)
2.14.0 (2022-03-14)
2.13.1 (2021-12-20)
2.13.0 (2021-12-20)
- set up required key sessions on waitingforkey event (#1232) (3ed24a4)
- use new mpd-parser API for handling live DASH refreshes (#1231) (f109078)
2.12.1 (2021-12-10)
- fix seekable not updating after the first change for live streams (#1233) (3d8755c)
- mp4 sources that use bigint numbers (#1217) (bfd0ad0)
- support legacy hls option for overrideNative (#1222) (4f9ce7a)
- add a test to verify that seekable updates with a live stream (#1234) (7495ead), closes #1233
- playack: make live dash test take 5 seconds (#1235) (b66e124)
2.12.0 (2021-11-08)
2.11.2 (2021-10-27)
2.11.1 (2021-10-14)
- package: update mpd-parser to 0.19.2 (#1211) (7420296)
- package: update mux.js to 5.14.1 (#1215) (d7f6b63)
- reset transmuxer in resetEverything to fix seeking backwards in some cases (#1213) (a83ea37)
2.11.0 (2021-09-22)
- do not try to save expired segment information for gaps greater than 86400 (#1204) (0dc0b61)
- mark global/window/document as external globals (#1205) (324af10)
- Only check/fix bad seeks after seeking, without seeked, and an append (#1195) (9d6505a)
- use URL to add searchParams for LLHLS (#1199) (a8d3c1a)
2.10.3 (2021-09-03)
- only register reloadSourceOnError once (#1191) (9aeb77b)
- We should skip gaps that are seeked into. (#1192) (61b8eef)
2.10.3 (2021-09-03)
- only register reloadSourceOnError once (#1191) (9aeb77b)
- We should skip gaps that are seeked into. (#1192) (61b8eef)
2.10.2 (2021-08-24)
2.10.2 (2021-08-24)
2.10.1 (2021-08-17)
- add a github-release action to automate github releases on version tags (#1182) (e8230a9)
- consistent source selection on demo start (#1185) (ff34277)
- update the demo page (#1184) (55f0bde)
- various demo page fixes and enhancements (#1186) (eef29d4)
2.10.1 (2021-08-17)
- add a github-release action to automate github releases on version tags (#1182) (e8230a9)
- consistent source selection on demo start (#1185) (ff34277)
- update the demo page (#1184) (55f0bde)
- various demo page fixes and enhancements (#1186) (eef29d4)
2.10.0 (2021-07-28)
- add experimental pixel diff selector behind a flag defaulted off (#786) (a0c0359)
- Add experimentalExactManifestTimings which forgoes TIME_FUDGE_FACTOR during segment choice (#1165) (67a1201)
- exclude playlists on DRM key status of output-restricted (#1171) (de5baa7)
- Generate the correct number of segments for segment template multi period dash (#1175) (413fee3)
- update vhs-utils to correctly detect mp4 starting with moof/moov (#1173) (464a365)
2.10.0 (2021-07-28)
- add experimental pixel diff selector behind a flag defaulted off (#786) (a0c0359)
- Add experimentalExactManifestTimings which forgoes TIME_FUDGE_FACTOR during segment choice (#1165) (67a1201)
- exclude playlists on DRM key status of output-restricted (#1171) (de5baa7)
- Generate the correct number of segments for segment template multi period dash (#1175) (413fee3)
- update vhs-utils to correctly detect mp4 starting with moof/moov (#1173) (464a365)
2.9.3 (2021-07-19)
2.9.2 (2021-07-14)
- Default to using segmentInfo.trackInfo over this.currentMediaInfo_ to get segment track info. (#1162) (1d6bb55)
- encode correct video width/height in transmuxed mp4 (#1166) (d32801a)
- include all master playlists in default audio group (#1149) (297e2c7)
- Prevent skipping frames in adts data via mux.js 5.11.3 (#1153) (253849a)
- log transmuxer log events via segment loader (#1155) (1e2f7a4)
- prevent debugger statement removal and soucemap updating via rollup-plugin-strip (#1147) (62f9c1c)
- skip playback tests in forks (#1148) (063e163)
- update utils/stats (#1146) (c504b0d)
- use the new npm cache option when setting up node (#1157) (b7942ff)
- update maxPlaylistRetries outline level (93b293a)
2.9.1 (2021-06-22)
- actually default maxPlaylistRetries to Infinity (#1142) (4428e3a), closes #1098
- don't decay average bandwidth value if system bandwidth did not change (#1137) (c22749b)
- ts segments that don't define all streams in the first pmt (#1144) (36a8be4)
2.9.0 (2021-06-11)
- Add support for encrypted init segments (#1132) (4449ed5)
- allow clients to limit the number of times a playlist attempts to reload following an error (#1098) (44905d4)
- Caption services (608/708) metadata (#1138) (39782c6), closes /datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-08#section-4 videojs/mpd-parser#131
- do fast rendition changes on fullscreen changes and user actions (#1074) (5405c18)
- stats for timeToLoadedData, appendsToLoadedData, mainAppendsToLoadedData, audioAppendsToLoadedData, and mediaAppends (#1106) (3124fbc)
- Use ll-hls query directives: segment skipping and requesting a specific segment/part (#1079) (458be2c)
- add part level sync points, fix LL hls sync issues, add part timing info (#1125) (ee5841d)
- Append valid syncRequests, better sync request choice, less getMediaInfoForTime rounding (#1127) (ce03f66)
2.8.2 (2021-05-20)
2.8.1 (2021-05-19)
- add master referenced id/uri for audio playlists. Add playlists to hls media groups (#1124) (740d2ee)
- m3u8-parser/eme updates (#1131) (29ece75)
- only append/request init segments when they change (#1128) (a4af004)
- set audio status on loaders when setting up media groups (#1126) (a44f984)
2.8.0 (2021-04-28)
- don't clear DASH minimum update period timeout on pause of a media loader (#1118) (82ff4f5)
- null check sidx on sidxmapping, check that end > start on remove (#1121) (92f1333)
- drop support for the partial muxer and handlePartial (#1119) (ab305f8)
- offload mp4/ts probe to the web worker (#1117) (3c9f721)
- segment/part choice and add more logging around the choice (#1097) (b8a5aa5)
2.7.1 (2021-04-09)
2.7.0 (2021-04-06)
- Add EXT-X-PART support behind a flag for LL-HLS (#1055) (b33e109)
- mark Video.js as a peer dependency (#1111) (99480d5)
- support serverControl and preloadSegment behind experimentalLLHLS flag (#1078) (fa1b6b5)
- usage and logging on rendition change with reasons (#1088) (1b990f1)
- audio only media group playlists, audio group playlists, and audio switches for audio only (#1100) (6d83de3)
- better time to first frame for live playlists (#1105) (1e94680)
- catch remove errors, remove all data on QUOTA_EXCEEDED (#1101) (86f77fe)
- Only add sidxMapping on successful sidx request and parse. (#1099) (de0b55b), closes #1107
- support automatic configuration of audio and video only DRM sources (#1090) (9b116ce)
- never skip main ci runs (#1108) (b2d2c91)
- turn checkWatch back on for rollup (87947fc)
- update to mux.js@5.11.0 (#1109) (af5841c)
2.6.4 (2021-03-12)
- Monitor playback for stalls due to gaps in the beginning of stream when a new source is loaded (#1087) (64a1f35)
- retry appends on QUOTA_EXCEEDED_ERR (#1093) (008aeaf)
- Get test coverage working again with mock/sync worker (#1094) (035e8c0)
- pin CI to ubuntu 18.04 (#1091) (01ca182)
2.6.3 (2021-03-05)
- playback-watcher: Skip over playback gaps that occur in the beginning of streams (#1085) (ccd9352)
- Add exclude reason and skip duplicate playlist-unchanged (#1082) (0dceb5b)
- prevent changing undefined baseStartTime to NaN (#1086) (43aa69a)
- update to mux.js 5.10.0 (#1089) (1cfdab6)
2.6.2 (2021-02-24)
2.6.1 (2021-02-19)
- allow buffer removes when there's no current media info in loader (#1070) (97ab712)
- live dash segment changes should be considered a playlist update (#1065) (1ce7838)
- sometimes subtitlesTrack_.cues is null (#1073) (6778ca1)
- unbreak the minified build by updating rollup-plugin-worker-factory (#1072) (e583b26)
2.6.0 (2021-02-11)
- allow xhr override globally, for super advanced use cases only (#1059) (6279675)
- expose m3u8-parser logging in debug log (#1048) (0e8bd4b)
- do not request manifests until play when preload is none (#1060) (49249d5), closes #126
- store
transmuxQueue
andcurrentTransmux
ontransmuxer
instead of globally (#1045) (a34b4da) - use a separate ProgramDateTime mapping to player time per timeline (#1063) (5e9b4f1)
- wait for endedtimeline event from transmuxer when reaching the end of a timeline (#1058) (b01ab72)
- add legacy avc source (#1050) (b34a770)
- add pdt test sources (#1067) (112148b)
- better worker build and synchronous web worker (#1033) (f0732af)
2.5.0 (2021-01-20)
- clear segment transmuxer in media segment request tests (#1043) (83057a8)
- don't show QUnit UI in regular test runs (#1044) (25c7f64)
2.4.2 (2021-01-07)
- handle rollover and don't set wrong timing info for segments with high PTS/DTS values (#1040) (9919b85)
2.4.1 (2020-12-22)
- if a playlist was last requested less than half target duration, delay retry (#1038) (2e237ee)
- programmatically create Config getters/setters (8454da5)
- demo: clear type on manual source change (#1030) (d39276d)
- mark many more sources as working (#1035) (904153f)
- move playback tests to a separate ci run (#1028) (f1d9f6e)
- remove replace and update packages (#1031) (0976212)
2.4.0 (2020-12-07)
- playback watcher: Configurable live seekable window (#997) (ad5c270)
- log on mislabeled segment durations for HLS (#1010) (4109a7f)
- update to mux.js 5.7.0 (#1014) (5f14909), closes #1001 #909
- abort all loaders on earlyabort (#965) (e7cb63a)
- don't save bandwidth and throughput for really small segments (#1024) (a29e241)
- filter out unsupported subtitles for dash (#962) (124834a)
- keep running the minimumUpdatePeriod unless cancelled or changed (#1016) (f7b528c)
- prevent double source buffer ready on IE11 (#1015) (b1c2969)
- remove duplicate cues with same time interval and text (#1005) (6db2b6a)
- support tracks with id 0 for fmp4 playlists (#1018) (bf63692)
- Wait for EME initialization before appending content (#1002) (93132b7)
- when changing renditions over a discontinuity, don't use buffered end as segment start (#1023) (40caa45)
- experimentalBufferBasedABR: start ABR timer on main playlist load (#1026) (27de9a5), closes #1025
- add multiple soon-to-work sources (#1007) (030469f)
- don't run tests on release (#1006) (d13b737)
- skip duplicate ci workflows (#1021) (20cc4a3)
- switch from travis to github actions for ci (#989) (c9b195b)
- demo page: add an overrideNative button (default on) (#1027) (197daab)
- Add a better distinction between master and child dash loaders (#992) (56592bc)
- add sidx segments to playlist object instead of re-parsing xml (#994) (e41f856)
- unify sidx/master/error request logic (#998) (fe57e60)
2.3.0 (2020-11-05)
- appendsdone abort and handle multiple id3 sections. (#971) (329d50a)
- check tech error before pause loaders (#969) (0c7b2cb)
- inline json version (#967) (326ce1c)
- experimentalBufferBasedABR: call selectPlaylist and change media on an interval (#978) (200c87b), closes #886 #966 #964
- only prevent audio group creation if no other playlists are using it (#981) (645e979)
- playback-watcher: ignore subtitles (#980) (ca7655e)
2.2.0 (2020-09-25)
- default handleManfiestRedirect to true (#927) (556321f)
- support MPD.Location (#926) (c4a43d7)
- Update minimumUpdatePeriod handling (#942) (8648e76)
- audio groups with the same uri as media do not count (#952) (3927c0c)
- dash manifest not refreshed if only some playlists are updated (#949) (31d3441)
- detect demuxed video underflow gaps (#948) (d0ef298)
- MPD not refreshed if minimumUpdatePeriod is 0 (#954) (3a0682f), closes #942
- noop vtt segment loader handle data (#959) (d1dcd7b)
- report the correct buffered regardless of playlist change (#950) (043ccc6)
- Throw a player error when trying to play DRM content without eme (#938) (ce4d6fd)
- use playlist NAME when available as its ID (#929) (2269464)
- use TIME_FUDGE_FACTOR rather than rounding by decimal digits (#881) (7eb112d)
- package: remove engine check in pkcs7 (#947) (89392fa)
- mark angel one dash subs as broken (#956) (56a0970)
- mediaConfig_ -> staringMediaInfo_, startingMedia_ -> currentMediaInfo_ (#953) (8801d1c)
- playlist selector logging (#921) (ccdbaef)
- update m3u8-parser to v4.4.3 (#928) (af5b4ee)
2.1.0 (2020-07-28)
- Easier manual playlist switching, add codecs to renditions (#850) (f60fa1f)
- exclude all incompatable browser/muxer codecs (#903) (2d0f0d7)
- expose canChangeType on the VHS property (#911) (a4ab285)
- let back buffer be configurable (8c96e6c)
- Support codecs switching when possible via sourceBuffer.changeType (#841) (267cc34)
- always append init segment after trackinfo change (#913) (ea3650a)
- cleanup mediasource listeners on dispose (#871) (e50f4c9)
- do not try to use unsupported audio (#896) (7711b26)
- do not use remove source buffer on ie 11 (#904) (1ab0f07)
- do not wait for audio appends for muxed segments (#894) (406cbcd)
- Fixed issue with MPEG-Dash MPD Playlist Finalisation during Live Play. (#874) (c807930)
- handle null return value from CaptionParser.parse (#890) (7b8fff2), closes #863
- have reloadSourceOnError get src from player (#893) (1e50bc5), closes videojs/video.js#6744
- initialize EME for all playlists and PSSH values (#872) (e0e497f)
- more conservative stalled download check, better logging (#884) (615e77f)
- pause/abort loaders before an exclude, preventing bad appends (#902) (c9126e1)
- stop alt loaders on main mediachanging to prevent append race (#895) (8690c78)
- Support aac data with or without id3 tags by using mux.js@5.6.6 (#899) (9c742ce)
- Use revokeObjectURL dispose for created MSE blob urls (#849) (ca73cac)
- Wait for sourceBuffer creation so drm setup uses valid codecs (#878) (f879563)
- Add vhs & mpc (vhs.masterPlaylistController_) to window of index.html (#875) (bab61d6)
- demo: add a representations selector to the demo page (#901) (0a54ae2)
- fix tears of steal playready on the demo page (#915) (29a10d0)
- keep window vhs/mpc up to date on source switch (#883) (3ba85fd)
- update DASH stream urls (#918) (902c2a5)
- update local video.js (#876) (c2cc9aa)
- use playready license server (#916) (6728837)
- remove duplicate bufferIntersection code in util/buffer.js (#880) (0ca43bd)
- simplify setupEmeOptions and add tests (#869) (e3921ed)
2.0.0 (2020-06-16)
- add external vhs properties and deprecate hls and dash references (#859) (22af0b2)
- Use VHS playback on any non-Safari browser (#843) (225d127)
- fix demo page on firefox, always use vhs on safari (#851) (d567b7d)
- stats: update vhs usage in the stats page (#867) (4dda42a)
- Move caption parser to webworker, saving 5732b offloading work (#863) (491d194)
- remove aes-decrypter objects from Hls saving 1415gz bytes (#860) (a4f8302)
- "fix: Use middleware and a wrapped function for seeking instead of relying on unreliable 'seeking' events (#161)"(#856) (1165f8e)
- The Hls object which was exposed on videojs no longer has Decrypter, AsyncStream, and decrypt from aes-decrypter.
1.10.2 (2019-05-13)
- clear the blacklist for other playlists if final rendition errors (#479) (fe3b378), closes #396 #471
- development: rollup watch, via
npm run watch
, should work for es/cjs (#484) (ad6f292) - HLSe: slice keys properly on IE11 (#506) (681cd6f)
- package: update mpd-parser to version 0.8.1 🚀 (#490) (a49ad3a)
- package: update mux.js to version 5.1.2 🚀 (#477) (57a38e9), closes #503 #504
- source-updater: run callbacks after setting timestampOffset (#480) (6ecf859)
- livestream timeout issues (#469) (cf3fafc), closes segment#16 segment#15 segment#16 segment#15 segment#16
- remove both vttjs listeners to prevent leaking one of them (#495) (1db1e72)
1.10.1 (2019-04-16)
1.10.0 (2019-04-12)
- add option to cache encrpytion keys in the player (#446) (599b94d), closes #140
- add support for dash manifests describing sidx boxes (#455) (80dde16)
- clear the blacklist for other playlists if final rendition errors (#396) (6e6c8c2)
- on dispose, don't call abort on SourceBuffer until after remove() has finished (3806750)
1.9.3 (2019-03-21)
- id3: ignore unsupported id3 frames (#437) (7040b7d), closes videojs/video.js#5823
1.9.2 (2019-03-14)
1.9.1 (2019-03-05)
- fix for streams that would occasionally never fire an
ended
event (fc09926) - Fix video playback freezes caused by not using absolute current time (#401) (957ecfd)
- only fire seekablechange when values of seekable ranges actually change (#415) (a4c056e)
- Prevent infinite buffering at the start of looped video on edge (#392) (b6d1b97)
1.9.0 (2019-02-07)
- Use exposed transmuxer time modifications for more accurate conversion between program and player times (#371) (41df5c0)
- m3u8 playlist is not updating when only endList changes (#373) (c7d1306)
- Prevent exceptions from being thrown by the MediaSource (#389) (8c06366)
1.8.0 (2019-01-10)
1.7.0 (2019-01-04)
1.6.0 (2018-12-21)
1.5.1 (2018-12-06)
- added missing manifest information on to segments (EXT-X-PROGRAM-DATE-TIME) (#236) (a35dd09)
- remove player props on dispose to stop middleware (#229) (cd13f9f)
- add dash to package.json description (#267) (3296c68)
- add documentation for reloadSourceOnError (#266) (7448b37)
1.5.0 (2018-11-13)
- don't wait for requests to finish when encountering an error in media-segment-request (#286) (970e3ce)
- throttle final playlist reloads when using DASH (#277) (1c2887a)
1.4.2 (2018-11-01)
1.4.1 (2018-10-25)
1.4.0 (2018-10-24)
- limited experimental DASH multiperiod support (#268) (a213807)
- smoothQualityChange flag (#235) (0e4fdf9)
1.3.1 (2018-10-15)
1.3.0 (2018-10-05)
1.2.6 (2018-09-21)
- update issue template to link to the troubleshooting guide (#215) (413f0e8)
- update README notes for video.js 7 (#200) (d68ce0c)
- update troubleshooting guide for Edge/mobile Chrome (#216) (21e5335)
1.2.5 (2018-08-24)
1.2.4 (2018-08-13)
1.2.3 (2018-08-09)
- link to minified example in main page (#189) (15a7f92)
- use netlify for easier testing (#188) (d2e0d35)
1.2.2 (2018-08-07)
- typeof minification (#182) (7c68335)
- Use middleware and a wrapped function for seeking instead of relying on unreliable 'seeking' events (#161) (6c68761)
1.2.1 (2018-07-17)
1.2.0 (2018-07-16)
1.1.0 (2018-06-06)
1.0.2 (2018-05-17)
1.0.1 (2018-04-12)
1.0.0 (2018-04-10)
- update docs for overrideNative (#77) (98ca6d3)
- update known issues for fmp4 captions (#79) (c418301)
0.9.0 (2018-03-30)
0.8.0 (2018-03-30)
- feat: Live support for DASH
- use webwackify for webworkers to support webpack bundle (#50)
- fix: program date time handling (#45)
- update m3u8-parser to v4.2.0
- use segment program date time info
- feat: Adding support for segments in Period and Representation (#47)
- wait for both main and audio loaders for endOfStream if main starting media unknown (#44)
- add debug logging statement for seekable updates (#40)
- Fix audio only streams with EXT-X-MEDIA tags (#34)
- Merge videojs-contrib-hls master into http-streaming master (#35)
- Update sinon to 1.10.3=
- Update videojs-contrib-quality-levels to ^2.0.4
- Fix test for event handler cleanup on dispose by calling event handling methods
- fix: Don't reset eme options (#32)
- update mpd-parser to support more segment list types (#27)
- Removed Flash support (#15)
- Blacklist playlists not supported by browser media source before initial selection (#17)
- Skip flash-based source handler with DASH sources (#14)
- Added additional properties to the stats object (#10)
- Updated the mpd-parser to fix IE11 DASH support (#12)
- Initial DASH Support (#8)
- Initial release, based on videojs-contrib-hls 5.12.2