cloudinary-video-player 3.0.6-edge.0 → 3.0.6-edge.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.
package/dist/chapters.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Cloudinary Video Player v3.0.6-edge.0
3
- * Built on 2025-07-03T08:09:45.669Z
2
+ * Cloudinary Video Player v3.0.6-edge.2
3
+ * Built on 2025-07-03T16:41:51.707Z
4
4
  * https://github.com/cloudinary/cloudinary-video-player
5
5
  */
6
6
  "use strict";
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * Cloudinary Video Player v3.0.6-edge.0
3
- * Built on 2025-07-03T08:09:26.873Z
2
+ * Cloudinary Video Player v3.0.6-edge.2
3
+ * Built on 2025-07-03T16:41:32.493Z
4
4
  * https://github.com/cloudinary/cloudinary-video-player
5
5
  */
6
- "use strict";(self.cloudinaryVideoPlayerChunkLoading=self.cloudinaryVideoPlayerChunkLoading||[]).push([[625],{9234:(t,e,r)=>{r.d(e,{default:()=>n});var s=r(6673),a=r.n(s),i=r(9388);const o=function(){function t(t,e){return this.player=t,this.options=e,this.player.one("loadedmetadata",this.initializeChapters.bind(this)),this}return t.prototype.src=function(t){this.resetPlugin(),this.options=t,this.player.one("loadedmetadata",this.initializeChapters.bind(this))},t.prototype.detach=function(){this.resetPlugin()},t.prototype.resetPlugin=function(){this.chaptersTrack&&(this.player.$(".vjs-control-bar-chapter-display").remove(),this.player.$(".vjs-chapter-display").remove(),this.player.$$(".vjs-chapter-marker").forEach((t=>t.remove())),this.player.removeRemoteTextTrack(this.chaptersTrack),delete this.chaptersTrack)},t.prototype.getChaptersFileUrlByName=function(){const t=this.player.cloudinary.currentPublicId();if(!t)return null;return`${(0,i.KA)(`${t}-chapters.vtt`,(0,i.lP)(this.player.cloudinary.cloudinaryConfig(),{resource_type:"raw",version:"1"}))}?t=${Date.now()}`},t.prototype.initializeChapters=async function(){const t=!0===this.options?this.getChaptersFileUrlByName():this.options.url;if(t){const e={kind:"chapters",src:t,default:!0},r=this.player.addRemoteTextTrack(e);r.addEventListener("load",(()=>{this.chaptersTrack=r.track,this.setupChaptersDisplays()}))}else if(Object.entries(this.options).length){const t=this.player.addRemoteTextTrack({kind:"chapters",default:!0}),e=this.player.duration();Object.entries(this.options).forEach(((r,s,a)=>{const i=new VTTCue(parseFloat(r[0]),parseFloat(a[s+1]?a[s+1][0]:e),r[1]);t.track.addCue(i)})),this.chaptersTrack=t.track,this.setupChaptersDisplays(),this.player.controlBar.chaptersButton&&this.player.controlBar.chaptersButton.update()}},t.prototype.setupChaptersDisplays=function(){this.setupProgressBarMarkers(),this.setupProgressBarChapter(),this.setupControlBarChapter()},t.prototype.setupControlBarChapter=function(){const t=this.player.$(".vjs-control-bar-chapter-display")||document.createElement("div");t.setAttribute("class","vjs-control-bar-chapter-display");const e=this.player.$(".vjs-control-bar .vjs-spacer");e.innerHTML="",e.classList.add("vjs-control-bar-chapter-wrapper"),e.appendChild(t),this.chaptersTrack.addEventListener("cuechange",(()=>{const e=Array.from(this.chaptersTrack.activeCues);t.innerText=e.length>0?e[0].text:""}))},t.prototype.setupProgressBarMarkers=function(){const t=this.player.duration(),{seekBar:e}=this.player.controlBar.progressControl;Array.from(this.chaptersTrack.cues).forEach((r=>{if(0!==r.startTime){const s=r.startTime/t*100+"%",i=a().dom.createEl("div",void 0,{class:"vjs-chapter-marker",style:`left: ${s}`});e.el().append(i)}}))},t.prototype.setupProgressBarChapter=function(){const t=a().dom.createEl("div",void 0,{class:"vjs-chapter-display",style:`max-width: ${this.player.$(".vjs-vtt-thumbnail-display")?this.player.$(".vjs-vtt-thumbnail-display").style.width:"160px"}`}),e=this.player.getDescendant(["controlBar","progressControl","seekBar","mouseTimeDisplay"]),r=e.getDescendant(["timeTooltip"]);r.el().parentElement.prepend(t);const s=t=>{const e=t*this.player.duration(),r=Array.from(this.chaptersTrack?.cues||[]).find((t=>e>=t.startTime&&e<=t.endTime));return r?r.text:""};r.update=function(e,r,a){Object.getPrototypeOf(this).update.call(this,e,r,a),t.innerText=s(r)},"object"!=typeof this.player.vttThumbnails&&(e.update=function(e,s){const i=s*this.player_.duration(),o=e.width,n=t.clientWidth/2;r.updateTime(e,s,i,(()=>{e.width*s<n?this.el_.style.left=`${n}px`:e.width*s+n>o?this.el_.style.left=e.width-n+"px":this.el_.style.left=e.width*s+"px"})),r.write(a().time.formatTime(i))})},t}(),n=function(t,e){e.addClass("vjs-chapters"),e.chapters=new o(e,t)}}}]);
6
+ "use strict";(self.cloudinaryVideoPlayerChunkLoading=self.cloudinaryVideoPlayerChunkLoading||[]).push([[625],{9234:(t,e,r)=>{r.d(e,{default:()=>n});var s=r(6673),a=r.n(s),i=r(8033);const o=function(){function t(t,e){return this.player=t,this.options=e,this.player.one("loadedmetadata",this.initializeChapters.bind(this)),this}return t.prototype.src=function(t){this.resetPlugin(),this.options=t,this.player.one("loadedmetadata",this.initializeChapters.bind(this))},t.prototype.detach=function(){this.resetPlugin()},t.prototype.resetPlugin=function(){this.chaptersTrack&&(this.player.$(".vjs-control-bar-chapter-display").remove(),this.player.$(".vjs-chapter-display").remove(),this.player.$$(".vjs-chapter-marker").forEach((t=>t.remove())),this.player.removeRemoteTextTrack(this.chaptersTrack),delete this.chaptersTrack)},t.prototype.getChaptersFileUrlByName=function(){const t=this.player.cloudinary.currentPublicId();if(!t)return null;return`${(0,i.KA)(`${t}-chapters.vtt`,(0,i.lP)(this.player.cloudinary.cloudinaryConfig(),{resource_type:"raw",version:"1"}))}?t=${Date.now()}`},t.prototype.initializeChapters=async function(){const t=!0===this.options?this.getChaptersFileUrlByName():this.options.url;if(t){const e={kind:"chapters",src:t,default:!0},r=this.player.addRemoteTextTrack(e);r.addEventListener("load",(()=>{this.chaptersTrack=r.track,this.setupChaptersDisplays()}))}else if(Object.entries(this.options).length){const t=this.player.addRemoteTextTrack({kind:"chapters",default:!0}),e=this.player.duration();Object.entries(this.options).forEach(((r,s,a)=>{const i=new VTTCue(parseFloat(r[0]),parseFloat(a[s+1]?a[s+1][0]:e),r[1]);t.track.addCue(i)})),this.chaptersTrack=t.track,this.setupChaptersDisplays(),this.player.controlBar.chaptersButton&&this.player.controlBar.chaptersButton.update()}},t.prototype.setupChaptersDisplays=function(){this.setupProgressBarMarkers(),this.setupProgressBarChapter(),this.setupControlBarChapter()},t.prototype.setupControlBarChapter=function(){const t=this.player.$(".vjs-control-bar-chapter-display")||document.createElement("div");t.setAttribute("class","vjs-control-bar-chapter-display");const e=this.player.$(".vjs-control-bar .vjs-spacer");e.innerHTML="",e.classList.add("vjs-control-bar-chapter-wrapper"),e.appendChild(t),this.chaptersTrack.addEventListener("cuechange",(()=>{const e=Array.from(this.chaptersTrack.activeCues);t.innerText=e.length>0?e[0].text:""}))},t.prototype.setupProgressBarMarkers=function(){const t=this.player.duration(),{seekBar:e}=this.player.controlBar.progressControl;Array.from(this.chaptersTrack.cues).forEach((r=>{if(0!==r.startTime){const s=r.startTime/t*100+"%",i=a().dom.createEl("div",void 0,{class:"vjs-chapter-marker",style:`left: ${s}`});e.el().append(i)}}))},t.prototype.setupProgressBarChapter=function(){const t=a().dom.createEl("div",void 0,{class:"vjs-chapter-display",style:`max-width: ${this.player.$(".vjs-vtt-thumbnail-display")?this.player.$(".vjs-vtt-thumbnail-display").style.width:"160px"}`}),e=this.player.getDescendant(["controlBar","progressControl","seekBar","mouseTimeDisplay"]),r=e.getDescendant(["timeTooltip"]);r.el().parentElement.prepend(t);const s=t=>{const e=t*this.player.duration(),r=Array.from(this.chaptersTrack?.cues||[]).find((t=>e>=t.startTime&&e<=t.endTime));return r?r.text:""};r.update=function(e,r,a){Object.getPrototypeOf(this).update.call(this,e,r,a),t.innerText=s(r)},"object"!=typeof this.player.vttThumbnails&&(e.update=function(e,s){const i=s*this.player_.duration(),o=e.width,n=t.clientWidth/2;r.updateTime(e,s,i,(()=>{e.width*s<n?this.el_.style.left=`${n}px`:e.width*s+n>o?this.el_.style.left=e.width-n+"px":this.el_.style.left=e.width*s+"px"})),r.write(a().time.formatTime(i))})},t}(),n=function(t,e){e.addClass("vjs-chapters"),e.chapters=new o(e,t)}}}]);
7
7
  //# sourceMappingURL=chapters.min.js.map
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Cloudinary Video Player v3.0.6-edge.0
3
- * Built on 2025-07-03T08:09:45.669Z
2
+ * Cloudinary Video Player v3.0.6-edge.2
3
+ * Built on 2025-07-03T16:41:51.707Z
4
4
  * https://github.com/cloudinary/cloudinary-video-player
