@flowplayer/player 3.16.0-rc → 3.16.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/core/events.d.ts +2 -8
  2. package/core/events.js +1 -4
  3. package/core.js +1 -1
  4. package/default.js +1 -1
  5. package/embed.js +2 -2
  6. package/flowplayer.css +1 -1
  7. package/index.d.ts +29 -40
  8. package/package.json +1 -1
  9. package/plugins/ads.d.ts +29 -40
  10. package/plugins/ads.js +1 -1
  11. package/plugins/airplay.d.ts +29 -40
  12. package/plugins/analytics.d.ts +29 -40
  13. package/plugins/analytics.js +1 -1
  14. package/plugins/asel.d.ts +29 -40
  15. package/plugins/audio.d.ts +29 -40
  16. package/plugins/chapters.d.ts +29 -40
  17. package/plugins/chromecast.d.ts +29 -40
  18. package/plugins/comscore.d.ts +29 -40
  19. package/plugins/consent.d.ts +78 -41
  20. package/plugins/consent.js +1 -1
  21. package/plugins/context-menu.d.ts +29 -40
  22. package/plugins/cuepoints.d.ts +29 -40
  23. package/plugins/dash.d.ts +29 -40
  24. package/plugins/drm.d.ts +29 -40
  25. package/plugins/endscreen.d.ts +29 -40
  26. package/plugins/fas.d.ts +29 -40
  27. package/plugins/float-on-scroll.d.ts +29 -40
  28. package/plugins/ga4.d.ts +29 -40
  29. package/plugins/gemius.d.ts +29 -40
  30. package/plugins/google-analytics.d.ts +29 -40
  31. package/plugins/health.d.ts +37 -41
  32. package/plugins/health.js +1 -1
  33. package/plugins/hls.d.ts +29 -40
  34. package/plugins/hls.js +1 -1
  35. package/plugins/id3.d.ts +96 -41
  36. package/plugins/iframe.d.ts +29 -40
  37. package/plugins/keyboard.d.ts +29 -40
  38. package/plugins/media-session.d.ts +29 -40
  39. package/plugins/message.d.ts +29 -40
  40. package/plugins/ovp.d.ts +29 -40
  41. package/plugins/playlist.d.ts +29 -71
  42. package/plugins/playlist.js +1 -1
  43. package/plugins/preview.d.ts +29 -40
  44. package/plugins/qsel.d.ts +102 -38
  45. package/plugins/qsel.js +1 -1
  46. package/plugins/qul.d.ts +29 -40
  47. package/plugins/rts.d.ts +29 -40
  48. package/plugins/share.d.ts +29 -40
  49. package/plugins/speed.d.ts +29 -40
  50. package/plugins/ssai.d.ts +29 -40
  51. package/plugins/ssai.js +1 -1
  52. package/plugins/subtitles.d.ts +29 -40
  53. package/plugins/thumbnails.d.ts +29 -40
  54. package/plugins/tizen.d.ts +29 -40
  55. package/plugins/vtsel.d.ts +122 -33
  56. package/plugins/vtsel.js +1 -1
  57. package/plugins/webos.d.ts +29 -40
  58. package/util/loader.d.ts +27 -40
@@ -141,10 +141,36 @@ declare type ConfigWith<T> = Config & T;
141
141
 
142
142
  /**
143
143
  * @public
144
+ * With the Consent plugin, it's possible to tell the player whether it's allowed to send analytics and store data to browser by the player.
145
+ * See {@link https://developer.wowza.com/docs/wowza-flowplayer/plugins/consent/ | Official documentation}
144
146
  */
145
- declare const Consent: PluginCtor<Config, Player>;
147
+ declare const Consent: PluginCtor<ConsentConfig, Player> & ConsentAPI;
146
148
  export default Consent;
147
149
 
150
+ /**
151
+ * @public
152
+ */
153
+ export declare type ConsentAPI = {
154
+ /**
155
+ * Enum to turn analytics on or off use the
156
+ */
157
+ tracking: typeof TrackingConfig;
158
+ /**
159
+ * Enum to control the usage of browser storage.
160
+ */
161
+ storage: typeof StorageConfig;
162
+ };
163
+
164
+ /**
165
+ * @public
166
+ */
167
+ export declare type ConsentConfig = ConfigWith<{
168
+ /**
169
+ * Consent plugin configuration. A bitmask property where the possible values can be found from `Consent.tracking` and `Consent.storage` enumerations.
170
+ */
171
+ consent?: TrackingConfig | StorageConfig;
172
+ }>;
173
+
148
174
  /* Excluded from this release type: CONTENT_REAL_LOAD_START */
