Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@playkit-js/playkit-js

kaltura5kAGPL-3.00.84.28TypeScript support: included
kaltura, player, html5 player

readme

PlayKit JS - State of the Art HTML5 Player

Build Status code style: prettier

PlayKit JS is an opinionated JavaScript library to enable seamless video playback across browsers and platforms with support for advanced streaming formats.

It leverages on HTML5 video, MediaSource Extensions and Encrypted Media Extensions for playback of clear and DRM protected video.

PlayKit JS goal is to make it as easy as possible to stream adaptive bitrate video and audio using modern browser technologies (although we do support progressive :-))

PlayKit JS is the core library to facilitate the handling of different playback formats and features with one interface. The library exposes a mechanism to extend its capabilities via plugins and adapters.

PlayKit JS is written in ECMAScript6, statically analysed using Flow and transpiled in ECMAScript5 using Babel.

Table of Contents

Getting Started

Installing

First, clone and run yarn to install dependencies:

git clone https://github.com/kaltura/playkit-js.git
cd playkit-js
yarn install

Building

Then, build the player

yarn run build

Embed the Player In Your Test Page

Finally, add the bundle as a script tag in your page, and initialize the player

<script type="text/javascript" src="/PATH/TO/FILE/playkit.js"></script>
<div id="player-placeholder" style="height:360px;width:640px">
  <script type="text/javascript">
    var playerContainer = document.querySelector("#player-placeholder");
    var config = {...};
    var player = playkit.core.loadPlayer(config);
    playerContainer.appendChild(player.getView());
    player.play();
  </script>
</div>

Documentation

Running the Tests

Tests can be run locally via Karma, which will run on Chrome, Firefox and Safari.

yarn run test

You can test individual browsers:

yarn run test:chrome
yarn run test:firefox
yarn run test:safari

And Coding Style Tests

We use ESLint recommended set with some additions for enforcing Flow types and other rules.

See ESLint config for full configuration.

We also use .editorconfig to maintain consistent coding styles and settings, please make sure you comply with the styling.

Compatibility

TBD

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the AGPL-3.0 License - see the LICENSE.md file for details

changelog

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

0.84.28 (2025-06-05)