5
5
  */
6
6
  /*!*************************************************************************************************!*\
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Cloudinary Video Player v3.0.6-edge.0
3
- * Built on 2025-07-03T08:09:45.669Z
2
+ * Cloudinary Video Player v3.0.6-edge.2
3
+ * Built on 2025-07-03T16:41:51.707Z
4
4
  * https://github.com/cloudinary/cloudinary-video-player
5
5
  */
6
6
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -248,6 +248,8 @@ __webpack_require__.r(__webpack_exports__);
248
248
  /* harmony import */ var assets_styles_components_title_bar_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! assets/styles/components/title-bar.scss */ "./assets/styles/components/title-bar.scss");
249
249
  /* harmony import */ var _component_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../component-utils */ "./components/component-utils.js");
250
250
  /* harmony import */ var _component_utils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_component_utils__WEBPACK_IMPORTED_MODULE_2__);
251
+ /* harmony import */ var plugins_cloudinary_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! plugins/cloudinary/common */ "./plugins/cloudinary/common.js");
252
+
251
253
 
252
254
 
253
255
 
@@ -269,27 +271,58 @@ class TitleBar extends Component {
269
271
  setItem(source) {
270
272
  if (!source) {
271
273
  this.setTitle('');
272
- this.setSubtitle('');
274
+ this.setDescription('');
273
275
  return;
274
276
  }
275
277
  const info = source.info();
276
278
  this.setTitle(info.title);
277
- this.setSubtitle(info.subtitle);
279
+ this.setDescription(info.subtitle);
280
+
281
+ // auto-fetch title/description if `true`
282
+ const shouldFetchTitle = source.title && source.title() === true;
283
+ const shouldFetchDescription = source.description && source.description() === true;
284
+ if (shouldFetchTitle || shouldFetchDescription) {
285
+ this.fetchAutoMetadata(source, shouldFetchTitle, shouldFetchDescription);
286
+ }
287
+ }
288
+ fetchAutoMetadata(source, fetchTitle, fetchDescription) {
289
+ if (source.isRawUrl) return;
290
+ const config = source.cloudinaryConfig();
291
+ const publicId = source.publicId();
292
+ if (!config?.cloud_name || !publicId) return;
293
+ const urlPrefix = (0,plugins_cloudinary_common__WEBPACK_IMPORTED_MODULE_3__.getCloudinaryUrlPrefix)(config);
294
+ const deliveryType = source.getInitOptions().type || 'upload';
295
+ const metadataUrl = `${urlPrefix}/_applet_/video_service/video_metadata/${deliveryType}/${publicId}.json`;
296
+ fetch(metadataUrl).then(response => {
297
+ if (!response.ok) throw new Error(`HTTP ${response.status}`);
298
+ return response.json();
299
+ }).then(metadata => {
300
+ if (fetchTitle && metadata.title) {
301
+ this.setTitle(metadata.title);
302
+ }
303
+ if (fetchDescription && metadata.description) {
304
+ this.setDescription(metadata.description);
305
+ }
306
+ }).catch(error => {
307
+ console.warn(`Failed to fetch metadata for ${publicId}:`, error);
308
+ });
278
309
  }
279
310
  setTitle(text) {
280
- _component_utils__WEBPACK_IMPORTED_MODULE_2___default().setText(this.titleEl, text);
311
+ const displayText = typeof text === 'string' ? text : '';
312
+ _component_utils__WEBPACK_IMPORTED_MODULE_2___default().setText(this.titleEl, displayText);
281
313
  this.refresh();
282
- return text;
314
+ return displayText;
283
315
  }
284
- setSubtitle(text) {
285
- _component_utils__WEBPACK_IMPORTED_MODULE_2___default().setText(this.subtitleEl, text);
316
+ setDescription(text) {
317
+ const displayText = typeof text === 'string' ? text : '';
318
+ _component_utils__WEBPACK_IMPORTED_MODULE_2___default().setText(this.descriptionEl, displayText);
286
319
  this.refresh();
287
- return text;
320
+ return displayText;
288
321
  }
289
322
  refresh() {
290
323
  const titleValue = () => this.titleEl.innerText;
291
- const subtitleValue = () => this.subtitleEl.innerText;
292
- if (!titleValue() && !subtitleValue()) {
324
+ const descriptionValue = () => this.descriptionEl.innerText;
325
+ if (!titleValue() && !descriptionValue()) {
293
326
  this.hide();
294
327
  return;
295
328
  }
@@ -299,7 +332,7 @@ class TitleBar extends Component {
299
332
  this.titleEl = dom.createEl('div', {
300
333
  className: 'vjs-title-bar-title'
301
334
  });
302
- this.subtitleEl = dom.createEl('div', {
335
+ this.descriptionEl = dom.createEl('div', {
303
336
  className: 'vjs-title-bar-subtitle'
304
337
  });
305
338
  const el = super.createEl('div', {
@@ -307,7 +340,7 @@ class TitleBar extends Component {
307
340
  className: 'vjs-title-bar'
308
341
  });
309
342
  el.appendChild(this.titleEl);
310
- el.appendChild(this.subtitleEl);
343
+ el.appendChild(this.descriptionEl);
311
344
  return el;
312
345
  }
313
346
  }
@@ -750,8 +783,6 @@ __webpack_require__.r(__webpack_exports__);
750
783
  /* harmony import */ var cloudinary_video_player_profiles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! cloudinary-video-player-profiles */ "../node_modules/cloudinary-video-player-profiles/dist/index.js");
751
784
  /* harmony import */ var cloudinary_video_player_profiles__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(cloudinary_video_player_profiles__WEBPACK_IMPORTED_MODULE_1__);
752
785
  /* harmony import */ var _plugins_cloudinary_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./plugins/cloudinary/common */ "./plugins/cloudinary/common.js");
753
- /* harmony import */ var _cloudinary_url_gen_backwards_utils_unsigned_url_prefix__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @cloudinary/url-gen/backwards/utils/unsigned_url_prefix */ "../node_modules/@cloudinary/url-gen/backwards/utils/unsigned_url_prefix.js");
754
-
755
786
 
756
787
 
757
788
 
@@ -777,7 +808,7 @@ const getProfile = async (profile, initOptions) => {
777
808
  if (isDefaultProfile(profile)) {
778
809
  return getDefaultProfileConfig(profile);
779
810
  }
780
- const urlPrefix = (0,_cloudinary_url_gen_backwards_utils_unsigned_url_prefix__WEBPACK_IMPORTED_MODULE_3__.unsigned_url_prefix)(null, initOptions.cloudinaryConfig.cloud_name, initOptions.cloudinaryConfig.private_cdn, initOptions.cloudinaryConfig.cdn_subdomain, initOptions.cloudinaryConfig.secure_cdn_subdomain, initOptions.cloudinaryConfig.cname, initOptions.cloudinaryConfig.secure ?? true, initOptions.cloudinaryConfig.secure_distribution);
811
+ const urlPrefix = (0,_plugins_cloudinary_common__WEBPACK_IMPORTED_MODULE_2__.getCloudinaryUrlPrefix)(initOptions.cloudinaryConfig);
781
812
  const profileUrl = (0,_plugins_cloudinary_common__WEBPACK_IMPORTED_MODULE_2__.isRawUrl)(profile) ? profile : `${urlPrefix}/_applet_/video_service/video_player_profiles/${profile.replaceAll(' ', '+')}.json`;
782
813
  return fetch(profileUrl, {
783
814
  method: 'GET'
@@ -1455,7 +1486,7 @@ class CloudinaryAnalytics {
1455
1486
  }, {
1456
1487
  ...(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default()(this.analyticsOptions) ? this.analyticsOptions : {}),
1457
1488
  videoPlayerType: 'cloudinary video player',
1458
- videoPlayerVersion: "3.0.6-edge.0"
1489
+ videoPlayerVersion: "3.0.6-edge.2"
1459
1490
  });
1460
1491
  } else if (this.currentVideoMetadata.cloudName !== metadata.cloudName || this.currentVideoMetadata.publicId !== metadata.publicId) {
1461
1492
  this.cloudinaryAnalytics.stopManualTracking();
@@ -1522,6 +1553,7 @@ __webpack_require__.r(__webpack_exports__);
1522
1553
  /* harmony export */ cloudinaryErrorsConverter: () => (/* binding */ cloudinaryErrorsConverter),
1523
1554
  /* harmony export */ extendCloudinaryConfig: () => (/* binding */ extendCloudinaryConfig),
1524
1555
  /* harmony export */ getCloudinaryUrl: () => (/* binding */ getCloudinaryUrl),
1556
+ /* harmony export */ getCloudinaryUrlPrefix: () => (/* binding */ getCloudinaryUrlPrefix),
1525
1557
  /* harmony export */ isRawUrl: () => (/* binding */ isRawUrl),
1526
1558
  /* harmony export */ isSrcEqual: () => (/* binding */ isSrcEqual),
1527
1559
  /* harmony export */ mergeTransformations: () => (/* binding */ mergeTransformations),
@@ -1539,7 +1571,9 @@ __webpack_require__.r(__webpack_exports__);
1539
1571
  /* harmony import */ var lodash_isString__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_isString__WEBPACK_IMPORTED_MODULE_4__);
1540
1572
  /* harmony import */ var _models_video_source_video_source_const__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./models/video-source/video-source.const */ "./plugins/cloudinary/models/video-source/video-source.const.js");
1541
1573
  /* harmony import */ var _cloudinary_url_gen_backwards_createCloudinaryLegacyURL__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @cloudinary/url-gen/backwards/createCloudinaryLegacyURL */ "../node_modules/@cloudinary/url-gen/backwards/createCloudinaryLegacyURL.js");
1542
- /* harmony import */ var _cloudinary_url_gen_backwards_transformation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @cloudinary/url-gen/backwards/transformation */ "../node_modules/@cloudinary/url-gen/backwards/transformation.js");
1574
+ /* harmony import */ var _cloudinary_url_gen_backwards_transformation__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @cloudinary/url-gen/backwards/transformation */ "../node_modules/@cloudinary/url-gen/backwards/transformation.js");
1575
+ /* harmony import */ var _cloudinary_url_gen_backwards_utils_unsigned_url_prefix__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @cloudinary/url-gen/backwards/utils/unsigned_url_prefix */ "../node_modules/@cloudinary/url-gen/backwards/utils/unsigned_url_prefix.js");
1576
+
1543
1577
 