149
175
 
150
176
  /**
@@ -768,6 +794,8 @@ declare const NO_CONTROLS = "no-controls";
768
794
 
769
795
  declare const NO_DVR = "no-timeline";
770
796
 
797
+ declare type NoInfer_2<T> = [T][T extends any ? 0 : never];
798
+
771
799
  /* Excluded from this release type: NON_RECOVERABLE_ERROR */
772
800
 
773
801
  /* Excluded from this release type: NonRecoverableErrorEventDetail */
@@ -908,7 +936,6 @@ declare type Player = HTMLVideoElement & PlayerEventOverloads & {
908
936
  disabled: boolean;
909
937
  /* Excluded from this release type: started */
910
938
  /* Excluded from this release type: token */
911
- tracks?: VideoTrack[];
912
939
  /* Excluded from this release type: _customElements */
913
940
  /* Excluded from this release type: _storage */
914
941
  };
@@ -992,6 +1019,7 @@ declare type PlayerCustomEventsOverloads = {
992
1019
  */
993
1020
  on(event: typeof QUALITIES, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof QUALITIES]>) => void): Player;
994
1021
  /* Excluded from this release type: on */
1022
+ /* Excluded from this release type: on */
995
1023
  /**
996
1024
  * Listen to this event to create a recommendations grid using the data passed with the event.
997
1025
  */
@@ -1010,6 +1038,11 @@ declare type PlayerCustomEventsOverloads = {
1010
1038
  /* Excluded from this release type: on */
1011
1039
  /* Excluded from this release type: on */
1012
1040
  /* Excluded from this release type: on */
1041
+ /* Excluded from this release type: on */
1042
+ /**
1043
+ * TODO: this is a workaround, since not all event overloads are typed. when all plugin work is finished, remove this
1044
+ * https://wowzamedia.jira.com/browse/PLAY-653
1045
+ */
1013
1046
  on<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
1014
1047
  /* Excluded from this release type: on */
1015
1048
  /**
@@ -1034,9 +1067,12 @@ declare type PlayerCustomEventsOverloads = {
1034
1067
  */
1035
1068
  off<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
1036
1069
  /* Excluded from this release type: poll */
1070
+ emit<T extends PlayerEmittableEventNames>(event: T, data?: PlayerCustomEventsDetailMap[T]): Player;
1071
+ emit(event: never, data?: never): Player;
1072
+ /* Excluded from this release type: emit */
1073
+ /* Excluded from this release type: emit */
1037
1074
  /* Excluded from this release type: emit */
1038
1075
  /* Excluded from this release type: emit */
1039
- emit<T extends PlayerEmittableEventNames>(event: T, data?: PlayerCustomEventsDetailMap[T]): Player;
1040
1076
  /* Excluded from this release type: emit */
1041
1077
  };
1042
1078
 
@@ -1144,6 +1180,17 @@ declare const /**
1144
1180
  */
1145
1181
  PROGRESS = "progress";
1146
1182
 
1183
+ /**
1184
+ * @public
1185
+ */
1186
+ declare type QselOption = {
1187
+ height: number;
1188
+ level: number;
1189
+ text: string;
1190
+ /* Excluded from this release type: videoCodec */
1191
+ width: number;
1192
+ };
1193
+
1147
1194
  /**
1148
1195
  * @public
1149
1196
  * emitted whenever a list of qualities has been made available
@@ -1162,27 +1209,11 @@ QUALITIES = "qualities";
1162
1209
  /**
1163
1210
  * @public
1164
1211
  */
1165
- declare type QualitiesEventDetail = QualityDetail[];
1212
+ declare type QualitiesEventDetail = QselOption[];
1166
1213
 
1167
- /**
1168
- * @public
1169
- */
1170
- declare type QualityDetail = {
1171
- level: number;
1172
- text: string;
1173
- width: number;
1174
- height: number;
1175
- videoCodec: string;
1176
- } | BitrateInfo | {
1177
- text: string | number;
1178
- encodingId: string;
1179
- spatialLayerId: number;
1180
- temporalLayerId: number;
1181
- maxSpatialLayerId: number;
1182
- maxTemporalLayerId: number;
1183
- height: number;
1184
- width: number;
1185
- };
1214
+ /* Excluded from this release type: _QualitiesEventDetail */
1215
+
1216
+ /* Excluded from this release type: _QualityDetail */
1186
1217
 
