@gcorevideo/player 2.0.2 → 2.1.1

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/lib/Player.d.ts CHANGED
@@ -22,6 +22,7 @@ export declare class Player {
22
22
  on<T extends PlayerEvent>(event: T, handler: PlayerEventHandler<T>): void;
23
23
  off<T extends PlayerEvent>(event: T, handler: PlayerEventHandler<T>): void;
24
24
  configure(config: Partial<PlayerConfig>): void;
25
+ private setConfig;
25
26
  init(playerElement: HTMLElement): Promise<void>;
26
27
  destroy(): void;
27
28
  pause(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EAEb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AAIpB,OAAO,2BAA2B,CAAC;AAInC,KAAK,kBAAkB,CAAC,CAAC,SAAS,WAAW,IAAI,MAAM,IAAI,CAAC;AAU5D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAIvD;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,WAAW,CAA4B;IAE/C,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO,CAAC,OAAO,CAAmB;IAElC,OAAO,CAAC,MAAM,CAA6B;IAE3C,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,aAAa,CAA8C;IAEnE,OAAO,CAAC,OAAO,CAAS;IAExB,IAAI,cAAc,IAAI,cAAc,GAAG,IAAI,CAY1C;IAED,IAAI,OAAO,IAAI,WAAW,GAAG,IAAI,CAEhC;IAED,IAAI,EAAE,QAEL;IAED,IAAI,YAAY,IAAI,YAAY,GAAG,SAAS,CAE3C;gBAGC,MAAM,EAAE,YAAY;IAKtB,EAAE,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAIlE,GAAG,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAInE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IAIjC,IAAI,CAAC,aAAa,EAAE,WAAW;IA2BrC,OAAO;IAeP,KAAK;IAKL,IAAI;IAKJ,MAAM,CAAC,IAAI,EAAE,MAAM;IAKnB,IAAI;IAKJ,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY;IAI1C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY;IAI5C,OAAO,CAAC,UAAU;YAgBJ,MAAM;IA8CpB,OAAO,CAAC,MAAM,CA2CZ;IAEF,OAAO,CAAC,gBAAgB;IAqCxB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,qBAAqB;CAuC9B"}
1
+ {"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EAEb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AAIpB,OAAO,2BAA2B,CAAC;AAInC,KAAK,kBAAkB,CAAC,CAAC,SAAS,WAAW,IAAI,MAAM,IAAI,CAAC;AAiB5D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAIvD;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,WAAW,CAA4B;IAE/C,OAAO,CAAC,MAAM,CAAiC;IAE/C,OAAO,CAAC,OAAO,CAAmB;IAElC,OAAO,CAAC,MAAM,CAA6B;IAE3C,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,aAAa,CAA8C;IAEnE,OAAO,CAAC,OAAO,CAAS;IAExB,IAAI,cAAc,IAAI,cAAc,GAAG,IAAI,CAY1C;IAED,IAAI,OAAO,IAAI,WAAW,GAAG,IAAI,CAEhC;IAED,IAAI,EAAE,QAEL;IAED,IAAI,YAAY,IAAI,YAAY,GAAG,SAAS,CAE3C;gBAGC,MAAM,EAAE,YAAY;IAKtB,EAAE,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAIlE,GAAG,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAInE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IAIvC,OAAO,CAAC,SAAS;IAIX,IAAI,CAAC,aAAa,EAAE,WAAW;IA4BrC,OAAO;IAeP,KAAK;IAKL,IAAI;IAKJ,MAAM,CAAC,IAAI,EAAE,MAAM;IAKnB,IAAI;IAKJ,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY;IAI1C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY;IAI5C,OAAO,CAAC,UAAU;YAgBJ,MAAM;IA8CpB,OAAO,CAAC,MAAM,CA2CZ;IAEF,OAAO,CAAC,gBAAgB;IAsCxB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,qBAAqB;CAuC9B"}
package/lib/Player.js CHANGED
@@ -11,13 +11,20 @@ const DEFAULT_OPTIONS = {
11
11
  autoPlay: false,
12
12
  mute: false,
13
13
  loop: false,
14
+ multisources: [],
15
+ playbackType: 'vod',
16
+ priorityTransport: 'dash',
17
+ debug: 'none',
18
+ pluginSettings: {},
19
+ strings: {},
20
+ poster: '',
14
21
  };
15
22
  /**
16
23
  * @beta
17
24
  */
18
25
  export class Player {
19
26
  bitrateInfo = null;
20
- config;
27
+ config = DEFAULT_OPTIONS;
21
28
  emitter = new EventLite();
22
29
  player = null;
23
30
  ready = false;
@@ -46,7 +53,7 @@ export class Player {
46
53
  return this.player?.core.activePlayback?.getPlaybackType();
47
54
  }
48
55
  constructor(config) {
49
- this.config = $.extend(true, {}, DEFAULT_OPTIONS, config);
56
+ this.setConfig(config);
50
57
  }
51
58
  on(event, handler) {
52
59
  this.emitter.on(event, handler);
@@ -55,7 +62,10 @@ export class Player {
55
62
  this.emitter.off(event, handler);
56
63
  }
57
64
  configure(config) {
58
- $.extend(true, this.config, config);
65
+ this.setConfig(config);
66
+ }
67
+ setConfig(config) {
68
+ this.config = $.extend(true, this.config, config);
59
69
  }
60
70
  async init(playerElement) {
61
71
  assert.ok(!this.player, 'Player already initialized');
@@ -65,6 +75,7 @@ export class Player {
65
75
  Log.setLevel(0);
66
76
  }
67
77
  Log.debug(T, 'Config', this.config);
78
+ Log.debug(T, 'isiOS', Browser.isiOS);
68
79
  this.configurePlaybacks();
69
80
  const coreOpts = this.buildCoreOptions(playerElement);
70
81
  const { core, container, } = Loader.registeredPlugins;
@@ -157,7 +168,7 @@ export class Player {
157
168
  }
158
169
  });
159
170
  }
160
- if (this.config.autoPlay) {
171
+ if (this.config.xAutoPlay) {
161
172
  setTimeout(() => {
162
173
  Log.debug(T, 'autoPlay');
163
174
  assert(this.player);
@@ -221,7 +232,8 @@ export class Player {
221
232
  const poster = mainSource?.poster ?? this.config.poster;
222
233
  const coreOptions = {
223
234
  ...this.config.pluginSettings,
224
- autoPlay: false,
235
+ allowUserInteraction: true,
236
+ autoPlay: this.config.autoPlay ?? false,
225
237
  debug: this.config.debug || 'none',
226
238
  events: this.events,
227
239
  height: playerElement.clientHeight,
@@ -230,8 +242,8 @@ export class Player {
230
242
  mute: this.config.mute,
231
243
  playback: {
232
244
  controls: false,
233
- preload: Browser.isiOS ? 'metadata' : 'none',
234
245
  playInline: true,
246
+ preload: Browser.isiOS ? 'metadata' : 'none',
235
247
  mute: this.config.mute,
236
248
  crossOrigin: 'anonymous', // TODO
237
249
  hlsjsConfig: {
@@ -1 +1 @@
1
- {"version":3,"file":"DashPlayback.d.ts","sourceRoot":"","sources":["../../../src/plugins/dash-playback/DashPlayback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DashPlayback.d.ts","sourceRoot":"","sources":["../../../src/plugins/dash-playback/DashPlayback.ts"],"names":[],"mappings":"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"}
@@ -116,7 +116,6 @@ export default class DashPlayback extends HTML5Video {
116
116
  if (!this._dash) {
117
117
  return Infinity;
118
118
  }
119
- // Log.debug(T, '_duration', this._dash.duration());
120
119
  return this._dash.duration() ?? Infinity;
121
120
  }
122
121
  constructor(options, i18n, playerError) {
@@ -466,7 +465,6 @@ export default class DashPlayback extends HTML5Video {
466
465
  }
467
466
  stop() {
468
467
  if (this._dash) {
469
- Log.debug(T, 'stop');
470
468
  this._stopTimeUpdateTimer();
471
469
  this._dash.reset();
472
470
  super.stop();
@@ -474,7 +472,6 @@ export default class DashPlayback extends HTML5Video {
474
472
  }
475
473
  }
476
474
  destroy() {
477
- Log.debug(T, 'destroy');
478
475
  this._stopTimeUpdateTimer();
479
476
  if (this._dash) {
480
477
  this._dash.off(DASHJS.MediaPlayer.events.ERROR, this._onDASHJSSError);
@@ -1,10 +1,11 @@
1
- import { Client } from "@sentry/core";
1
+ import { Client, Scope } from "@sentry/core";
2
2
  /**
3
3
  * @beta
4
4
  */
5
5
  export declare class SentryTracer {
6
6
  private client;
7
- constructor(client: Client);
7
+ private scope;
8
+ constructor(client: Client, scope: Scope);
8
9
  reportError(e: Error): void;
9
10
  trace(message: string, data?: Record<string, unknown>): void;
10
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SentryTracer.d.ts","sourceRoot":"","sources":["../../src/trace/SentryTracer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,cAAc,CAAC;AAErD;;GAEG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC,WAAW,CAAC,CAAC,EAAE,KAAK;IAIpB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQtD"}
1
+ {"version":3,"file":"SentryTracer.d.ts","sourceRoot":"","sources":["../../src/trace/SentryTracer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE7C;;GAEG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,MAAM;IAAU,OAAO,CAAC,KAAK;gBAA7B,MAAM,EAAE,MAAM,EAAU,KAAK,EAAE,KAAK;IAExD,WAAW,CAAC,CAAC,EAAE,KAAK;IAIpB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQtD"}
@@ -1,17 +1,18 @@
1
- import { addBreadcrumb } from "@sentry/core";
2
1
  /**
3
2
  * @beta
4
3
  */
5
4
  export class SentryTracer {
6
5
  client;
7
- constructor(client) {
6
+ scope;
7
+ constructor(client, scope) {
8
8
  this.client = client;
9
+ this.scope = scope;
9
10
  }
10
11
  reportError(e) {
11
12
  this.client.captureException(e);
12
13
  }
13
14
  trace(message, data) {
14
- addBreadcrumb({
15
+ this.scope.addBreadcrumb({
15
16
  type: "default",
16
17
  level: "info",
17
18
  message,
package/lib/types.d.ts CHANGED
@@ -19,6 +19,7 @@ export type PlayerConfig = {
19
19
  poster?: string;
20
20
  priorityTransport?: TransportPreference;
21
21
  strings: TranslationSettings;
22
+ xAutoPlay?: boolean;
22
23
  };
23
24
  export type PlayerOptionsThumbnails = {
24
25
  sprite?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gcorevideo/player",
3
- "version": "2.0.2",
3
+ "version": "2.1.1",
4
4
  "description": "Gcore JavaScript video player",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
package/src/Player.ts CHANGED
@@ -36,10 +36,17 @@ type PlayerEventHandler<T extends PlayerEvent> = () => void;
36
36
 
37
37
  const T = "GPlayer";
38
38
 
39
- const DEFAULT_OPTIONS: Partial<PlayerConfig> = {
39
+ const DEFAULT_OPTIONS: PlayerConfig = {
40
40
  autoPlay: false,
41
41
  mute: false,
42
42
  loop: false,
43
+ multisources: [],
44
+ playbackType: 'vod',
45
+ priorityTransport: 'dash',
46
+ debug: 'none',
47
+ pluginSettings: {},
48
+ strings: {},
49
+ poster: '',
43
50
  }
44
51
 
45
52
  export type PlaybackModule = 'dash' | 'hls' | 'native';
@@ -52,7 +59,7 @@ type PluginOptions = Record<string, unknown>;
52
59
  export class Player {
53
60
  private bitrateInfo: BitrateInfo | null = null;
54
61
 
55
- private config: PlayerConfig;
62
+ private config: PlayerConfig = DEFAULT_OPTIONS;
56
63
 
57
64
  private emitter = new EventLite();
58
65
 
@@ -93,7 +100,7 @@ export class Player {
93
100
  constructor(
94
101
  config: PlayerConfig,
95
102
  ) {
96
- this.config = $.extend(true, {}, DEFAULT_OPTIONS, config);
103
+ this.setConfig(config);
97
104
  }
98
105
 
99
106
  on<T extends PlayerEvent>(event: T, handler: PlayerEventHandler<T>) {
@@ -105,7 +112,11 @@ export class Player {
105
112
  }
106
113
 
107
114
  configure(config: Partial<PlayerConfig>) {
108
- $.extend(true, this.config, config);
115
+ this.setConfig(config);
116
+ }
117
+
118
+ private setConfig(config: Partial<PlayerConfig>) {
119
+ this.config = $.extend(true, this.config, config);
109
120
  }
110
121
 
111
122
  async init(playerElement: HTMLElement) {
@@ -119,6 +130,7 @@ export class Player {
119
130
  }
120
131
 
121
132
  Log.debug(T, 'Config', this.config);
133
+ Log.debug(T, 'isiOS', Browser.isiOS);
122
134
 
123
135
  this.configurePlaybacks();
124
136
  const coreOpts = this.buildCoreOptions(playerElement);
@@ -231,7 +243,7 @@ export class Player {
231
243
  },
232
244
  );
233
245
  }
234
- if (this.config.autoPlay) {
246
+ if (this.config.xAutoPlay) {
235
247
  setTimeout(() => {
236
248
  Log.debug(T, 'autoPlay');
237
249
  assert(this.player);
@@ -294,7 +306,8 @@ export class Player {
294
306
 
295
307
  const coreOptions: CoreOptions & PluginOptions = {
296
308
  ...this.config.pluginSettings,
297
- autoPlay: false,
309
+ allowUserInteraction: true,
310
+ autoPlay: this.config.autoPlay ?? false,
298
311
  debug: this.config.debug || 'none',
299
312
  events: this.events,
300
313
  height: playerElement.clientHeight,
@@ -303,8 +316,8 @@ export class Player {
303
316
  mute: this.config.mute,
304
317
  playback: {
305
318
  controls: false,
306
- preload: Browser.isiOS ? 'metadata' : 'none',
307
319
  playInline: true,
320
+ preload: Browser.isiOS ? 'metadata' : 'none',
308
321
  mute: this.config.mute,
309
322
  crossOrigin: 'anonymous', // TODO
310
323
  hlsjsConfig: {
@@ -188,7 +188,6 @@ export default class DashPlayback extends HTML5Video {
188
188
  if (!this._dash) {
189
189
  return Infinity;
190
190
  }
191
- // Log.debug(T, '_duration', this._dash.duration());
192
191
  return this._dash.duration() ?? Infinity;
193
192
  }
194
193
 
@@ -592,7 +591,6 @@ export default class DashPlayback extends HTML5Video {
592
591
 
593
592
  stop() {
594
593
  if (this._dash) {
595
- Log.debug(T, 'stop');
596
594
  this._stopTimeUpdateTimer();
597
595
  this._dash.reset();
598
596
  super.stop();
@@ -601,7 +599,6 @@ export default class DashPlayback extends HTML5Video {
601
599
  }
602
600
 
603
601
  destroy() {
604
- Log.debug(T, 'destroy');
605
602
  this._stopTimeUpdateTimer();
606
603
  if (this._dash) {
607
604
  this._dash.off(DASHJS.MediaPlayer.events.ERROR, this._onDASHJSSError);
@@ -1,17 +1,17 @@
1
- import { Client, addBreadcrumb } from "@sentry/core";
1
+ import { Client, Scope } from "@sentry/core";
2
2
 
3
3
  /**
4
4
  * @beta
5
5
  */
6
6
  export class SentryTracer {
7
- constructor(private client: Client) {}
7
+ constructor(private client: Client, private scope: Scope) {}
8
8
 
9
9
  reportError(e: Error) {
10
10
  this.client.captureException(e);
11
11
  }
12
12
 
13
13
  trace(message: string, data?: Record<string, unknown>) {
14
- addBreadcrumb({
14
+ this.scope.addBreadcrumb({
15
15
  type: "default",
16
16
  level: "info",
17
17
  message,
package/src/types.ts CHANGED
@@ -15,13 +15,14 @@ export type PlayerConfig = {
15
15
  debug?: PlayerDebugSettings;
16
16
  language?: string;
17
17
  loop?: boolean;
18
- multisources: StreamMediaSource[]; // TODO rename sources
18
+ multisources: StreamMediaSource[]; // TODO rename sources or better split the sources and the source description settings
19
19
  mute?: boolean;
20
20
  playbackType?: PlaybackType;
21
21
  pluginSettings?: Record<string, unknown>;
22
22
  poster?: string;
23
23
  priorityTransport?: TransportPreference;
24
24
  strings: TranslationSettings;
25
+ xAutoPlay?: boolean;
25
26
  }
26
27
 
27
28
  export type PlayerOptionsThumbnails = {