1544
1578
 
1545
1579
 
@@ -1587,10 +1621,13 @@ const isSrcEqual = (source1, source2) => {
1587
1621
  };
1588
1622
  const extendCloudinaryConfig = (currentConfig, newConfig) => Object.assign(currentConfig, newConfig);
1589
1623
  const getCloudinaryUrl = (publicId, transformation) => (0,_cloudinary_url_gen_backwards_createCloudinaryLegacyURL__WEBPACK_IMPORTED_MODULE_6__.createCloudinaryLegacyURL)(publicId, lodash_omit__WEBPACK_IMPORTED_MODULE_1___default()(transformation, ['chainTarget']));
1624
+ const getCloudinaryUrlPrefix = cloudinaryConfig => {
1625
+ return (0,_cloudinary_url_gen_backwards_utils_unsigned_url_prefix__WEBPACK_IMPORTED_MODULE_7__.unsigned_url_prefix)(null, cloudinaryConfig.cloud_name, cloudinaryConfig.private_cdn, cloudinaryConfig.cdn_subdomain, cloudinaryConfig.secure_cdn_subdomain, cloudinaryConfig.cname, cloudinaryConfig.secure ?? true, cloudinaryConfig.secure_distribution);
1626
+ };
1590
1627
  const isTransformationInstance = transformation => transformation.constructor.name === 'Transformation' && transformation.toOptions;