1187
1218
  declare enum QualityOpts {
1188
1219
  LOW = 1,
@@ -1354,20 +1385,14 @@ SEEKING_2 = "seeking";
1354
1385
 
1355
1386
  /**
1356
1387
  * @public
1357
- * allows plugins to listen for forced quality changes
1358
- * it should emit the index of the quality to set
1359
- * -1 is a special idx saying to use ABR if the plugin
1360
- * exposes an ABR implementation
1388
+ * @deprecated please use Qsel.events.SET_QUALITY
1361
1389
  */
1362
1390
  declare const /**
1363
1391
  @public
1364
1392
  * when a new player is inserted into the HTML
1365
1393
  */ /**
1366
1394
  * @public
1367
- * allows plugins to listen for forced quality changes
1368
- * it should emit the index of the quality to set
1369
- * -1 is a special idx saying to use ABR if the plugin
1370
- * exposes an ABR implementation
1395
+ * @deprecated please use Qsel.events.SET_QUALITY
1371
1396
  */
1372
1397
  SET_QUALITY = "quality:set";
1373
1398
 
@@ -1460,6 +1485,17 @@ declare namespace states {
1460
1485
  }
1461
1486
  }
1462
1487
 
1488
+ declare enum StorageConfig {
1489
+ /**
1490
+ * Use of `localStorage` is allowed
1491
+ */
1492
+ ALL = 8,
1493
+ /**
1494
+ * No data is allowed to be stored to be used between browser sessions. In other words, setting this value will make the player write into `sessionStorage`.
1495
+ */
1496
+ NONE = 16
1497
+ }
1498
+
1463
1499
  /**
1464
1500
  * @public
1465
1501
  */
@@ -1523,6 +1559,17 @@ TOUCH_START = "touchstart";
1523
1559
 
1524
1560
  declare const TOUCHED = "is-touched";
1525
1561
 
1562
+ declare enum TrackingConfig {
1563
+ /**
1564
+ * Analytics tracking is allowed
1565
+ */
1566
+ ALL = 1,
1567
+ /**
1568
+ * No analytics or tracking are allowed to be sent by the player
1569
+ */
1570
+ NONE = 2
1571
+ }
1572
+
1526
1573
  declare const TV = "is-tv";
1527
1574
 
1528
1575
  /**
@@ -1556,16 +1603,6 @@ declare const /**
1556
1603
  */
1557
1604
  VIDEO_TRACKS = "videoTracks";
1558
1605
 
