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