1591
1628
  const mergeTransformations = (initTransformation1, transformation2) => {
1592
1629
  const transformation1 = isTransformationInstance(initTransformation1) ? initTransformation1.toOptions() : initTransformation1;
1593
- return new _cloudinary_url_gen_backwards_transformation__WEBPACK_IMPORTED_MODULE_7__["default"](transformation1).fromOptions(transformation2).toOptions();
1630
+ return new _cloudinary_url_gen_backwards_transformation__WEBPACK_IMPORTED_MODULE_8__["default"](transformation1).fromOptions(transformation2).toOptions();
1594
1631
  };
1595
1632
  const ERROR_CODE = {
1596
1633
  NO_SUPPORTED_MEDIA: 6,
@@ -1850,7 +1887,7 @@ class CloudinaryContext {
1850
1887
  options.sourceTypes = options.sourceTypes || _this.sourceTypes();
1851
1888
  options.poster = options.poster || posterOptionsForCurrent();
1852
1889
  options.queryParams = Object.assign(options.queryParams || {}, options.allowUsageReport ? {
1853
- _s: `vp-${"3.0.6-edge.0"}`
1890
+ _s: `vp-${"3.0.6-edge.2"}`
1854
1891
  } : {});
1855
1892
  if (options.sourceTypes.indexOf('audio') > -1) {
1856
1893
  builtSrc = new _models_audio_source_audio_source__WEBPACK_IMPORTED_MODULE_7__["default"](publicId, options);
@@ -2475,7 +2512,9 @@ class VideoSource extends _base_source__WEBPACK_IMPORTED_MODULE_7__["default"] {
2475
2512
  // BaseSource method
2476
2513
  'queryParams',
2477
2514
  // BaseSource method
2478
- 'type' // BaseSource handles getType()
2515
+ 'type',
2516
+ // BaseSource handles getType()
2517
+ 'info' // Custom override method
2479
2518
  ];
2480
2519
  const SIMPLE_PROPERTIES = video_player_const__WEBPACK_IMPORTED_MODULE_3__.SOURCE_PARAMS.filter(param => !EXCLUDED_PROPERTIES.includes(param));
2481
2520
 
@@ -2617,6 +2656,18 @@ class VideoSource extends _base_source__WEBPACK_IMPORTED_MODULE_7__["default"] {
2617
2656
  withCredentials: this.withCredentials
2618
2657
  };
2619
2658
  }
2659
+ info(value) {
2660
+ if (value !== undefined) {
2661
+ this._info = value;
2662
+ return this;
2663
+ }
2664
+ const info = this._info || this.getInitOptions().info;
2665
+ return {
2666
+ title: this.title() || info?.title || '',
2667
+ subtitle: this.description() || info?.subtitle || '',
2668
+ description: this.description() || info?.subtitle || ''
2669
+ };
2670
+ }
2620
2671
  }
2621
2672
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VideoSource);
2622
2673
 