1559
- /**
1560
- * @public
1561
- */
1562
- declare interface VideoTrack {
1563
- name: string;
1564
- /* Excluded from this release type: data */
1565
- default: boolean;
1566
- selected: boolean;
1567
- }
1568
-
1569
1606
  /**
1570
1607
  * @public
1571
1608
  * when a player enters the viewpoint
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):((t="undefined"!=typeof globalThis?globalThis:t||self).flowplayer=t.flowplayer||{},t.flowplayer.consent=e())}(this,(function(){"use strict";class PlayerStorage{constructor(t,e){this.implementation=t,e&&e.keys().forEach(t=>{"string"==typeof e.implementation[t]&&this.implementation.setItem(t,e.implementation[t])})}keys(){var t;const e=[];for(var n=0;n<this.implementation.length;n++)(null===(t=this.implementation.key(n))||void 0===t?void 0:t.startsWith("flowplayer/"))&&e.push(this.implementation.key(n));return e}removeItem(t){try{this.implementation.removeItem("flowplayer/"+t)}catch(t){}}getItem(t){try{return this.implementation.getItem("flowplayer/"+t)}catch(t){return null}}setItem(t,e){try{this.implementation.setItem("flowplayer/"+t,e)}catch(t){}}clear(){try{this.keys().forEach(t=>this.implementation.removeItem(t))}catch(t){}}get length(){try{return this.keys().length}catch(t){return 0}}key(t){try{return this.implementation.key(t)}catch(t){return null}}}var t,e,n;!function(t){t[t.ALL=1]="ALL",t[t.NONE=2]="NONE"}(e||(e={})),function(t){t[t.ALL=8]="ALL",t[t.NONE=16]="NONE"}(n||(n={}));const s=((t=class ConsentPlugin{constructor(t,s){const o=s._storage.getItem("consent"),r=this.current_value=o&&!isNaN(Number(o))?Number(s._storage.getItem("consent")):e.NONE|n.NONE;this.player=s,this.adapt(Object.assign({consent:r},s.opts))}init(t,e,n){this.adapt(t),n.on("config",t=>{this.adapt(t.detail)});const s=t=>{n.setOpts({consent:t.detail})};document.addEventListener("flowplayer/consent",s),n.on("reap",()=>document.removeEventListener("flowplayer/consent",s))}adapt(t){const s=void 0===t.consent?this.current_value:t.consent;n.ALL&s?this.setStorage(n.ALL):n.NONE&s&&this.setStorage(n.NONE),e.ALL&s?this.setTracking(e.ALL):e.NONE&s&&this.setTracking(e.NONE),this.player._storage.setItem("consent",s.toString())}setStorage(t){try{const e=this.player._storage;switch(this.player.setState("consent-no-storage",t===n.NONE),t){case n.ALL:this.player._storage=new PlayerStorage(localStorage,this.player._storage);break;case n.NONE:this.player._storage=new PlayerStorage(sessionStorage,e),e.clear()}}catch(t){console.debug(t)}}setTracking(t){var n,s;switch(this.player.setState("consent-no-tracking",t===e.NONE),t){case e.ALL:null===(n=this.player.health)||void 0===n||n.toggle(!0);break;case e.NONE:null===(s=this.player.health)||void 0===s||s.toggle(!1)}}}).tracking=e,t.storage=n,t);return function(t,e){if("object"==typeof exports&&"undefined"!=typeof module)return e;if(null===document.currentScript)return e;"flowplayer"in t||(t.flowplayer={extensions:[]});const n=t.flowplayer;return"function"==typeof n?(n(e),e):(Array.isArray(n.extensions)||(n.extensions=[]),~n.extensions.indexOf(e)||n.extensions.push(e),e)}(window,s)}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):((t="undefined"!=typeof globalThis?globalThis:t||self).flowplayer=t.flowplayer||{},t.flowplayer.consent=e())}(this,(function(){"use strict";class PlayerStorage{constructor(t,e){this.implementation=t,e&&e.keys().forEach(t=>{"string"==typeof e.implementation[t]&&this.implementation.setItem(t,e.implementation[t])})}keys(){var t;const e=[];for(var n=0;n<this.implementation.length;n++)(null===(t=this.implementation.key(n))||void 0===t?void 0:t.startsWith("flowplayer/"))&&e.push(this.implementation.key(n));return e}removeItem(t){try{this.implementation.removeItem("flowplayer/"+t)}catch(t){}}getItem(t){try{return this.implementation.getItem("flowplayer/"+t)}catch(t){return null}}setItem(t,e){try{this.implementation.setItem("flowplayer/"+t,e)}catch(t){}}clear(){try{this.keys().forEach(t=>this.implementation.removeItem(t))}catch(t){}}get length(){try{return this.keys().length}catch(t){return 0}}key(t){try{return this.implementation.key(t)}catch(t){return null}}}var t,e,n;!function(t){t[t.ALL=1]="ALL",t[t.NONE=2]="NONE"}(t||(t={})),function(t){t[t.ALL=8]="ALL",t[t.NONE=16]="NONE"}(e||(e={}));const s=((n=class ConsentPlugin{constructor(n,s){const o=s._storage.getItem("consent"),r=this.current_value=o&&!isNaN(Number(o))?Number(s._storage.getItem("consent")):t.NONE|e.NONE;this.player=s,this.adapt(Object.assign({consent:r},s.opts))}init(t,e,n){this.adapt(t),n.on("config",t=>{this.adapt(t.detail)});const s=t=>{n.setOpts({consent:t.detail})};document.addEventListener("flowplayer/consent",s),n.on("reap",()=>document.removeEventListener("flowplayer/consent",s))}adapt(n){const s=void 0===n.consent?this.current_value:n.consent;e.ALL&s?this.setStorage(e.ALL):e.NONE&s&&this.setStorage(e.NONE),t.ALL&s?this.setTracking(t.ALL):t.NONE&s&&this.setTracking(t.NONE),this.player._storage.setItem("consent",s.toString())}setStorage(t){try{const n=this.player._storage;switch(this.player.setState("consent-no-storage",t===e.NONE),t){case e.ALL:this.player._storage=new PlayerStorage(localStorage,this.player._storage);break;case e.NONE:this.player._storage=new PlayerStorage(sessionStorage,n),n.clear()}}catch(t){console.debug(t)}}setTracking(e){var n,s;switch(this.player.setState("consent-no-tracking",e===t.NONE),e){case t.ALL:null===(n=this.player.health)||void 0===n||n.toggle(!0);break;case t.NONE:null===(s=this.player.health)||void 0===s||s.toggle(!1)}}}).tracking=t,n.storage=e,n);return function(t,e){if("object"==typeof exports&&"undefined"!=typeof module)return e;if(null===document.currentScript)return e;"flowplayer"in t||(t.flowplayer={extensions:[]});const n=t.flowplayer;return"function"==typeof n?(n(e),e):(Array.isArray(n.extensions)||(n.extensions=[]),~n.extensions.indexOf(e)||n.extensions.push(e),e)}(window,s)}));
@@ -782,6 +782,8 @@ declare const NO_CONTROLS = "no-controls";
782
782
 
783
783
  declare const NO_DVR = "no-timeline";
784
784
 
785
+ declare type NoInfer_2<T> = [T][T extends any ? 0 : never];
786
+
785
787
  /* Excluded from this release type: NON_RECOVERABLE_ERROR */
