|
| 1 | +### Release Notes v1.11.0 (2017/07/13) |
| 2 | +* [HLS] Add specific support for HLS and FairPlay for Safari/OSx using native player and EME for CDM/licenser exchanges |
| 3 | +* [MSS] Add support for large timestamps values (greater than 2^53) |
| 4 | +* [MSS] Add automatic KID setting in Widevine PSSH (from protection data) with KID value from MSS ProtectionHeader |
| 5 | +* [MSS] Add specific error in case of missing tfrf box in live segments |
| 6 | +* [MSS] Match timeShiftBufferDepth value to video segment timeline duration |
| 7 | +* [EME] Set robustness levels for Widevine key system if provided in protection data |
| 8 | +* [EME] Ignore 'encrypted' event in case the key system has already been selected and pssh already processed |
| 9 | +* Correct metrics generation (states, seek, pause, ...) |
| 10 | +* Bugs fixing: |
| 11 | +* - [MSS] Fix management of unsynchronized tracks |
| 12 | +* - [MSS] Fix support for live streams with a DVR window length inferior to buffer length |
| 13 | +* - [DASH] Fix support for with TTML subtitles in mp4 fragments |
| 14 | +* - [DASH] Fix support for text track switching in case of full TTML files |
| 15 | +* - [EME] Correct regression on EME version (ProtectionModel) selection for Edge browser |
| 16 | +* - [EME] Correct regression on licenses (EME sessions) persistence management (do not record not 'usable' sessions) |
| 17 | +* - Correct regression on text tracks switching in case of full TTML files |
| 18 | + |
| 19 | +### Release Notes v1.10.0 (2017/04/13) |
| 20 | +* Adapt EME's protection model 21Jan2015 to chrome 58 updates (secure origins and server certificate) |
| 21 | +* - Check requestMediaKeySystemAccess API availability when requesting key system access |
| 22 | +* - Add possibility to provide server certificate when loading a stream |
| 23 | +* Filter unsupported video and audio qualities (codecs) to avoid switching to a unsupported quality while playing |
| 24 | +* Remove outdated buffer according to 'BufferController.bufferToKeep' configuration parameter value (this avoids QuotaExceededError on Firefox) |
| 25 | +* Bugs fixing: |
| 26 | +* - [HLS] Fix H.264 bytestream to MP4 conversion (i.e. support 3 or 4 bytes start codes) |
| 27 | +* - [HLS] Fix segment alignment when switching alternative track |
| 28 | +* - Consolidate automatic live session reloading after multiple segment download failures |
| 29 | + |
| 30 | +### Release Notes v1.9.0 (2017/03/08) |
| 31 | +* Consolidate EME/Protection layer management: |
| 32 | +* - Start playback only once ProtectionController is initialized (avoids conflicts on Chrome when setting MediaKeys on <video>) |
| 33 | +* - Reset Streams and the <video> source before resetting ProtectionController and MediaKeys (avoid playback issue on Firefox) |
| 34 | +* - Correct application-level's license persistence management |
| 35 | +* - Listen for 'waitingforkey' event only once the license is usable |
| 36 | +* - Add new error code MEDIA_KEYERR_EXPIRED for expired licences (instead of MEDIA_ERR_ENCRYPTED) |
| 37 | +* Enrich MEDIA_ERR_CODEC_UNSUPPORTED error's data |
| 38 | +* Stop/reset current playback when an error is raised |
| 39 | +* [MSS] Consider empty FourCC field only for audio streams |
| 40 | +* [HLS] Add error code HLS_INVALID_PACKET_ERROR in case of invalid MPEG2-TS chunks (for example if unsuccessfully decrypted) |
| 41 | +* [HLS] Add error code HLS_INVALID_KEY_ERROR in case of invalid AES keys |
| 42 | +* Bugs fixing: |
| 43 | +* - [HLS] Fix H.264 IDR access units detection |
| 44 | +* - [HLS] Fix segment lists processing when switching among alternative tracks |
| 45 | +* - [HLS] Fix reset process when AES key file is being downloaded |
| 46 | +* - [HLS] Fix DVR window refresh when playback is paused |
| 47 | +* - [MSS] Fix MP4 media fragments processing in case of trick play (when sample_duration is set as default in tfhd) |
| 48 | +* - Fix VTT parser if X-TIMESTAMP-MAP filed is missing |
| 49 | +* - Fix ABR DownloadRatioRule's bandwidth calculation in case of aborted requests |
| 50 | + |
| 51 | +### Release Notes v1.8.0 (2017/01/23) |
| 52 | +* Implements license persistence at application layer (protection model 21Jan2015) according to player configuration (by default no license persistence) |
| 53 | +* [MSS] Add support for MSS static streams starting at t > 0 (live delinearization use case) |
| 54 | +* [HLS] Add support for HLSv5 streams (multiple audio/subtitle tracks/streams) |
| 55 | +* [HLS] Add support for VTT subtitles |
| 56 | +* [HLS] Add support for DVR mode |
| 57 | +* - Provide absolute program date/time (if available) for DVR window range (see MediaPlayer.getDVRWindowRange()) |
| 58 | +* Bugs fixing: |
| 59 | +* - [MSS] Correct 'IsLive' parameter parsing in case |
| 60 | +* - [MSS] Fix use case where 'FourCC' field is an empty string |
| 61 | +* - [HLS] Fix regression on MPEGTS packets demultiplexing |
| 62 | +* - [HLS] Correct H.264 SPS parsing to retrieve video's width and height values |
| 63 | + |
| 64 | +### Release Notes v1.7.0 (2016/11/28) |
| 65 | +* Add support for TTML origin defined with field 'c' |
| 66 | +* Bugs fixing: |
| 67 | +* - Fix compatibility issue with Smooth streaming Streams in CENC/PIFF1.3 format |
| 68 | +* - Fix subtitles being displayed by Firefox when using external display mode |
| 69 | +* - Fix issue on image subtitles display |
| 70 | +* - Fix namespace resolution for subtitles XML files |
| 71 | +* - Remove subtitles external <div> size setting (to be set by webapp) |
| 72 | +* - Workaround for missing 'cueExit' event not sent by Firefox when seeking |
| 73 | +* - Fix issue on track selection among tracks with identical language |
| 74 | +* - Correct FragmentInfo requests scheduling in Smooth Streaming DVR mode |
| 75 | +* - Stops Smooth Streaming DVR FragmentInfo requests in case of session reloading |
| 76 | +* - Fix TTML origin management if set on main div |
| 77 | +* - Correct TTML showbackground management to keep text alignment value |
| 78 | + |
| 79 | +### Release Notes v1.6.0 (2016/10/04) |
| 80 | +* Handle Firefox's MSE and <video> timestamping based on CTS/PTS (and not DTS like on other browsers) |
| 81 | +* Add 'subType' information for tracks (MediaPlayer.getTracks()) to differentiate HoH subtitles |
| 82 | +* Add configuration parameter 'liveDelay' (that enables to get around 412 precondition failed errors raised by some MSS streaming servers) |
| 83 | +* Add support for subtitles as images |
| 84 | +* Add possibility to attach an HTML div element to be used to render rich TTML subtitles |
| 85 | +* Enhance TTML subtitles parsing and display (showBackground, opacity, font style, size and resolution, etc) |
| 86 | +* Add AES128 decryption support for HLS streams |
| 87 | +* Bugs fixing: |
| 88 | +* - Fix regression on segments processing errors catching |
| 89 | +* - Fix issue on buffer gaps on Edge in case of discording timestamps between the manifest and the segments |
| 90 | +* - Fix KEY_ERR_OUTPUT ('output-restricted') error not raised when restarting (stop then play) a stream |
| 91 | +* - Fix HLS sessions reloading when some segment download failed |
| 92 | +* - Fix potential incorrect seeking to another previously buffered range |
| 93 | +* - Fix 'ended' event not raised when playing was started at time > 0 |
| 94 | +* - Fix ABR resetting when trick mode was previously enabled |
| 95 | + |
| 96 | +### Release Notes v1.5.0 (2016/09/07) |
| 97 | +* Raise "MEDIA_KEYERR_OUTPUT" error when output display is restricted by a Widevine license |
| 98 | +* Enhance TTML to WebVTT transcoding for subtitles on multiple lines and empty subtitles |
| 99 | +* Optimized track switching mechanism to avoid playback error on Firefox |
| 100 | + |
| 101 | +### Release Notes v1.4.0 (2016/08/18) |
| 102 | +* DVR: disable seeking within buffering window before live edge |
| 103 | +* Add 'startTime' parameter in input stream to enable playback start at given time |
| 104 | +* Bugs fixing: |
| 105 | +* - Fix stop playing when buffer reached on IE11 and Edge |
| 106 | +* - Fix DVR window range update when paused |
| 107 | +* - Fix regression on 'ended' event firing |
| 108 | +* - Fast zapping error (consolidate load and reset process) |
| 109 | +* - Correct ABR rules in case of aborted or abandoned requests |
| 110 | +* - Patch for Safari which faces an issue with MSE buffer removing |
| 111 | +* - Correct display of subtitles on multiple lines |
| 112 | +* - Correct display of subtitles with no layout and style |
| 113 | +* - External TTML subtitles file management |
| 114 | +* - TTML style parsing |
| 115 | +* - Correct regression on abandon request rule |
| 116 | +* - Correct 'ended' event detection when trick mode is enabled |
| 117 | +* - Correct PlayReady CDM data to disable proactive (pre-delivery) license acquisition |
| 118 | + |
| 119 | +### Release Notes v1.3.1 (2016/06/08) |
| 120 | +* Add support for subtitles in external xml file |
| 121 | +* Bugs fixing: |
| 122 | +* - Regression on IE11 (player on failure) |
| 123 | +* - Correct issue for multi-lines subtitles |
| 124 | +* - No error raised when empty challenge received from CDM |
| 125 | +* - MANIFEST_ERR_NO_VIDEO/AUDIO raised even if video/audio track in manifest |
| 126 | +* - Regression on stream reset process that locks the player |
| 127 | +* - Missing HTTP status code when raising DOWNLOAD_ERR_CONTENT |
| 128 | +* - 'ended' event may not be raised on <video> element when reaching end of stream |
| 129 | +* - Byte-range requests for DASH |
| 130 | + |
| 131 | +### Release Notes v1.3.0 (2016/05/25) |
| 132 | +* Refactored and enriched MediaPlayer API |
| 133 | +* Add MediaPlayer plugins framework |
| 134 | +* Add new ABR rule considering dropped frames |
| 135 | +* DVR mode enhancement for MSS with FrgmentInfo requests to keep DVR window up to date |
| 136 | +* Corrected VOD streams management (no manifest refresh while switching tracks, ...) |
| 137 | +* Build: use gulp framework (instead of grunt) |
| 138 | +* Add new errors for HLS demultiplexing errors ('HLS_DEMUX_ERROR') |
| 139 | +* Bugs fixing: |
| 140 | +* - Mute state reset when load a new stream |
| 141 | +* - Crash in HLS demultiplexing when no audio packet in stream |
| 142 | +* - MANIFEST_ERR_PARSE (instead of DOWNLOAD_ERR_MANIFEST) when failed to download HLS variant stream playlist |
| 143 | +* - Byte-range requests for DASH contents |
| 144 | +* - Support for unknown MP4 boxes |
| 145 | + |
| 146 | +### Release Notes v1.2.7 (2016/04/01) |
| 147 | +* Bugs fixing: |
| 148 | + - HLS support on Firefox |
| 149 | + - Correct seeking and live start time management (BufferController's working time handling, seek to removed buffer ranges, etc) |
| 150 | + - TTML parsing and VTT cues buffering management |
| 151 | + - Correct manifest download error in case of automatic session reloading |
| 152 | +* Add DVR support |
| 153 | +* Add trick mode support (fast forward and rewind) |
| 154 | +* Add retry for HLS variants streams playlists requests |
| 155 | +* Add session type parameter in input protection data |
| 156 | +* Add INTERNAL_ERROR for initialization and media segments processing exceptions |
| 157 | + |
| 158 | +### Release Notes v1.2.6 (2016/01/14) |
| 159 | +* EME support updated from dash.js |
| 160 | +* Add MediaKeySession persistance within MediaPlayer instance (useful for chrome that do not support persistance natively) |
| 161 | +* Enhance playback startup time (zapping time) |
| 162 | +* Robust resetting process |
| 163 | +* Optimize MSS to DASH manifest transcoding |
| 164 | +* Add segment dowloading abandonment functionality in case of drop bandwidth |
| 165 | +* Refactor tracks language switching |
| 166 | +* Refactor error events and add warning events |
| 167 | +* Report HTTP status code when manifest/segment/license downloading fails |
| 168 | +* Report error code contained in licenser server response body |
| 169 | +* Segment download error robustness (automatic session reload when buffer becomes underflow) |
| 170 | +* Switch off/on text track downloading when subtitles are disabled/enabled |
| 171 | +* And many bugs fixing |
| 172 | + |
| 173 | +### Release Notes v1.2.1 (2015/09/14) |
| 174 | +* Enable keeping ABR bandwidth conditions when loading new stream |
| 175 | +* Optimized ABR rules according to buffering state of the video player |
| 176 | +* Add support for default audio/text language to be selected at startup |
| 177 | +* Autoplay management accross all platforms (mainly for Android devices) |
| 178 | +* Bugs fixing (seek, MSS segments processing, Edge support...) |
| 179 | + |
| 180 | +### Release Notes v1.2.0 (2015/07/01) |
| 181 | +* HLS support |
| 182 | +* EME support refactoring with multiple versions support (taken from dash.js project) |
| 183 | +* PlayReady to Widevine content protection conversion (requires coordination between PlayReady and Widevine licensers) |
| 184 | +* Configuration mechanism for streaming and ABR controllers |
| 185 | +* Enhanced errors handling |
| 186 | +* Fallback mechanism for segment download failure |
| 187 | +* Optimized ABR rules |
| 188 | +* Enhanced TTML subtitles support |
| 189 | +* Configurable build process (protocol(s), EME support) |
| 190 | +* And many bug corrections |
| 191 | + |
| 192 | +### Release Notes v1.1.0 (2014/10/31) |
| 193 | +* Based on dash.js v1.2.0 (see dash.js release notes) |
| 194 | +* Simplified BufferController with sequential segments downloading |
| 195 | +* Optimized and simplified live edge searching |
| 196 | +* TTML subtitles support |
| 197 | +* Quality filtering functionnality |
| 198 | +* Sample application (samples/DemoPlayer) with dynamic bandwidth chart |
| 199 | + |
| 200 | +### Release Notes v1.0.0 (2014/04/16) |
| 201 | +* Based on dash.js v1.1.0 (see dash.js release notes) |
| 202 | +* Smooth Streaming support (live and VOD) |
| 203 | +* Automatic protocol detection (DASH vs MSS) |
| 204 | +* PlayReady support with CustomData and licenser back URL |
| 205 | +* Multi-languages audio support |
0 commit comments