@@ -2832,7 +2883,7 @@ const contextMenuContent = player => {
2832
2883
  const isFullscreen = player.isFullscreen();
2833
2884
  const aboutMenuItem = {
2834
2885
  class: 'player-version',
2835
- label: 'Cloudinary Player v' + "3.0.6-edge.0"
2886
+ label: 'Cloudinary Player v' + "3.0.6-edge.2"
2836
2887
  };
2837
2888
  if (!player.controls()) {
2838
2889
  return [aboutMenuItem];
@@ -4648,10 +4699,10 @@ const getSourceOptions = function () {
4648
4699
  } : {}),
4649
4700
  shoppable: hasConfig(sourceOptions.shoppable),
4650
4701
  shoppableProductsLength: sourceOptions.shoppable && sourceOptions.shoppable.products && sourceOptions.shoppable.products.length,
4651
- ...(sourceOptions.info ? {
4652
- sourceInfoTitle: sourceOptions.info.title,
4653
- sourceInfoSubtitle: sourceOptions.info.subtitle,
4654
- sourceInfoDescription: sourceOptions.info.description
4702
+ ...(sourceOptions.title || sourceOptions.description || sourceOptions.info ? {
4703
+ sourceInfo: hasConfig(sourceOptions.info),
4704
+ sourceTitle: typeof sourceOptions.title === 'string' ? sourceOptions.title : sourceOptions.info?.title,
4705
+ sourceDescription: typeof sourceOptions.description === 'string' ? sourceOptions.description : sourceOptions.info?.subtitle || sourceOptions.info?.description
4655
4706
  } : {}),
4656
4707
  ...(sourceOptions.textTracks ? {
4657
4708
  ...(hasConfig(sourceOptions.textTracks) && getTranscriptOptions(sourceOptions.textTracks)),
@@ -5102,7 +5153,7 @@ __webpack_require__.r(__webpack_exports__);
5102
5153
  /* harmony export */ SOURCE_PARAMS: () => (/* binding */ SOURCE_PARAMS)
5103
5154
  /* harmony export */ });
5104
5155
  // Parameters that can be passed to source configuration (inherited by source method)
5105
- const SOURCE_PARAMS = ['adaptiveStreaming', 'autoShowRecommendations', 'chapters', 'cloudinaryConfig', 'info', 'interactionAreas', 'poster', 'posterOptions', 'publicId', 'rawTransformation', 'recommendations', 'shoppable', 'source', 'sourceTransformation', 'sourceTypes', 'textTracks', 'transformation', 'type', 'visualSearch', 'withCredentials'];
5156
+ const SOURCE_PARAMS = ['adaptiveStreaming', 'autoShowRecommendations', 'chapters', 'cloudinaryConfig', 'description', 'info', 'interactionAreas', 'poster', 'posterOptions', 'publicId', 'rawTransformation', 'recommendations', 'shoppable', 'source', 'sourceTransformation', 'sourceTypes', 'textTracks', 'title', 'transformation', 'type', 'visualSearch', 'withCredentials'];
5106
5157
 
5107
5158
  // All parameters that can be passed to player constructor
5108
5159
  const PLAYER_PARAMS = SOURCE_PARAMS.concat(['_internalAnalyticsMetadata', 'ads', 'aiHighlightsGraph', 'allowUsageReport', 'analytics', 'autoplayMode', 'chaptersButton', 'cloudinaryAnalytics', 'colors', 'debug', 'fetchErrorUsingGet', 'floatingWhenNotVisible', 'fluid', 'fontFace', 'hideContextMenu', 'ima', 'pictureInPictureToggle', 'playedEventPercents', 'playedEventTimes', 'playlistWidget', 'qualitySelector', 'queryParams', 'seekThumbnails', 'showJumpControls']);
@@ -5271,7 +5322,7 @@ class VideoPlayer extends _utils__WEBPACK_IMPORTED_MODULE_9__["default"].mixin(_
5271
5322
  const analyticsData = (0,_utils_get_analytics_player_options__WEBPACK_IMPORTED_MODULE_18__.getAnalyticsFromPlayerOptions)(options);
5272
5323
  const analyticsParams = new URLSearchParams(analyticsData).toString();
5273
5324
  const baseParams = new URLSearchParams({
5274
- vpVersion: "3.0.6-edge.0",
5325
+ vpVersion: "3.0.6-edge.2",
5275
5326
  vpInstanceId: this.getVPInstanceId(),
5276
5327
  cloudName: options.cloudinary.cloudinaryConfig.cloud_name,
5277
5328
  ...internalAnalyticsMetadata
@@ -1,7 +1,7 @@
1
1
  console.warn('[Cloudinary] The "light" video-player is deprecated and will be removed in a future release. The main player is now light by default. Please use that instead.');
2
2
  /*!
3
- * Cloudinary Video Player v3.0.6-edge.0
4
- * Built on 2025-07-03T08:09:45.669Z
3
+ * Cloudinary Video Player v3.0.6-edge.2
4
+ * Built on 2025-07-03T16:41:51.707Z
5
5
  * https://github.com/cloudinary/cloudinary-video-player
6
6
  */
7
7
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -249,6 +249,8 @@ __webpack_require__.r(__webpack_exports__);
249
249
  /* harmony import */ var assets_styles_components_title_bar_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! assets/styles/components/title-bar.scss */ "./assets/styles/components/title-bar.scss");
250
250
  /* harmony import */ var _component_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../component-utils */ "./components/component-utils.js");
251
251
  /* harmony import */ var _component_utils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_component_utils__WEBPACK_IMPORTED_MODULE_2__);
252
+ /* harmony import */ var plugins_cloudinary_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! plugins/cloudinary/common */ "./plugins/cloudinary/common.js");
253
+
252
254
 
253
255
 
254
256
 
@@ -270,27 +272,58 @@ class TitleBar extends Component {
270
272
  setItem(source) {
271
273
  if (!source) {
272
274
  this.setTitle('');
273
- this.setSubtitle('');
275
+ this.setDescription('');
274
276
  return;
275
277
  }
276
278
  const info = source.info();
277
279
  this.setTitle(info.title);
278
- this.setSubtitle(info.subtitle);
280
+ this.setDescription(info.subtitle);
281
+
282
+ // auto-fetch title/description if `true`
283
+ const shouldFetchTitle = source.title && source.title() === true;
284
+ const shouldFetchDescription = source.description && source.description() === true;
285
+ if (shouldFetchTitle || shouldFetchDescription) {
286
+ this.fetchAutoMetadata(source, shouldFetchTitle, shouldFetchDescription);
287
+ }
288
+ }
289
+ fetchAutoMetadata(source, fetchTitle, fetchDescription) {
290
+ if (source.isRawUrl) return;
291
+ const config = source.cloudinaryConfig();
292
+ const publicId = source.publicId();
293
+ if (!config?.cloud_name || !publicId) return;
294
+ const urlPrefix = (0,plugins_cloudinary_common__WEBPACK_IMPORTED_MODULE_3__.getCloudinaryUrlPrefix)(config);
295
+ const deliveryType = source.getInitOptions().type || 'upload';
296
+ const metadataUrl = `${urlPrefix}/_applet_/video_service/video_metadata/${deliveryType}/${publicId}.json`;
297
+ fetch(metadataUrl).then(response => {
298
+ if (!response.ok) throw new Error(`HTTP ${response.status}`);
299
+ return response.json();
300
+ }).then(metadata => {
301
+ if (fetchTitle && metadata.title) {
302
+ this.setTitle(metadata.title);
303
+ }
304
+ if (fetchDescription && metadata.description) {
305
+ this.setDescription(metadata.description);
306
+ }
307
+ }).catch(error => {
308
+ console.warn(`Failed to fetch metadata for ${publicId}:`, error);
309
+ });
279
310
  }
280
311
  setTitle(text) {
281
- _component_utils__WEBPACK_IMPORTED_MODULE_2___default().setText(this.titleEl, text);
312
+ const displayText = typeof text === 'string' ? text : '';
313
+ _component_utils__WEBPACK_IMPORTED_MODULE_2___default().setText(this.titleEl, displayText);
282
314
  this.refresh();
283
- return text;
315
+ return displayText;
284
316
  }
285
- setSubtitle(text) {
286
- _component_utils__WEBPACK_IMPORTED_MODULE_2___default().setText(this.subtitleEl, text);
317
+ setDescription(text) {
318
+ const displayText = typeof text === 'string' ? text : '';
319
+ _component_utils__WEBPACK_IMPORTED_MODULE_2___default().setText(this.descriptionEl, displayText);
287
320
  this.refresh();
288
- return text;
321
+ return displayText;
289
322
  }
290
323
  refresh() {
291
324
  const titleValue = () => this.titleEl.innerText;
292
- const subtitleValue = () => this.subtitleEl.innerText;
293
- if (!titleValue() && !subtitleValue()) {
325
+ const descriptionValue = () => this.descriptionEl.innerText;
326
+ if (!titleValue() && !descriptionValue()) {
294
327
  this.hide();
295
328
  return;
296
329
  }
@@ -300,7 +333,7 @@ class TitleBar extends Component {
300
333
  this.titleEl = dom.createEl('div', {
301
334
  className: 'vjs-title-bar-title'
302
335
  });
303
- this.subtitleEl = dom.createEl('div', {
336
+ this.descriptionEl = dom.createEl('div', {
304
337
  className: 'vjs-title-bar-subtitle'
305
338
  });
306
339
  const el = super.createEl('div', {
@@ -308,7 +341,7 @@ class TitleBar extends Component {
308
341
  className: 'vjs-title-bar'
309
342
  });
310
343
  el.appendChild(this.titleEl);
311
- el.appendChild(this.subtitleEl);
344
+ el.appendChild(this.descriptionEl);
312
345
  return el;
313
346
  }
314
347
  }
@@ -751,8 +784,6 @@ __webpack_require__.r(__webpack_exports__);
751
784
  /* harmony import */ var cloudinary_video_player_profiles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! cloudinary-video-player-profiles */ "../node_modules/cloudinary-video-player-profiles/dist/index.js");
752
785
  /* harmony import */ var cloudinary_video_player_profiles__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(cloudinary_video_player_profiles__WEBPACK_IMPORTED_MODULE_1__);
753
786
  /* harmony import */ var _plugins_cloudinary_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./plugins/cloudinary/common */ "./plugins/cloudinary/common.js");
754
- /* harmony import */ var _cloudinary_url_gen_backwards_utils_unsigned_url_prefix__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @cloudinary/url-gen/backwards/utils/unsigned_url_prefix */ "../node_modules/@cloudinary/url-gen/backwards/utils/unsigned_url_prefix.js");
755
-
756
787
 
757
788
 
758
789
 
@@ -778,7 +809,7 @@ const getProfile = async (profile, initOptions) => {
778
809
  if (isDefaultProfile(profile)) {
779
810
  return getDefaultProfileConfig(profile);
780
811
  }
781
- const urlPrefix = (0,_cloudinary_url_gen_backwards_utils_unsigned_url_prefix__WEBPACK_IMPORTED_MODULE_3__.unsigned_url_prefix)(null, initOptions.cloudinaryConfig.cloud_name, initOptions.cloudinaryConfig.private_cdn, initOptions.cloudinaryConfig.cdn_subdomain, initOptions.cloudinaryConfig.secure_cdn_subdomain, initOptions.cloudinaryConfig.cname, initOptions.cloudinaryConfig.secure ?? true, initOptions.cloudinaryConfig.secure_distribution);
812
+ const urlPrefix = (0,_plugins_cloudinary_common__WEBPACK_IMPORTED_MODULE_2__.getCloudinaryUrlPrefix)(initOptions.cloudinaryConfig);
782
813
  const profileUrl = (0,_plugins_cloudinary_common__WEBPACK_IMPORTED_MODULE_2__.isRawUrl)(profile) ? profile : `${urlPrefix}/_applet_/video_service/video_player_profiles/${profile.replaceAll(' ', '+')}.json`;
783
814
  return fetch(profileUrl, {
784
815
  method: 'GET'
@@ -1456,7 +1487,7 @@ class CloudinaryAnalytics {
1456
1487
  }, {
1457
1488
  ...(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default()(this.analyticsOptions) ? this.analyticsOptions : {}),
1458
1489
  videoPlayerType: 'cloudinary video player',
1459
- videoPlayerVersion: "3.0.6-edge.0"
1490
+ videoPlayerVersion: "3.0.6-edge.2"
1460
1491
  });
1461
1492
  } else if (this.currentVideoMetadata.cloudName !== metadata.cloudName || this.currentVideoMetadata.publicId !== metadata.publicId) {
1462
1493
  this.cloudinaryAnalytics.stopManualTracking();
@@ -1523,6 +1554,7 @@ __webpack_require__.r(__webpack_exports__);
1523
1554
  /* harmony export */ cloudinaryErrorsConverter: () => (/* binding */ cloudinaryErrorsConverter),
1524
1555
  /* harmony export */ extendCloudinaryConfig: () => (/* binding */ extendCloudinaryConfig),
1525
1556
  /* harmony export */ getCloudinaryUrl: () => (/* binding */ getCloudinaryUrl),
1557
+ /* harmony export */ getCloudinaryUrlPrefix: () => (/* binding */ getCloudinaryUrlPrefix),
1526
1558
  /* harmony export */ isRawUrl: () => (/* binding */ isRawUrl),
1527
1559
  /* harmony export */ isSrcEqual: () => (/* binding */ isSrcEqual),
1528
1560
  /* harmony export */ mergeTransformations: () => (/* binding */ mergeTransformations),
@@ -1540,7 +1572,9 @@ __webpack_require__.r(__webpack_exports__);
1540
1572
  /* harmony import */ var lodash_isString__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_isString__WEBPACK_IMPORTED_MODULE_4__);
1541
1573
  /* harmony import */ var _models_video_source_video_source_const__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./models/video-source/video-source.const */ "./plugins/cloudinary/models/video-source/video-source.const.js");
1542
1574
  /* harmony import */ var _cloudinary_url_gen_backwards_createCloudinaryLegacyURL__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @cloudinary/url-gen/backwards/createCloudinaryLegacyURL */ "../node_modules/@cloudinary/url-gen/backwards/createCloudinaryLegacyURL.js");
1543
- /* harmony import */ var _cloudinary_url_gen_backwards_transformation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @cloudinary/url-gen/backwards/transformation */ "../node_modules/@cloudinary/url-gen/backwards/transformation.js");
1575
+ /* harmony import */ var _cloudinary_url_gen_backwards_transformation__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @cloudinary/url-gen/backwards/transformation */ "../node_modules/@cloudinary/url-gen/backwards/transformation.js");
1576
+ /* harmony import */ var _cloudinary_url_gen_backwards_utils_unsigned_url_prefix__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @cloudinary/url-gen/backwards/utils/unsigned_url_prefix */ "../node_modules/@cloudinary/url-gen/backwards/utils/unsigned_url_prefix.js");
1577
+
1544
1578
 
1545
1579
 
1546
1580
 
@@ -1588,10 +1622,13 @@ const isSrcEqual = (source1, source2) => {
1588
1622
  };
1589
1623
  const extendCloudinaryConfig = (currentConfig, newConfig) => Object.assign(currentConfig, newConfig);
1590
1624
  const getCloudinaryUrl = (publicId, transformation) => (0,_cloudinary_url_gen_backwards_createCloudinaryLegacyURL__WEBPACK_IMPORTED_MODULE_6__.createCloudinaryLegacyURL)(publicId, lodash_omit__WEBPACK_IMPORTED_MODULE_1___default()(transformation, ['chainTarget']));
1625
+ const getCloudinaryUrlPrefix = cloudinaryConfig => {
1626
+ return (0,_cloudinary_url_gen_backwards_utils_unsigned_url_prefix__WEBPACK_IMPORTED_MODULE_7__.unsigned_url_prefix)(null, cloudinaryConfig.cloud_name, cloudinaryConfig.private_cdn, cloudinaryConfig.cdn_subdomain, cloudinaryConfig.secure_cdn_subdomain, cloudinaryConfig.cname, cloudinaryConfig.secure ?? true, cloudinaryConfig.secure_distribution);
1627
+ };
1591
1628
  const isTransformationInstance = transformation => transformation.constructor.name === 'Transformation' && transformation.toOptions;
1592
1629
  const mergeTransformations = (initTransformation1, transformation2) => {
1593
1630
  const transformation1 = isTransformationInstance(initTransformation1) ? initTransformation1.toOptions() : initTransformation1;
1594
- return new _cloudinary_url_gen_backwards_transformation__WEBPACK_IMPORTED_MODULE_7__["default"](transformation1).fromOptions(transformation2).toOptions();
1631
+ return new _cloudinary_url_gen_backwards_transformation__WEBPACK_IMPORTED_MODULE_8__["default"](transformation1).fromOptions(transformation2).toOptions();
1595
1632
  };
1596
1633
  const ERROR_CODE = {
1597
1634
  NO_SUPPORTED_MEDIA: 6,
@@ -1851,7 +1888,7 @@ class CloudinaryContext {
1851
1888
  options.sourceTypes = options.sourceTypes || _this.sourceTypes();
1852
1889
  options.poster = options.poster || posterOptionsForCurrent();
1853
1890
  options.queryParams = Object.assign(options.queryParams || {}, options.allowUsageReport ? {
1854
- _s: `vp-${"3.0.6-edge.0"}`
1891
+ _s: `vp-${"3.0.6-edge.2"}`
1855
1892
  } : {});
1856
1893
  if (options.sourceTypes.indexOf('audio') > -1) {
1857
1894
  builtSrc = new _models_audio_source_audio_source__WEBPACK_IMPORTED_MODULE_7__["default"](publicId, options);
@@ -2476,7 +2513,9 @@ class VideoSource extends _base_source__WEBPACK_IMPORTED_MODULE_7__["default"] {
2476
2513
  // BaseSource method
2477
2514
  'queryParams',
2478
2515
  // BaseSource method
2479
- 'type' // BaseSource handles getType()
2516
+ 'type',
2517
+ // BaseSource handles getType()
2518
+ 'info' // Custom override method
2480
2519
  ];
2481
2520
  const SIMPLE_PROPERTIES = video_player_const__WEBPACK_IMPORTED_MODULE_3__.SOURCE_PARAMS.filter(param => !EXCLUDED_PROPERTIES.includes(param));
2482
2521
 
@@ -2618,6 +2657,18 @@ class VideoSource extends _base_source__WEBPACK_IMPORTED_MODULE_7__["default"] {
2618
2657
  withCredentials: this.withCredentials
2619
2658
  };
2620
2659
  }
2660
+ info(value) {
2661
+ if (value !== undefined) {
2662
+ this._info = value;
2663
+ return this;
2664
+ }
2665
+ const info = this._info || this.getInitOptions().info;
2666
+ return {
2667
+ title: this.title() || info?.title || '',
2668
+ subtitle: this.description() || info?.subtitle || '',
2669
+ description: this.description() || info?.subtitle || ''
2670
+ };
2671
+ }
2621
2672
  }
2622
2673
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VideoSource);
2623
2674
 
@@ -2833,7 +2884,7 @@ const contextMenuContent = player => {
2833
2884
  const isFullscreen = player.isFullscreen();
2834
2885
  const aboutMenuItem = {
2835
2886
  class: 'player-version',
2836
- label: 'Cloudinary Player v' + "3.0.6-edge.0"
2887
+ label: 'Cloudinary Player v' + "3.0.6-edge.2"
2837
2888
  };
2838
2889
  if (!player.controls()) {
2839
2890
  return [aboutMenuItem];
@@ -4649,10 +4700,10 @@ const getSourceOptions = function () {
4649
4700
  } : {}),
4650
4701
  shoppable: hasConfig(sourceOptions.shoppable),
4651
4702
  shoppableProductsLength: sourceOptions.shoppable && sourceOptions.shoppable.products && sourceOptions.shoppable.products.length,
4652
- ...(sourceOptions.info ? {
4653
- sourceInfoTitle: sourceOptions.info.title,
4654
- sourceInfoSubtitle: sourceOptions.info.subtitle,
4655
- sourceInfoDescription: sourceOptions.info.description
4703
+ ...(sourceOptions.title || sourceOptions.description || sourceOptions.info ? {
4704
+ sourceInfo: hasConfig(sourceOptions.info),
4705
+ sourceTitle: typeof sourceOptions.title === 'string' ? sourceOptions.title : sourceOptions.info?.title,
4706
+ sourceDescription: typeof sourceOptions.description === 'string' ? sourceOptions.description : sourceOptions.info?.subtitle || sourceOptions.info?.description
4656
4707
  } : {}),
4657
4708
  ...(sourceOptions.textTracks ? {
4658
4709
  ...(hasConfig(sourceOptions.textTracks) && getTranscriptOptions(sourceOptions.textTracks)),
@@ -5103,7 +5154,7 @@ __webpack_require__.r(__webpack_exports__);
5103
5154
  /* harmony export */ SOURCE_PARAMS: () => (/* binding */ SOURCE_PARAMS)
5104
5155
  /* harmony export */ });
5105
5156
  // Parameters that can be passed to source configuration (inherited by source method)
5106
- const SOURCE_PARAMS = ['adaptiveStreaming', 'autoShowRecommendations', 'chapters', 'cloudinaryConfig', 'info', 'interactionAreas', 'poster', 'posterOptions', 'publicId', 'rawTransformation', 'recommendations', 'shoppable', 'source', 'sourceTransformation', 'sourceTypes', 'textTracks', 'transformation', 'type', 'visualSearch', 'withCredentials'];
5157
+ const SOURCE_PARAMS = ['adaptiveStreaming', 'autoShowRecommendations', 'chapters', 'cloudinaryConfig', 'description', 'info', 'interactionAreas', 'poster', 'posterOptions', 'publicId', 'rawTransformation', 'recommendations', 'shoppable', 'source', 'sourceTransformation', 'sourceTypes', 'textTracks', 'title', 'transformation', 'type', 'visualSearch', 'withCredentials'];
5107
5158
 
5108
5159
  // All parameters that can be passed to player constructor
5109
5160
  const PLAYER_PARAMS = SOURCE_PARAMS.concat(['_internalAnalyticsMetadata', 'ads', 'aiHighlightsGraph', 'allowUsageReport', 'analytics', 'autoplayMode', 'chaptersButton', 'cloudinaryAnalytics', 'colors', 'debug', 'fetchErrorUsingGet', 'floatingWhenNotVisible', 'fluid', 'fontFace', 'hideContextMenu', 'ima', 'pictureInPictureToggle', 'playedEventPercents', 'playedEventTimes', 'playlistWidget', 'qualitySelector', 'queryParams', 'seekThumbnails', 'showJumpControls']);
@@ -5272,7 +5323,7 @@ class VideoPlayer extends _utils__WEBPACK_IMPORTED_MODULE_9__["default"].mixin(_
5272
5323
  const analyticsData = (0,_utils_get_analytics_player_options__WEBPACK_IMPORTED_MODULE_18__.getAnalyticsFromPlayerOptions)(options);
5273
5324
  const analyticsParams = new URLSearchParams(analyticsData).toString();
5274
5325
  const baseParams = new URLSearchParams({
5275
- vpVersion: "3.0.6-edge.0",
5326
+ vpVersion: "3.0.6-edge.2",
5276
5327
  vpInstanceId: this.getVPInstanceId(),
5277
5328
  cloudName: options.cloudinary.cloudinaryConfig.cloud_name,
5278
5329
  ...internalAnalyticsMetadata