786
788
 
787
789
  /* Excluded from this release type: NonRecoverableErrorEventDetail */
@@ -922,7 +924,6 @@ declare type Player = HTMLVideoElement & PlayerEventOverloads & {
922
924
  disabled: boolean;
923
925
  /* Excluded from this release type: started */
924
926
  /* Excluded from this release type: token */
925
- tracks?: VideoTrack[];
926
927
  /* Excluded from this release type: _customElements */
927
928
  /* Excluded from this release type: _storage */
928
929
  };
@@ -1006,6 +1007,7 @@ declare type PlayerCustomEventsOverloads = {
1006
1007
  */
1007
1008
  on(event: typeof QUALITIES, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof QUALITIES]>) => void): Player;
1008
1009
  /* Excluded from this release type: on */
1010
+ /* Excluded from this release type: on */
1009
1011
  /**
1010
1012
  * Listen to this event to create a recommendations grid using the data passed with the event.
1011
1013
  */
@@ -1024,6 +1026,11 @@ declare type PlayerCustomEventsOverloads = {
1024
1026
  /* Excluded from this release type: on */
1025
1027
  /* Excluded from this release type: on */
1026
1028
  /* Excluded from this release type: on */
1029
+ /* Excluded from this release type: on */
1030
+ /**
1031
+ * TODO: this is a workaround, since not all event overloads are typed. when all plugin work is finished, remove this
1032
+ * https://wowzamedia.jira.com/browse/PLAY-653
1033
+ */
1027
1034
  on<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
1028
1035
  /* Excluded from this release type: on */
1029
1036
  /**
@@ -1048,9 +1055,12 @@ declare type PlayerCustomEventsOverloads = {
1048
1055
  */
1049
1056
  off<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
1050
1057
  /* Excluded from this release type: poll */
1058
+ emit<T extends PlayerEmittableEventNames>(event: T, data?: PlayerCustomEventsDetailMap[T]): Player;
1059
+ emit(event: never, data?: never): Player;
1060
+ /* Excluded from this release type: emit */
1061
+ /* Excluded from this release type: emit */
1051
1062
  /* Excluded from this release type: emit */
1052
1063
  /* Excluded from this release type: emit */
1053
- emit<T extends PlayerEmittableEventNames>(event: T, data?: PlayerCustomEventsDetailMap[T]): Player;
1054
1064
  /* Excluded from this release type: emit */
1055
1065
  };
1056
1066
 
@@ -1158,6 +1168,17 @@ declare const /**
1158
1168
  */
1159
1169
  PROGRESS = "progress";
1160
1170
 
1171
+ /**
1172
+ * @public
1173
+ */
1174
+ declare type QselOption = {
1175
+ height: number;
1176
+ level: number;
1177
+ text: string;
1178
+ /* Excluded from this release type: videoCodec */
1179
+ width: number;
1180
+ };
1181
+
1161
1182
  /**
1162
1183
  * @public
1163
1184
  * emitted whenever a list of qualities has been made available
@@ -1176,27 +1197,11 @@ QUALITIES = "qualities";
1176
1197
  /**
1177
1198
  * @public
1178
1199
  */
1179
- declare type QualitiesEventDetail = QualityDetail[];
1200
+ declare type QualitiesEventDetail = QselOption[];
1180
1201
 
1181
- /**
1182
- * @public
1183
- */
1184
- declare type QualityDetail = {
1185
- level: number;
1186
- text: string;
1187
- width: number;
1188
- height: number;
1189
- videoCodec: string;
1190
- } | BitrateInfo | {
1191
- text: string | number;
1192
- encodingId: string;
1193
- spatialLayerId: number;
1194
- temporalLayerId: number;
1195
- maxSpatialLayerId: number;
1196
- maxTemporalLayerId: number;
1197
- height: number;
1198
- width: number;
1199
- };
1202
+ /* Excluded from this release type: _QualitiesEventDetail */
1203
+
1204
+ /* Excluded from this release type: _QualityDetail */
1200
1205
 