Bug Fixes

  • FEC-13481: YouTube entries inside playlist cause wrong behavior (#818) (385bb55)

0.84.27 (2025-05-11)

Bug Fixes

  • (SUP-48028): Player V7 does not display access control message (#816) (bd9e85b)

0.84.26 (2025-04-24)

Features

0.84.25 (2025-04-02)

Bug Fixes

  • SUP-47317: [Saxion] inquiry about correct work of default captions (#813) (7342358)

0.84.24 (2025-03-10)

Features

0.84.23 (2025-03-06)

Bug Fixes

  • SUP-45555: Missing Captions in SafariMac and iOS (#811) (b43a1c2)

0.84.22 (2025-02-07)

Bug Fixes

  • FEC-14361: Fix for not showing captions (#808) (5051487)

0.84.21 (2025-01-23)

Bug Fixes

  • FEC-14257: Fix duplicating captions on Safari (#806) (2bf8729)

0.84.20 (2025-01-09)

Bug Fixes

0.84.19 (2024-12-19)

0.84.18 (2024-12-19)

Bug Fixes

  • ADA-1778: [ORS] - Firefox playerkit - Focusable but hidden/unlabeled elements in tabbing order (#804) (f050ffc)

0.84.17 (2024-11-14)

Bug Fixes

  • SUP-37490: Align captions with clipTo/SeekFrom Values in PlayManifest (8f24f03)

0.84.16 (2024-10-13)

Bug Fixes

  • SUP-44939: [Player] Numeric Position not working on left-positioned captions, AWS (#796) (1146aba)

0.84.15 (2024-09-19)

Bug Fixes

  • FEC-14080: Accessibility fix for the top bar and the bottom bar (79975d9)

0.84.14 (2024-09-08)

0.84.13 (2024-09-05)

Bug Fixes

  • FEC-14080: Accessibility fix for the top bar and the bottom bar (84824f4)

0.84.12 (2024-08-03)

Bug Fixes

  • FEC-14058: Playlist - Loading Youtube and Image entries throws an error (31130fe)

0.84.11 (2024-07-11)

Bug Fixes

  • SUP-42112: Advanced Caption Settings not working in iOS (#783) (1463a41)

0.84.10 (2024-06-30)

0.84.9 (2024-06-02)

0.84.8 (2024-04-09)

Features

  • FEC-13664: Add the ability to configure default alignment of captions on the player (#772) (55c5aca)

0.84.7 (2024-03-31)

0.84.6 (2024-02-25)

Bug Fixes

  • SUP-41054: Playlist Chapter display issue with Live to VOD (#768) (8df66e2), closes #379

0.84.5 (2024-02-04)

Bug Fixes

  • FEC-13669: Aligning all repos with the latest kaltura-browserslist-config to eliminate different browser target among repos (59be063)

0.84.4 (2024-01-18)

0.84.3 (2024-01-07)

Bug Fixes

  • restore window object where needed (22c594e)

0.84.2 (2024-01-07)

Bug Fixes

  • SUP-39894: fix bug in seekToLiveEdge (#747) (3af100c)

0.84.1 (2023-12-07)

Bug Fixes

  • ADA-82: Caption Texts are Not Showing when Moving Cursor in Time Bar (#738) (005b774), closes #147

0.84.0 (2023-11-26)

Features

  • FEC-13462: handle the playback rate after medialoaded event (#733) (16a4ffa)

0.83.1 (2023-10-31)

Bug Fixes

  • SUP-39574: Enable captions button is not working (#725) (1f66b30)

0.83.0 (2023-10-08)

Features

  • FEC-13390: add canary workflow that uses script from common (#723) (3c05dde)

0.82.7 (2023-08-21)

0.82.5 (2023-06-28)

Bug Fixes

  • FEC-13240: iOS safari will start from pos 0 instead of live edge (4b68e38)

0.82.4 (2023-06-07)

Bug Fixes

  • FEC-13108: Start time can't be set to 0 in loadMedia for live with dvr (78c2401)

0.82.3 (2023-05-17)

Bug Fixes

  • FEC-13123: replace travis with github actions (#712) (60212bf)

0.82.2 (2023-05-08)

Bug Fixes

  • FEC-13123: replace travis with github actions (822eab8)

0.82.1 (2023-03-22)

Bug Fixes

  • FEC-12988: fix image tracks row/cos values got mixed (#705) (cbb9ad0)
  • FEC-12991: Left-positioned captions are centered on Firefox (#704) (0edfc96)

0.82.0 (2023-02-22)

Bug Fixes

Features

  • FEC-11970: switch from dynamic manifest to static (9f92e86)

0.81.0 (2023-01-26)

Bug Fixes

  • FEC-12686: Web - When changing the caption from RUS to JAP in the middle of the video, all of the past caption are shown at once (97f97e6)
  • FEC-12848: set abr.capLevelOnFPSDrop to default false. (#696) (f22b4c7)

Features

0.80.10 (2022-12-28)

Bug Fixes

0.80.9 (2022-12-07)

Bug Fixes

  • FEC-12679: ISO Code for Chinese and Spanish in Multi Audio (#673) (7ad97e1)

0.80.8 (2022-11-02)

Bug Fixes

  • FEC-12648: Text style configuration is not working (#669) (9fcd83c)
  • FEC-12691: shaka Text Track Displayer does not work unless useNativeTextTrack set to true (c0c78fc)

0.80.7 (2022-10-06)

Bug Fixes

  • FEC-12615: add configuration to toggle emsg listener (#668) (c752a2c)

0.80.6 (2022-10-03)

Bug Fixes

  • FEC-10833: captions not auto selected from the user preferences (#665) (c10c6df)
  • FEC-12121: youtube UI is not responsive for clicks (#664) (39300fd)
  • FEC-12189: Stream doesn't start if open a program with a bookmark (#652) (2da12c9)
  • FEC-12275: add log when event exception happens (#666) (9d467e1)
  • FEC-12350: external captions shown while cc button disabled (#662) (788d983)
  • FEC-12351: cc button changed to enable during change media (#663) (b213ab7)
  • FEC-12596: Related plugin doesn't load because of an exception (#667) (6f799ad)

0.80.5 (2022-08-31)

Bug Fixes

0.80.4 (2022-08-04)

Bug Fixes

  • FEC-12431: [WEB] - [O2CZ] Player_Web_MAC_Safari - The progress bar jumps front and back when seek (cd181f8)

0.80.3 (2022-06-09)

Bug Fixes

  • FEC-12252: getTextTracks should be called getNativeTextTracks (#650) (bad77bc)

0.80.2 (2022-05-19)

Build System

0.80.1 (2022-05-12)

Build System

  • use node_js 17 in travis (ce8e029)

0.80.0 (2022-05-12)

Features

  • FEC-12015: CC button for on/off subtitles (#648) (c37d2d6)

0.79.0 (2022-03-23)

Bug Fixes

Features

  • FEC-11894: persist user selection during playlist playback (#634) (f15d365)
  • FEC-11964: Allow configuring player to auto-select audio track according to browser locale (#640) (ada882c)
  • FEC-11979: add setCurrentTime middleware (#641) (366e381)

0.78.0 (2022-02-16)

Bug Fixes

Features

0.77.0 (2022-01-19)

Features

  • FEC-11761: expose stream timed metadata - phase 2 (#623) (7812357)

Tests

0.76.1 (2022-01-02)

Bug Fixes

  • export setLogHandler (#622) (be966f0)
  • FEC-11745: Player_Web_Mac_Safari - Flash of live stream after Start Over (#620) (c83adc2)

0.76.0 (2021-12-21)

Bug Fixes

  • FEC-11742: components with known vulnerabilities (#617) (3ee1dc1)

Features

  • FEC-11632: expose stream timed metadata (#618) (f841b7e)

0.75.0 (2021-11-10)

Bug Fixes

Features

  • FEC-11666: Primary + Redirect token reports (#613) (88f13b0)

0.74.4 (2021-10-27)

Build System

0.74.3 (2021-10-27)

Bug Fixes

0.74.2 (2021-10-12)

Bug Fixes

  • FEC-11606: add TextTrack label to TIMED_METADATA event (#609) (9465501)

0.74.1 (2021-09-30)

Bug Fixes

  • FEC-11547: The thumbnalils images should be relative to the VTT file adress by default (#607) (989a2c0)

0.74.0 (2021-09-15)

Bug Fixes

Features

0.73.1 (2021-08-26)

Bug Fixes

  • FEC-11397: add listening on the player core to the thumbnails handler error events (#602) (084b8bf)
  • FEV-1020: Exported Cue module (#600) (655d9ad)
  • (FEC-11484): Captions on Safari - Captions icon missing on specific entry on V7 player 1.11.1 (regression) (#597) (ab1cb2f)
  • FEC-10598: add streamId to PKAdOptions (#596) (ac2f7a0)
  • FEC-11050: some custom events are not dispatched from the player (#587) (acf4e1a)
  • FEC-11435: player not seeking to live edge after preroll ads (#592) (f3c6d2f)
  • FEC-11451: video tracks are always returned with active false in native adapter (92fd0db)
  • FEC-11467: caption selection changes across entries in playlists (#594) (b7d3134)

Tests

0.73.0 (2021-07-27)

Bug Fixes

  • FEC-10832: captions not shown in change media from media with 608 captions (#583) (a7dcf4f)
  • FEC-11402: preview doesn't work in video ratio different than 16:9 (#588) (e0b74cc)
  • FEC-11414: Externals text tracks with native subtitles not supported on IE 11 (#589) (af0f086)
  • FEC-11434: change media doesn't work on chromecast (#590) (4b47cdb)

Build System

  • FEC-11389: reduce builds from travis (31eb57b)

Features

  • FEC-10988: refactor 608/708 default player handling (#584) (7560841)

0.72.0 (2021-07-01)

Bug Fixes

  • FEC-11311: TV Platform Studio unable to preview playlist (#580) (9f543bc)

Features

  • FEC-10817: expose the current time of the video element in live streams (#559) (0774c9e)
  • FEC-11226: add support for passing timeout duration and timeout handler to xhr request (#574) (53f9f84)

0.71.0 (2021-06-02)

Bug Fixes

  • FEC-10381: sources config need to be passed via setSources api (#567) (4962b11)
  • FEC-11277: iOS14 - captions on native player are cut and misplaced in the first few seconds (#579) (f7eae2d)
  • FEC-11277: native IOS isFullscreen doesn't response correct answer (#576) (c64a3c3)
  • FEC-11280: IOS playsinline=false doesn't response correctly for isFullScreen (#577) (da9eba7)

Features

  • FEC-10980: Enable setting ABR settings on-the-fly (#549) (a8a3e9f)

0.70.1 (2021-05-11)

Bug Fixes

  • FEC-11215: forward and rewind controls are disabling (#572) (515a04e)

0.70.0 (2021-04-28)

Bug Fixes

  • FEC-11054: subtitle container width is not getting reset when user exits full screen mode (#563) (223b3f3)
  • FEC-11126: add useShakaTextTrackDisplay to text config (#561) (26cfe24)
  • FEC-11136: DASH playback on Shaka player gets stuck on Samsung TV (#562) (1578a62)
  • FEC-11145: spinner is displayed while changing the focus (#560) (55f131d)
  • FEC-11188: getThumbnail is failing when engine is undefined (#566) (e7f460f)

Features

  • FEC-11091: add support for XMLHttpRequest.withCredentials in request filter (#565) (ba413b9)

0.69.0 (2021-04-06)

Bug Fixes

  • FEC-10590: DOM play error on SmartTV on when stall happen on the beginning (#552) (089018c)
  • FEC-10963: filter duplicate captions (#547) (a61a710)
  • FEC-11035: catch resolve the promise chain and load create promise for each call. (#553) (f1e2fff)
  • FEC-11035: playback error dispatch from player instead of from engine (#545) (848bf1b)
  • FEC-11038: decorator API called with incorrect this(proxy) instead of the activeDecorator (#546) (35b83ad)
  • FEC-11052: audio stutters/lag in the newest V7 versions (#548) (10b1f20)
  • FEC-11108: loading spinner after unmuting on Safari (#554) (cff3cd0)
  • FEC-11118: video doesn't play, player crushes the application (#558) (d5231c3)
  • FEC-11119: VR (360) media doesn't work on safari browser - no video displayed (#557) (4da0a2c)

Features

  • FEC-10941: Use In-Stream DASH thumbnails on the timeline (#550) (37fc3fc)

0.68.1 (2021-03-02)

Bug Fixes

  • FEC-11037: multiple decorator exist after destroy plugin with decorator (#544) (ee11d45)

0.68.0 (2021-02-24)

Bug Fixes

  • FEC-10041: [Web] Allow IMA and IMA DAI to be used in parallel (#539) (c6b4a44)
  • FEC-10823: Change initial poster hiding to first playing or ad playing (#541) (9436db6)

Features

  • FEC-10768: expose in-stream DASH thumbnails (#543) (3b1d78e)
  • FEC-10915: let shaka and hls.js use their own default bandwidth estimators (#542) (e212b03)
  • FEC-10925: remove captions update delay (#534) (8497153)
  • FEC-10970: expose vpaid field on ad object (#540) (791b3c4)

0.67.0 (2021-01-28)

Bug Fixes

  • FEC-10890: the captions aren't displayed for audio entry and UI doesn't clickable. (#533) (bb888b1)
  • FEC-10924: add type for textTrackDisplaySetting (#537) (8d385c8)

Features

  • FEC-10657: add max stale level reloads config (#529) (b26065f)
  • FEC-10686: move startTime config from playback to sources (#531) (631d506)
  • FEC-10709, FEC-10712: player visibility - Auto-pause when player is out of view, Autoplay only when player is in view (#521) (895f16b)

0.66.0 (2021-01-07)

Bug Fixes

  • FEC-10564: keep the poster for display for an audio-only entry (#520) (68a7026)
  • FEC-10662: incorrect flow in destroy process (#512) (5ffe16c)
  • FEC-10760: Youbora - bufferUnderrun event fired when buffering started and no bufferDuration in Ping events (#516) (a287fa4)
  • FEC-10766: create static method for copy instead inner config (#524) (ab06f5d)
  • FEC-10816: Invalid currentTime values on start of live DASH (#522) (7dd6765)
  • FEC-10844: advanced caption settings custom caption is always marked even when choose sample (#525) (2b9bbc7)
  • FEC-10878: order of text captions are broken on Safari browser (#527) (37bfb4f)
  • FEC-10879: Safari ignores explicit text track (#528) (8c9d503)
  • CEA708 subtitle doesn't get correct index on native (#514) (d87e7b1)

Features

  • FEC-10766: create text config section and option for styling (#518) (c4e0cb5)

0.65.0 (2020-12-07)

Bug Fixes

  • FEC-10324: class instances merged like simple object (#500) (f06aa5e)
  • FEC-10643: seek to live edge on first play redundant (#502) (6583361)
  • FEC-10662: source removed before destroy process finish (#503) (55b2e77)
  • FEC-10679: external native text track still existing on API for next media (#507) (6de30bb)
  • FEC-10681: pre roll stuck half way or doesn't allow the content to start playing on iphone and chrome (#509) (6f5ded1)

Features

  • FEC-10486: Lock orientation according to screenLockOrientionMode config when switching to full screen (#499) (21d7227)
  • FEC-10632: handle player dimensions dynamically (#506) (9cbf0cf)
  • FEC-10682: signal seek in different way from buffering. (#508) (ec69082)

0.64.3 (2020-11-03)

Bug Fixes

  • FEC-10427: remove cues for native external subtitles (#495) (b95cc5b)
  • FEC-10510: iOS14 - cannot exit from native PiP by the player's PiP button (#483) (ddf3a87)
  • FEC-10537: When multi players on page, isFullscreen() API returns true for all of them (#498) (40b47f9)
  • change modules flag to default (#496) (3a9e305)
  • FEC-10451: captions misaligned in V7 VTT (#491) (5822884)
  • FEC-10513: iOS14 - cannot enter to full screen from PiP (#484) (bdc8761)
  • FEC-10514: iOS14 - wrong UI on inBrowserFullscreen from PiP (#492) (6d9b473)
  • FEC-10562: add wkwebview fairplay support (#497) (01236c6)

Build System

  • remove plugins that already exist on preset-env (#490) (1c71c02)

0.64.2 (2020-10-06)

Bug Fixes

  • FEC-10485: When multi players on page, 'enterfullscreen' event triggers by all players (#488) (9438669)
  • FEC-10512: handle memory leaks in smart TV (#487) (4e4a78f)
  • FEC-10516: Fullscreen event dispatched twice from the player (#489) (359bb68)

0.64.1 (2020-09-08)

0.64.0 (2020-09-07)

Bug Fixes

  • FEC-10468: PLAYBACK_START not fired on autoplay (#480) (950da7a)

Build System

  • FEC-10064: add automatic release notes (#481) (ed5cfa9)

Features

  • FEC-10146: Add native video track analytics data (#478) (c125be5)

Tests

0.63.0 (2020-08-05)

Bug Fixes

  • FEC-10266: ima dai doesn't show ad preset (#473) (521ae1f)
  • FEC-10312: ready promise rejected in recoverable error (#465) (4015286)
  • FEC-10335: ad doesn't play correctly on same video tag with MSE (#471) (28e7dd3)

Features

  • FEC-10057: move the plugin manager to kaltura player (#463) (59026c0)
  • FEC-10290: upgrade NPM packages (#446) (724715e)

0.62.0 (2020-07-07)

Bug Fixes

Features

0.61.3 (2020-06-10)

Bug Fixes

  • FEC-10122: clear drop frame watcher and DRM selection (#455) (6950806)

0.61.2 (2020-05-10)

Bug Fixes

  • FEC-10014: Content playback fails when user minimise the browser on IOS (#452) (1d2b92c)
  • FEC-9997: out of DVR window will lead to live edge (#451) (c18a013)

0.61.1 (2020-04-13)

0.61.0 (2020-04-13)

Bug Fixes

  • FEC-9605: load middleware called twice when preload is 'auto' (#448) (66dbb33)

Features

0.60.1 (2020-03-10)

Bug Fixes

0.60.0 (2020-02-24)

Features

0.59.9 (2020-02-03)

Bug Fixes

  • FEC-9614: player gets stuck when there are empty captions in ie11 (#441) (c5ca990)
  • FEC-9614: players get stuck when there are empty captions in ie11 - additional fix (#443) (8c49b12)

0.59.8 (2020-01-30)

0.59.7 (2020-01-30)

0.59.6 (2020-01-30)

Bug Fixes

  • FEC-9534: changing the bitrate post completion of any content changes replay to play icon (#440) (e329820)
  • FEC-9577: Hisense playback doesn't work (#438) (281421b)
  • FEC-9614: Player is stuck when having empty lines on VTT on E11 (#436) (e472628)
  • FEC-9629: Player is not inline when rendered after the DOM loads (#439) (13f36b5)

0.59.5 (2020-01-29)

Bug Fixes

  • FEC-9534: changing the bitrate post completion of any content changes replay to play icon (#440) (e329820)
  • FEC-9577: Hisense playback doesn't work (#438) (281421b)
  • FEC-9614: Player is stuck when having empty lines on VTT on E11 (#436) (e472628)

0.59.4 (2020-01-09)

Bug Fixes

  • FEC-9609: after postroll there isn't replay button using attach detach api (#435) (7dde1ef)

0.59.3 (2020-01-08)

Bug Fixes

  • FEC-9600: new ad layout - pre-mid-post rolls - no replay button appears after post-roll ad finished (#434) (de9a5b4)
  • FEC-9603: load doesn't call on play after attach detach (#433) (fd8197e)

0.59.2 (2020-01-05)

Bug Fixes

  • FEC-9459: load implementation in middleware is not working as expected (#431) (a7ec5f3)
  • FEC-9585: when pre-roll+bumper exist need re-click to play the content - iOS (#432) (13cbc50)

0.59.1 (2019-12-31)

Bug Fixes

  • FEC-9583: race condition on load ios playback (#430) (4f77aff)

0.59.0 (2019-12-29)

Bug Fixes

  • FEC-9513: bumper - endless spinner when auto play is failed (#424) (c1555f6)
  • FEC-9523: add attach detach implemention (#425) (f1f977c)

Features

  • FEC-9452: async request/response filter handlers (#428) (e4035fc)
  • FEC-9474: ad layout - time definitions (#427) (678d37d)

0.58.1 (2019-12-05)

Bug Fixes

  • FEC-9471: slider progress bar exceeds 100% (#422) (0bb9644)
  • FEC-9527: The poster is hidden when auto play is failed (#423) (a28b3a0)

0.58.0 (2019-12-01)

Bug Fixes

  • FEC-9480: there isn't event for play promise failed just autoplay failed (#412) (75423d9)
  • FEC-9493: new ad layout - dragging to the end causes the midroll to play with replay button (#416) (a81f0ae)
  • FEC-9510: auto play failed in ios (#421) (094daea)

Features

  • FEC-9462: enable caption reading by screen reader (#419) (327a07a)
  • FEC-9469: ad layout - ads xml response (#418) (b322bcb)
  • FEC-9470: ad layout - bumper support (#420) (fbd1cb8)
  • FEC-9473: ad layout - snap back and start time (#417) (7b17de0)

0.57.0 (2019-11-12)

Bug Fixes

  • FEC-9420: PIP button is showed but not working (#414) (d8be9b4)
  • FEC-9434: the first frame of content flashes for a second before the ad playback. (#413) (14dc625)

Features

0.56.0 (2019-10-31)

Bug Fixes

  • FEC-9379: add detection for chromium Edge (#409) (13c9883)
  • FEC-9427: use response type in xhr arraybuffer for Fairplay request (#410) (f01345e)

Features

0.55.4 (2019-10-10)

Bug Fixes

  • FEC-9333: when playing a playlist and closing the countdown window, the next entry starts automatically (#405) (2f68bd0)
  • FEC-9385: new ad layout, in playlist the ads playing for one entry only (#404) (befe751)

0.55.3 (2019-10-06)

Bug Fixes

  • FEC-9385: new ad layout, in playlist the ads playing for one entry only (#404) (befe751)

0.55.2 (2019-10-02)

Bug Fixes

  • FEC-9313: weird behaviour IOS when configuration autoplay native (#403) (1b4a3ca)

0.55.1 (2019-09-26)

Bug Fixes

0.55.0 (2019-09-25)

Bug Fixes

  • FEC-9362: IPad OS wasn't recognised on UAParser (#401) (4eaa694)

Features

0.54.0 (2019-09-18)

Bug Fixes

Features

  • FEC-8696: allow adding/changing discrete components in UI (6b4596f)

0.53.0 (2019-09-12)

Features

0.52.1 (2019-08-28)

Bug Fixes

0.52.0 (2019-08-26)

Bug Fixes

  • FEC-8873: fatal error occurs when coming back from idle in Native HLS IOS (#390) (3569cc3)
  • FEC-9283: trigger RESIZE events in Firefox (#386) (e61ee46)
  • FEC-9291: Player without engine get crash after load media (#393) (d0d966f)

Features

  • FEC-9137: DRM protocol selection (#392) (7765082)
  • FEC-9271: expose interface and methods to enable customizing DRM request/response (#391) (0d09083)

0.51.5 (2019-08-19)

Bug Fixes

  • FEC-8873: fatal error occurs when coming back from idle in Native HLS IOS (#390) (3569cc3)
  • FEC-9283: trigger RESIZE events in Firefox (#386) (e61ee46)

0.51.4 (2019-08-04)

Bug Fixes

  • FEC-9277: inBrowserFullscreen doesn't work on ios (#384) (290bb55)

0.51.3 (2019-08-01)

Bug Fixes

  • FEC-9274: captions are displayed on buttom left of player area and are not aligned (#383) (63a8141)

0.51.2 (2019-07-28)

Bug Fixes

  • FEC-9243: external subtitles fail on safari (#379) (ababb03)
  • FEC-9261: playback doesn't play with non-linear ads (#380) (fa2b141)
  • FEC-9262: playback doesn't return to start after playback with ads in LG TV (#381) (74cfb40)

0.51.1 (2019-07-21)

Bug Fixes

  • FEC-9237: add app protocol to playkit utils (#378) (ced2a11)

0.51.0 (2019-07-19)

Features

0.50.0 (2019-07-19)

Features

0.49.0 (2019-07-07)

Bug Fixes

  • ad system is missing in the ad options (#362) (df1b710)
  • FEC-9041: 'HTMLVideoElement.webkitDisplayingFullscreen' deprecation warning (01a7f1f)
  • FEC-9177: Smart TV showed as mobile device (#365) (3eb342b)
  • FEC-9187: LG TV different behavior for LIVE (#366) (1a4f1fd)
  • FEC-9192: post bumper doesn't play (#368) (f6eaefc)
  • typo in playbackRates config (#371) (62eb474)

Features

0.48.0 (2019-06-20)

Bug Fixes

Features

0.47.0 (2019-06-16)

Bug Fixes

  • FEC-9177: Smart TV showed as mobile device (#365) (3eb342b)
  • FEC-9187: LG TV different behavior for LIVE (#366) (1a4f1fd)

Features

0.46.2 (2019-05-16)

Bug Fixes

  • ad system is missing in the ad options (#362) (df1b710)
  • FEC-9041: 'HTMLVideoElement.webkitDisplayingFullscreen' deprecation warning (01a7f1f)

0.46.1 (2019-05-01)

Bug Fixes

  • FEC-9012: add mediaType VOD configuration check for isLive verification (#357) (b76033f)

0.46.0 (2019-04-15)

Features

0.45.8 (2019-04-14)

Bug Fixes

  • FEC-9037: When entering/exiting fullscreen, the events are sent twice in several devices (#356) (00f9636)

0.45.7 (2019-04-07)

Bug Fixes

  • FEC-8826: pass html element from api and there isn't check for ios in isfullscreen method (#354) (0844cd2)
  • FEC-9021: [iOS] - different behaviour after closing fullscreen and enter fullscreen again (#355) (4a01b41)

0.45.6 (2019-04-01)

Bug Fixes

  • FEC-8826: fullscreen implementation moved to core (#353) (2bab7bd)

0.45.5 (2019-03-06)

Bug Fixes

  • FEC-8957: cannot pause/resume the ad after change media on iOS (#352) (c0efdfa)

0.45.4 (2019-02-27)

Bug Fixes

  • FEC-8381: when external caption http request fails, the error message is not clear (#347) (6c97e16)
  • FEC-8565: AUTOPLAY_FAILED event is dispatched after play-pause on slow network (#349) (eeb3d15)
  • FEC-8911: autoplay is not working on Samsung Native (built-in) browser (#348) (2000dab)

0.45.3 (2019-02-04)

Bug Fixes

  • FEC-8858: the captions languages in list displayed twice (#341) (6b0761d)
  • FEC-8865: the captions style change is not applied on iOS (#342) (3671dbd)
  • FEC-8874: captions look and feel issues (#343) (d59dc43)

0.45.2 (2019-01-31)

Bug Fixes

  • FEC-8858: the captions languages in list displayed twice (#341) (6b0761d)
  • FEC-8865: the captions style change is not applied on iOS (#342) (3671dbd)

0.45.1 (2019-01-24)

0.45.0 (2019-01-20)

Bug Fixes

  • FEC-8556: inbound captions frame is stuck in case switching captions using wrong external url (#335) (7124090)
  • FEC-8572: change the way the player compute text tracks font size (#328) (13bf1ae)
  • FEC-8763: add loadMedia life cycle hook for plugins (#337) (dbc200a)
  • FEC-8770: iOS - captions style it applies for both players in the same page (#329) (d7877c3)
  • FEC-8829, FEC-8807: native adapter throws an error after 30 seconds pause (#339) (9596dd9)

Features

0.44.1 (2018-12-24)

Bug Fixes

  • FEC-8770: iOS - captions style it applies for both players in the same page (#329) (d7877c3)

0.44.0 (2018-12-20)

Bug Fixes

  • FEC-8779: change media does not work if external caption is shown (#331) (2b48772)

Features

  • FEC-8700: add config option to specify DRM system (#330) (d7640f4)

0.43.1 (2018-12-16)

Bug Fixes

  • FEC-7444: when selecting fullscreen in android captions size is too large (#327) (23009e3)

0.43.0 (2018-12-12)

Bug Fixes

  • FEC-8714: change media doesn't work after player.destroy() on iOS (#317) (46b4928)
  • FEC-8714: removing static video element from the engine (#321) (86fd4f5)
  • FEC-8715: if label does not exist in manifest use the language property (#320) (1af6dea)
  • FEC-8722: more than one caption is checked at the caption menu (#316) (7a1ef49)

Features

  • FEC-8147: set default settings for ABR settings (#323) (b094b39)
  • FEC-8639: fairplay uDRM error handling refining (#319) (e3d4a49)
  • FEC-8682: end screen (#318) (435e812)

0.42.1 (2018-12-04)

Bug Fixes

  • FEC-8715: if label does not exist in manifest use the language property (#320) (774ac77)

0.42.0 (2018-11-22)

Bug Fixes

  • FEC-8712: replay button does not display when using a non liner ad (#313) (9546140)

Features

0.41.2 (2018-11-20)

Bug Fixes

  • FEC-8687: add bookmark events (2d31da9)
  • FEC-8695: reset/destroy engine only after all services are destroyed (#309) (95b5c5c)

0.41.1 (2018-11-15)

Bug Fixes

  • FEC-8668: inline styled vtt parser crash (#308) (dec6443)

0.41.0 (2018-11-14)

Bug Fixes

  • FEC-8650: the video continues in picture-in-picture window when full screen opened (#304) (f670ccc)
  • add handle media error (#305) (27e739a)

Features

  • FEC-8641: add ability to disable picture in picture (#307) (7c60020)

0.40.0 (2018-11-07)

Bug Fixes

0.39.2 (2018-11-07)

Bug Fixes

  • FEC-8650: the video continues in picture-in-picture window when full screen opened (#304) (f670ccc)

0.39.1 (2018-11-05)

0.39.0 (2018-11-05)

Bug Fixes

  • FEC-8554: update captions on resize event (#297) (fb9724b)
  • FEC-8621: player detory event is not disaptched (#302) (b2919e7)
  • FEC-8633: HLS fairplay fails with multiple players or consecutive playbacks (#301) (4cf064b)

Features

  • FEC-7808: added the option to disable cap level on fps drop (#299) (a1fbb7a)
  • FEC-7808: quality watcher for the player (#295) (c0e294f)
  • expose plugins instances (#300) (ea4921f)
  • FEC-8277: Picture in Picture support (#298) (ca32247)

0.38.1 (2018-10-28)

Bug Fixes

  • FEC-8585: next video doesn't play after preroll (#296) (75ed6db)

0.38.0 (2018-10-11)

Bug Fixes

  • FEC-7594: native adapter does not raise an error in case network disconnects. (#293) (fd3fb93)

Features

0.37.0 (2018-09-16)

Features

0.36.0 (2018-09-05)

Bug Fixes

  • append engine el once per engine (#276) (a44796d)
  • ads: update UNDEFINED_ERROR code name (#289) (62f7fea)
  • FEC-7594: native adapter keeps buffering when connection is lost (#283) (aba970a)
  • FEC-8440: add critical error when no engine to play source (#275) (acc4b54)
  • FEC-8457: autoplay check fails due to browser CPU/load issue (#279) (ca56930)
  • FEC-8529: waiting timeout is not cleared on native adapter destroy #286 (ac9bdc1)

Features

0.35.2 (2018-08-22)

Bug Fixes

  • FEC-8143: The video starts with 'Eng' captions although configuration set to 'Rus' on Native (#280) (47b468d)
  • html5: destroy _mediaSourceAdapter on engine destroy (#284) (2d3db1e)

0.35.1 (2018-08-09)

Bug Fixes

  • FEC-8461: Do not show 708 caption by default (#277) (e2df487)

0.35.0 (2018-08-05)

Bug Fixes

  • FEC-8413: on change media with data saver on the player is stuck on the poster #273 (28a0bd8)

Features

0.34.0 (2018-07-26)

Bug Fixes

Features

0.33.0 (2018-07-23)

Bug Fixes

  • FEC-8376: the menu ui doesn't show the right caption after selection (#268) (d395754)
  • FEC-8392: adding missing download manager error codes (#262) (b9714ad)
  • FEC-8419: double captions on ios when toggling fullscreen (#267) (5d856c6)

Features

  • FEC-8390, FEC-8246: support 608/708 captions (#265) (1a616c7)
  • FEC-8394: move rates to engine (#264) (6d14be5)

0.32.4 (2018-07-12)

Bug Fixes

0.32.3 (2018-07-09)

Bug Fixes

  • FEC-8386: Kava analytics retrieved by default on OTT (#261) (6345999)

0.32.2 (2018-07-04)

Bug Fixes

0.32.1 (2018-07-04)

Bug Fixes

  • FEC-8376: when 'Off' should be displayed by default, the external language is displayed #258 (793315e)

0.32.0 (2018-07-03)

Bug Fixes

  • refactor 'timeupdate' logic (#255) (0bf2ae3)
  • FEC-8367: When changing font family the font is not saved #256 (e65098f)
  • FEC-8370: external captions does not show on edge/IE (#254) (9d0f0c4)

Features

0.31.2 (2018-07-02)

Bug Fixes

  • FEC-8354: When selecting Audio language and refresh the page, the display language returns to default (but actual audio proper) (#247) (a47f60c)
  • adding external captions default ability (#249) (eaef9d8)
  • improve error handling in external captions handler #248 (d6dca09)
  • FEC-8366: seek to an already started caption does not work (#251) (6d2815f)
  • FEC-8369: toggling between external text tracks does not work (#252) (fd09050)

0.31.1 (2018-06-28)

Bug Fixes

  • FEC-8357,FEC-8348: VR is not working on Safari and Samsung Native Browser (#246) (58d094e)

0.31.0 (2018-06-26)

Features

0.30.3 (2018-06-25)

Bug Fixes

  • FEC-8347: video is not playing 360 when adTagUrl empty (#244) (4741764)

0.30.2 (2018-06-21)

0.30.1 (2018-06-21)

0.30.0 (2018-06-20)

Features

0.29.0 (2018-06-17)

Bug Fixes

  • FEC-8233: handle media & error recovering (#226) (48c29fe)
  • FEC-8255: video starts from beginning instead 12th sec (#230) (0136c88)
  • FEC-8257: research autoplay detection handling (#232) (605eea1)
  • FEC-8272: sometimes when seeking spinner display constantly in IE11 (#234) (7a28049)
  • FEC-8315: two caption events triggered after first play (#238) (a46f9bb)
  • FEC-8319: When starting to play an mp4 video, a TEXT_TRACK_CHANGED event is sent twice (#240) (c673454)

Features

  • FEC-8243: allow to disable specific plugins (#229) (e16a903)

0.28.0 (2018-05-26)

Bug Fixes

  • FEC-8180: when video starts fallback muted and user select to change media the unmute icon is not displayed although video still muted (#227) (bf69fd5)

Features

  • FEC-8244: do not throw plugin load errors on main thread (#227) (61c3cda)

0.27.1 (2018-05-10)

Bug Fixes

  • FEC-8202: Session ID isn't sent when reporting analytics (#224) (9133edb)
  • FEC-8203: Live with DVR is not playing live edge in first play (#225) (042baec)

0.27.0 (2018-05-06)

Bug Fixes

Features

  • FEC-7916: support Fairplay DRM on Mobile safari 11 on iOS (#219) (c7b7498)
  • FEC-8123: add clone support for custom types (#217) (482bd29)
  • FEC-8140: expose tracks as immutable on API (#218) (a53587d)

0.26.0 (2018-04-25)

Features

0.25.1 (2018-04-23)

Bug Fixes

  • FEC-7937: video first frame is displayed before pre-roll ad starts (#215) (dd08d9c)

0.25.0 (2018-04-16)

Features

0.24.0 (2018-04-10)

Bug Fixes

  • FEC-7330: removed flow annotation which failed hls build (#210) (66f25b2)

Features

0.23.0 (2018-04-09)

Bug Fixes

  • FEC-8090: after disabling captions and toggling full screen the last caption frame is displayed (#207) (fe7079f)
  • FEC-8108: no playback after preroll - android browser (#209) (e292180)

Features

  • FEC-7330: enable setting custom track labels by app (#208) (bad2b06)

0.22.0 (2018-03-27)

Features

  • FEC-8079: add reset API to player and use it for change media (#205) (24838b1)
  • FEC-8083: add set capability API (#206) (db3de97)

0.21.8 (2018-03-14)

Bug Fixes

  • FEC-8026: external OTT VOD/Live media doesn't works on IE 11 (#204) (fd8bbd6)

0.21.7 (2018-03-12)

Bug Fixes

0.21.6 (2018-03-08)

Bug Fixes

0.21.5 (2018-03-05)

Bug Fixes

  • FEC-7970: Change media from DRM to DRM is not working (#202) (b9974ad)

0.21.4 (2018-02-28)

Bug Fixes

  • FEC-7371: video fails to play on old browsers or browsers with data saver mode on (cont.) (#201) (4b5c229)

0.21.3 (2018-02-26)

Bug Fixes

  • FEC-7371: video fails to play on old browsers or browsers with data saver mode on (#200) (14d6f9a)
  • FEC-7872: Player stuck in case of multirequest is not fully loaded (#197) (9537d42)
  • FEC-7933: Default language in IE11 is not the same as configured as explicit (#198) (eb38566)
  • FEC-7939: 'off' option appears twice after change media (#199) (506fe8e)

0.21.2 (2018-02-19)

Bug Fixes

  • operations order on change media (#192) (601e0ff)
  • FEC-7813, FEC-7918: the captions are OFF in the menu, despite explicit captions configured and shown on iOS (#196) (8548a9e)
  • FEC-7907, FEC-7872: No play button when preload=auto and ima plugin enabled (#193) (2975fdc)

0.21.1 (2018-02-14)

Bug Fixes

  • FEC-7564: trigger timeupdate in case of live when the playback is paused (#191) (68ba8bf)
  • error printing (#194) (b62cb6d)

0.21.0 (2018-02-11)

Bug Fixes

  • FEC-7392 FEC-7882: Live+DVR - unavailable time shown in the seekbar (#187) (98a6483)
  • FEC-7896: endless spinner appears right after changing audio track in IE and Edge (#189) (2da8940)

Features

0.20.1 (2018-02-06)

Bug Fixes

  • FEC-7564: durationchange not triggered while live playback - safari (#178) (d0490fc)
  • canPreload check logic is not accurate (#179) (3d37524)

0.20.0 (2018-01-10)

Bug Fixes

  • add HLS_BUFFER_STALLED_ERROR error code (#171) (596a295)
  • catching failed ready promise (#172) (213f339)
  • prefix player types (#177) (b9029c7)
  • this._config.plugins.ima check fails if there are no plugins at all (#173) (c737649)

Features

0.19.1 (2017-12-12)

Bug Fixes

  • add HLS_BUFFER_STALLED_ERROR error code (#171) (596a295)

0.19.0 (2017-12-06)

Features

0.18.1 (2017-11-28)

Bug Fixes

  • FEC-7554: autoplay test fails on safari and halting playback (#167) (59665e6)

0.18.0 (2017-11-26)

Bug Fixes

  • update canPlaySource API in engine interface (#166) (6185bd0)

Features

0.17.1 (2017-11-22)

Bug Fixes

  • FEC-7504: explicit language is not working on production env (#164) (80e7f36)

0.17.0 (2017-11-16)

Bug Fixes

  • FEC-7355: don't show poster when autoplaying is on (#158) (d940225)
  • FEC-7436: preload auto: first live frame appears with entry thumbnail (#160) (8e623d9)

Features

0.16.0 (2017-11-07)

Bug Fixes

  • FEC-7380, FEC-7381: there are captions displayed when the captions are supposed to be 'off' (#157) (4b52b80)

Features

0.15.0 (2017-11-01)

Bug Fixes

  • FEC-7266: reposition & resize captions when changing to/from full screen (#155) (d2892b8)

Features

0.14.2 (2017-10-30)

Bug Fixes

  • FEC-7335: reset subtitle display on player reset (#152) (f48efa1)
  • empty captions menu when playing native hls (#153) (623d83a)

0.14.1 (2017-10-26)

Bug Fixes

  • FEC-7106: captions on IE & edge (#147) (4447c1d)
  • FEC-7345: only off option appears in text track menu (safari) (#148) (cff8e4e)
  • FEC-7356: player is loading twice for 'preload=auto' and 'autoplay=true' (#149) (98e7919)
  • filter empty video element text tracks (#150) (58ada7c)

0.14.0 (2017-10-25)

Features

  • autoplay: manage autoplay promise and allowMutedAutoPlay flag (#144) (79a2610)

0.13.1 (2017-10-25)

Bug Fixes

  • FEC-7116: change playinline to true by default (aa85d07)
  • fec-7334: the player state has not saved on change media (#145) (b3c8cf2)
  • FEC-7348: fix fairplay exception (#146) (f4e5911)

0.13.0 (2017-10-23)

Bug Fixes

  • FEC-7046: seek to duration safety using offset (#135) (85ad548)
  • FEC-7242: subtitles transition in safari 9.0 (#136) (4d14ade)
  • FEC-7317: check if VTTCue and TextTrackCue are not undefined (#137) (604f7a6)
  • README: typos and travis ref (#141) (e57027e)

Features

0.12.0 (2017-10-16)

Bug Fixes

  • FEC-7228: fixing default captions flow (#133) (56a9931)

Features

0.11.0 (2017-10-10)

Bug Fixes

  • FEC-7071: call pause on ended for browsers which don't do it natively (#129) (56e51a1)
  • initialization of textStyle object (#127) (83bf106)
  • FEC-7226, FEC-7243: create comparer func to default tracks (#128) (204cc61)
  • FEC-7238: fix captions on IE11 and Edge (#131) (c79ddf7)
  • order media source adapters depends on preferNative value (#132) (bb32e2e)

Features

  • add default text font family and expose ENUM (#130) (5384eb2)

0.10.0 (2017-10-02)

Features

  • caption refactor + support cvaa & default audio/text tracks (#118) (187cf78)

0.9.0 (2017-09-26)

Bug Fixes

  • base-plugin: getConfig api should return copy of his config (#123) (26a74ea)

Features

0.8.0 (2017-09-18)

Bug Fixes

  • FEC-7172: fix DRM support test on Android devices (#117) (a5ec887)

Features

  • player doesn't attach itself to parent (#113) (336f4ab)

0.7.0 (2017-09-17)

Bug Fixes

  • FEC-7089: handle bitrate change in android browser (#110) (5e5a648)
  • FEC-7138: enable setting 0 and 1 values (#112) (5d88258)
  • load plugins via the constructor (#116) (a602336)

Features

  • event-manager: support listen once and unlisten a specific listener (#111) (c7a2995)
  • player doesn't attach itself to parent (#113) (336f4ab)

0.6.1 (2017-09-11)

Bug Fixes

  • FEC-7108: native load video element for video sibling on mobile (#109) (aec8bdd)

0.6.0 (2017-09-07)

Features

  • allow send initial volume in the player config (#107) (a8baf1d)
  • allow setting native hls and dash playback (#106) (b24b7ea)

0.5.0 (2017-08-31)

Features

0.4.1 (2017-08-23)

Bug Fixes

  • flow error on play (#99) (0233c5a)
  • FEC-7040, FEC-7016, FEC-6946: move from buffering to playing on seeked (#100) (22b7c4d)

0.4.0 (2017-08-08)

Features

0.3.0 (2017-07-30)

Bug Fixes

  • compatibility: changes to support lower versions browsers (#83) (a227790)
  • get config: return copy of player config (#89) (b395082)
  • media source adapter: fix implementation due to flow errors (#34) (4ced315)
  • player: change media (#85) (a97762b)
  • extend source type and allow nullable it (#92) (d23e523)
  • native-player: handle progressive sources (#79) (b5ace47)
  • player: fire source selected as array (#87) (073f50c)
  • player: fix destroy method (#71) (95da854)
  • webpack: change devtool module filename template to relative path (#65) (af00b3b)
  • remove black background and add start time to load() api of msa (#84) (23e3991)

Features

  • abr: add api for checking if abr is enabled (#88) (8209447)
  • config: prepare media source adapters config (#75) (45cdfe8)
  • docs: add readme and templates (#91) (9326026)
  • middleware: create middleware framework (#78) (1595c5c)
  • playback config: handling of playback configuration and stream priority (#70) (d5cc5b6)
  • player: get active tracks api (#77) (de057da)
  • player: hide text track api (#68) (2c51948)
  • player: player dom attach and change media (#73) (893ee93)
  • player: ready promise (#66) (fcd6079)
  • ads api and ad progress event (#86) (046e9cc)
  • player: report first play event (#61) (c2442b1)
  • playerApi: expose playbackRate control (15258e1)
  • start time: support configure optional time to start the video from (#82) (6de233b)

0.2.0 (2017-06-18)

Bug Fixes

  • mse adapter: change mse adapter api from name to id due to minified issues (#56) (8be0401)
  • native adapter: implement enableAdaptiveBitrate method (#59) (90f3027)

Features

  • events: tracks events and adaptive bitrate api (#53) (0867479)
  • logger: export logger factory (#50) (b29b2f1)
  • player: handle creation of player without initial config (#46) (e2204a5)
  • tracks: add tracks framework (#40) (f5152bb)

0.1.0 (2017-05-30)

Bug Fixes

  • export base plugin via playkit (#18) (34d6b3a)
  • engine interface: fix typo in engine interface (#31) (d9af61c)
  • logger tests (#30) (a47f734)
  • set node_env=test in npm scripts (9f8b786)
  • media source adapter: fix implementation due to flow errors (#34) (3fff26b)
  • player states: add transition for replay (#35) (42a841e)

Features

  • media-source-adapters: add media source adapters framework (#11) (79df295)
  • player states: add player state machine and dispatch state changed event (#32) (e89f6d1)
  • utils: add http and string utils (173908e)

0.0.1 (2017-03-16)

Bug Fixes

  • karma: add in karma conf inline source map (#13) (d6e0ffc)

Features

  • Playback: initial playback support (7ef4a7b)
  • Logger: add a logger (3c82ba7)
  • plugin-framework: add plugin framework (b1f170d)