@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/dist/index.js +192 -1480
- package/lib/Player.d.ts +1 -0
- package/lib/Player.d.ts.map +1 -1
- package/lib/Player.js +18 -6
- package/lib/plugins/dash-playback/DashPlayback.d.ts.map +1 -1
- package/lib/plugins/dash-playback/DashPlayback.js +0 -3
- package/lib/trace/SentryTracer.d.ts +3 -2
- package/lib/trace/SentryTracer.d.ts.map +1 -1
- package/lib/trace/SentryTracer.js +4 -3
- package/lib/types.d.ts +1 -0
- package/lib/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Player.ts +20 -7
- package/src/plugins/dash-playback/DashPlayback.ts +0 -3
- package/src/trace/SentryTracer.ts +3 -3
- package/src/types.ts +2 -1
- package/tsconfig.tsbuildinfo +1 -1
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;
|
package/lib/Player.d.ts.map
CHANGED
|
@@ -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;
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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":"AAIA,OAAO,EAAU,UAAU,EAAO,QAAQ,EAA4B,MAAM,cAAc,CAAC;AAE3F,OAAO,MAAM,EAAG,EACd,UAAU,IAAI,cAAc,EAC5B,kBAAkB,IAAI,sBAAsB,EAC5C,KAAK,WAAW,EAEhB,aAAa,EACd,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAM5E,KAAK,YAAY,GACb,OAAO,QAAQ,CAAC,GAAG,GACnB,OAAO,QAAQ,CAAC,IAAI,GACpB,OAAO,QAAQ,CAAC,GAAG,GACnB,OAAO,QAAQ,CAAC,KAAK,CAAC;AAE1B,KAAK,YAAY,GAAG,MAAM,CAAC;AAE3B,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAA;AAID,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAAU;IAClD,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAQ;IAEtC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEpC,mCAAmC,EAAE,OAAO,CAAS;IAErD,aAAa,EAAE,OAAO,CAAS;IAE/B,uBAAuB,EAAE,MAAM,CAAK;IAEpC,wBAAwB,EAAE,MAAM,CAAK;IAErC,aAAa,EAAE,YAAY,CAAgB;IAE3C,aAAa,EAAE,YAAY,GAAG,IAAI,CAAQ;IAG1C,gBAAgB,EAAE,SAAS,CAAK;IAEhC,KAAK,EAAE,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAQ;IAE7C,2BAA2B,EAAE,MAAM,CAAK;IAExC,8BAA8B,EAAE,MAAM,CAAK;IAE3C,aAAa,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAEtC,eAAe,EAAE,YAAY,CAA4B;IAEzD,0BAA0B,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IAE/D,wBAAwB,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IAE7D,yBAAyB,EAAE,MAAM,CAAK;IAEtC,yBAAyB,UAAS;IAElC,uBAAuB,UAAS;IAEhC,kBAAkB,UAAS;IAE3B,YAAY,EAAE,aAAa,GAAG,IAAI,CAAQ;IAG1C,sBAAsB,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAE/C,gBAAgB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAQ;IAE/D,IAAI,IAAI,WAEP;IAED,IAAI,MAAM,IAAI,YAAY,EAAE,CAE3B;IAED,IAAI,YAAY,IAAI,MAAM,CAMzB;IAED,IAAI,OAAO,YAEV;IAED,IAAI,YAAY,CAAC,EAAE,EAZC,MAYD,EAgClB;IAED,IAAI,UAAU,WAMb;IAED,IAAI,IAAI,WAEP;IAID,IAAI,sBAAsB,WAWzB;IAID,IAAI,oBAAoB,WAYvB;IAED,IAAI,SAAS,
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,OAAO,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC;AAC1C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AACvD,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,MAAM,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG;IACzB,KAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC,OAAO,EAAE,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,OAAO,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC;AAC1C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AACvD,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,MAAM,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG;IACzB,KAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAErB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAA;AAED,KAAK,OAAO,GAAG,MAAM,CAAC;AACtB,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC;CACrC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEzD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACvC,iCAAiC,CAAC,EAAE,OAAO,CAAC;CAC7C,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAInD,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC;IACxC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,CAAA;AAGD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAE3F,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;IACb,KAAK,UAAU;CAChB"}
|
package/package.json
CHANGED
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:
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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,
|
|
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 = {
|