1201
1206
  declare enum QualityOpts {
1202
1207
  LOW = 1,
@@ -1368,20 +1373,14 @@ SEEKING_2 = "seeking";
1368
1373
 
1369
1374
  /**
1370
1375
  * @public
1371
- * allows plugins to listen for forced quality changes
1372
- * it should emit the index of the quality to set
1373
- * -1 is a special idx saying to use ABR if the plugin
1374
- * exposes an ABR implementation
1376
+ * @deprecated please use Qsel.events.SET_QUALITY
1375
1377
  */
1376
1378
  declare const /**
1377
1379
  @public
1378
1380
  * when a new player is inserted into the HTML
1379
1381
  */ /**
1380
1382
  * @public
1381
- * allows plugins to listen for forced quality changes
1382
- * it should emit the index of the quality to set
1383
- * -1 is a special idx saying to use ABR if the plugin
1384
- * exposes an ABR implementation
1383
+ * @deprecated please use Qsel.events.SET_QUALITY
1385
1384
  */
1386
1385
  SET_QUALITY = "quality:set";
1387
1386
 
@@ -1570,16 +1569,6 @@ declare const /**
1570
1569
  */
1571
1570
  VIDEO_TRACKS = "videoTracks";
1572
1571
 
1573
- /**
1574
- * @public
1575
- */
1576
- declare interface VideoTrack {
1577
- name: string;
1578
- /* Excluded from this release type: data */
1579
- default: boolean;
1580
- selected: boolean;
1581
- }
1582
-
1583
1572
  /**
1584
1573
  * @public
1585
1574
  * when a player enters the viewpoint
@@ -791,6 +791,8 @@ declare const NO_CONTROLS = "no-controls";
791
791
 
792
792
  declare const NO_DVR = "no-timeline";
793
793
 
794
+ declare type NoInfer_2<T> = [T][T extends any ? 0 : never];
795
+
794
796
  /* Excluded from this release type: NON_RECOVERABLE_ERROR */
795
797
 
796
798
  /* Excluded from this release type: NonRecoverableErrorEventDetail */
@@ -931,7 +933,6 @@ declare type Player = HTMLVideoElement & PlayerEventOverloads & {
931
933
  disabled: boolean;
932
934
  /* Excluded from this release type: started */
933
935
  /* Excluded from this release type: token */
934
- tracks?: VideoTrack[];
935
936
  /* Excluded from this release type: _customElements */
936
937
  /* Excluded from this release type: _storage */
937
938
  };
@@ -1015,6 +1016,7 @@ declare type PlayerCustomEventsOverloads = {
1015
1016
  */
1016
1017
  on(event: typeof QUALITIES, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof QUALITIES]>) => void): Player;
1017
1018
  /* Excluded from this release type: on */
1019
+ /* Excluded from this release type: on */
1018
1020
  /**
1019
1021
  * Listen to this event to create a recommendations grid using the data passed with the event.
1020
1022
  */
@@ -1033,6 +1035,11 @@ declare type PlayerCustomEventsOverloads = {
1033
1035
  /* Excluded from this release type: on */
1034
1036
  /* Excluded from this release type: on */
1035
1037
  /* Excluded from this release type: on */
1038
+ /* Excluded from this release type: on */
1039
+ /**
1040
+ * TODO: this is a workaround, since not all event overloads are typed. when all plugin work is finished, remove this
1041
+ * https://wowzamedia.jira.com/browse/PLAY-653
1042
+ */
1036
1043
  on<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
1037
1044
  /* Excluded from this release type: on */
1038
1045
  /**
@@ -1057,9 +1064,12 @@ declare type PlayerCustomEventsOverloads = {
1057
1064
  */
1058
1065
  off<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
1059
1066
  /* Excluded from this release type: poll */
1067
+ emit<T extends PlayerEmittableEventNames>(event: T, data?: PlayerCustomEventsDetailMap[T]): Player;
1068
+ emit(event: never, data?: never): Player;
1069
+ /* Excluded from this release type: emit */
1070
+ /* Excluded from this release type: emit */
1060
1071
  /* Excluded from this release type: emit */
1061
1072
  /* Excluded from this release type: emit */
1062
- emit<T extends PlayerEmittableEventNames>(event: T, data?: PlayerCustomEventsDetailMap[T]): Player;
1063
1073
  /* Excluded from this release type: emit */
1064
1074
  };
1065
1075
 
@@ -1167,6 +1177,17 @@ declare const /**
1167
1177
  */
1168
1178
  PROGRESS = "progress";
1169
1179
 
1180
+ /**
1181
+ * @public
1182
+ */
1183
+ declare type QselOption = {
1184
+ height: number;
1185
+ level: number;
1186
+ text: string;
1187
+ /* Excluded from this release type: videoCodec */
1188
+ width: number;
1189
+ };
1190
+
1170
1191
  /**
1171
1192
  * @public
1172
1193
  * emitted whenever a list of qualities has been made available
@@ -1185,27 +1206,11 @@ QUALITIES = "qualities";
1185
1206
  /**
1186
1207
  * @public
1187
1208
  */
1188
- declare type QualitiesEventDetail = QualityDetail[];
1209
+ declare type QualitiesEventDetail = QselOption[];
1189
1210
 
1190
- /**
1191
- * @public
1192
- */
1193
- declare type QualityDetail = {
1194
- level: number;
1195
- text: string;
1196
- width: number;
1197
- height: number;
1198
- videoCodec: string;
1199
- } | BitrateInfo | {
1200
- text: string | number;
1201
- encodingId: string;
1202
- spatialLayerId: number;
1203
- temporalLayerId: number;
1204
- maxSpatialLayerId: number;
1205
- maxTemporalLayerId: number;
1206
- height: number;
1207
- width: number;
1208
- };
1211
+ /* Excluded from this release type: _QualitiesEventDetail */
1212
+
1213
+ /* Excluded from this release type: _QualityDetail */
1209
1214
 
1210
1215
  declare enum QualityOpts {
1211
1216
  LOW = 1,
@@ -1377,20 +1382,14 @@ SEEKING_2 = "seeking";
1377
1382
 
1378
1383
  /**
1379
1384
  * @public
1380
- * allows plugins to listen for forced quality changes
1381
- * it should emit the index of the quality to set
1382
- * -1 is a special idx saying to use ABR if the plugin
1383
- * exposes an ABR implementation
1385
+ * @deprecated please use Qsel.events.SET_QUALITY
1384
1386
  */
1385
1387
  declare const /**
1386
1388
  @public
1387
1389
  * when a new player is inserted into the HTML
1388
1390
  */ /**
1389
1391
  * @public
1390
- * allows plugins to listen for forced quality changes
1391
- * it should emit the index of the quality to set
1392
- * -1 is a special idx saying to use ABR if the plugin
1393
- * exposes an ABR implementation
1392
+ * @deprecated please use Qsel.events.SET_QUALITY
1394
1393
  */
1395
1394
  SET_QUALITY = "quality:set";
1396
1395
 
@@ -1579,16 +1578,6 @@ declare const /**
1579
1578
  */
1580
1579
  VIDEO_TRACKS = "videoTracks";
1581
1580
 
1582
- /**
1583
- * @public
1584
- */
1585
- declare interface VideoTrack {
1586
- name: string;
1587
- /* Excluded from this release type: data */
1588
- default: boolean;
1589
- selected: boolean;
1590
- }
1591
-
1592
1581
  /**
1593
1582
  * @public
1594
1583
  * when a player enters the viewpoint
package/plugins/dash.d.ts CHANGED
@@ -829,6 +829,8 @@ declare const NO_CONTROLS = "no-controls";
829
829
 
830
830
  declare const NO_DVR = "no-timeline";
831
831
 
832
+ declare type NoInfer_2<T> = [T][T extends any ? 0 : never];
833
+
832
834
  /* Excluded from this release type: NON_RECOVERABLE_ERROR */
833
835
 
834
836
  /* Excluded from this release type: NonRecoverableErrorEventDetail */
@@ -969,7 +971,6 @@ declare type Player = HTMLVideoElement & PlayerEventOverloads & {
969
971
  disabled: boolean;
970
972
  /* Excluded from this release type: started */
971
973
  /* Excluded from this release type: token */
972
- tracks?: VideoTrack[];
973
974
  /* Excluded from this release type: _customElements */
974
975
  /* Excluded from this release type: _storage */
975
976
  };
@@ -1053,6 +1054,7 @@ declare type PlayerCustomEventsOverloads = {
1053
1054
  */
1054
1055
  on(event: typeof QUALITIES, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof QUALITIES]>) => void): Player;
1055
1056
  /* Excluded from this release type: on */
1057
+ /* Excluded from this release type: on */
1056
1058
  /**
1057
1059
  * Listen to this event to create a recommendations grid using the data passed with the event.
1058
1060
  */
@@ -1071,6 +1073,11 @@ declare type PlayerCustomEventsOverloads = {
1071
1073
  /* Excluded from this release type: on */
1072
1074
  /* Excluded from this release type: on */
1073
1075
  /* Excluded from this release type: on */
1076
+ /* Excluded from this release type: on */
1077
+ /**
1078
+ * TODO: this is a workaround, since not all event overloads are typed. when all plugin work is finished, remove this
1079
+ * https://wowzamedia.jira.com/browse/PLAY-653
1080
+ */
1074
1081
  on<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
1075
1082
  /* Excluded from this release type: on */
1076
1083
  /**
@@ -1095,9 +1102,12 @@ declare type PlayerCustomEventsOverloads = {
1095
1102
  */
1096
1103
  off<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
1097
1104
  /* Excluded from this release type: poll */
1105
+ emit<T extends PlayerEmittableEventNames>(event: T, data?: PlayerCustomEventsDetailMap[T]): Player;
1106
+ emit(event: never, data?: never): Player;
1107
+ /* Excluded from this release type: emit */
1108
+ /* Excluded from this release type: emit */
1098
1109
  /* Excluded from this release type: emit */
1099
1110
  /* Excluded from this release type: emit */
1100
- emit<T extends PlayerEmittableEventNames>(event: T, data?: PlayerCustomEventsDetailMap[T]): Player;
1101
1111
  /* Excluded from this release type: emit */
1102
1112
  };
1103
1113
 
@@ -1205,6 +1215,17 @@ declare const /**
1205
1215
  */
1206
1216
  PROGRESS = "progress";
1207
1217
 
1218
+ /**
1219
+ * @public
1220
+ */
1221
+ declare type QselOption = {
1222
+ height: number;
1223
+ level: number;
1224
+ text: string;
1225
+ /* Excluded from this release type: videoCodec */
1226
+ width: number;
1227
+ };
1228
+
1208
1229
  /**
1209
1230
  * @public
1210
1231
  * emitted whenever a list of qualities has been made available
@@ -1223,27 +1244,11 @@ QUALITIES = "qualities";
1223
1244
  /**
1224
1245
  * @public
1225
1246
  */
1226
- declare type QualitiesEventDetail = QualityDetail[];
1247
+ declare type QualitiesEventDetail = QselOption[];
1227
1248
 
1228
- /**
1229
- * @public
1230
- */
1231
- declare type QualityDetail = {
1232
- level: number;
1233
- text: string;
1234
- width: number;
1235
- height: number;
1236
- videoCodec: string;
1237
- } | BitrateInfo | {
1238
- text: string | number;
1239
- encodingId: string;
1240
- spatialLayerId: number;
1241
- temporalLayerId: number;
1242
- maxSpatialLayerId: number;
1243
- maxTemporalLayerId: number;
1244
- height: number;
1245
- width: number;
1246
- };
1249
+ /* Excluded from this release type: _QualitiesEventDetail */
1250
+
1251
+ /* Excluded from this release type: _QualityDetail */
1247
1252
 
1248
1253
  declare enum QualityOpts {
1249
1254
  LOW = 1,
@@ -1415,20 +1420,14 @@ SEEKING_2 = "seeking";
1415
1420
 
1416
1421
  /**
1417
1422
  * @public
1418
- * allows plugins to listen for forced quality changes
1419
- * it should emit the index of the quality to set
1420
- * -1 is a special idx saying to use ABR if the plugin
1421
- * exposes an ABR implementation
1423
+ * @deprecated please use Qsel.events.SET_QUALITY
1422
1424
  */
1423
1425
  declare const /**
1424
1426
  @public
1425
1427
  * when a new player is inserted into the HTML
1426
1428
  */ /**
1427
1429
  * @public
1428
- * allows plugins to listen for forced quality changes
1429
- * it should emit the index of the quality to set
1430
- * -1 is a special idx saying to use ABR if the plugin
1431
- * exposes an ABR implementation
1430
+ * @deprecated please use Qsel.events.SET_QUALITY
1432
1431
  */
1433
1432
  SET_QUALITY = "quality:set";
1434
1433
 
@@ -1617,16 +1616,6 @@ declare const /**
1617
1616
  */
1618
1617
  VIDEO_TRACKS = "videoTracks";
1619
1618
 
1620
- /**
1621
- * @public
1622
- */
1623
- declare interface VideoTrack {
1624
- name: string;
1625
- /* Excluded from this release type: data */
1626
- default: boolean;
1627
- selected: boolean;
1628
- }
1629
-
1630
1619
  /**
1631
1620
  * @public
1632
1621
  * when a player enters the viewpoint