senza-sdk 4.2.58-a3e6d19.0 → 4.2.58
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/bundle.js +1 -1
- package/package.json +1 -1
- package/src/deviceManager.js +1 -1
- package/src/senzaShakaPlayer.js +13 -25
package/package.json
CHANGED
package/src/deviceManager.js
CHANGED
|
@@ -85,7 +85,7 @@ class DeviceManager extends EventTarget {
|
|
|
85
85
|
connectionId: sessionInfoObj.connectionId,
|
|
86
86
|
community: sessionInfoObj.community,
|
|
87
87
|
tenant: sessionInfoObj.tenant,
|
|
88
|
-
clientIp: sessionInfoObj
|
|
88
|
+
clientIp: sessionInfoObj.clientIp,
|
|
89
89
|
countryCode: sessionInfoObj.general?.location?.["x-country-code"],
|
|
90
90
|
connectionType: (!sessionInfoObj.connectionType || sessionInfoObj.connectionType === "direct") ? "device" : sessionInfoObj.connectionType
|
|
91
91
|
};
|
package/src/senzaShakaPlayer.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as shaka from "shaka-player";
|
|
2
2
|
import { remotePlayer, lifecycle, getPlatformInfo } from "./api";
|
|
3
3
|
import { sdkLogger, iso6393to1 } from "./utils";
|
|
4
|
+
|
|
4
5
|
// Define custom error category
|
|
5
6
|
shaka.util.Error.Category.SENZA_PLAYER_ERROR = 50;
|
|
6
7
|
shaka.util.Error.Code.SENZA_PLAYER_ERROR = 10500;
|
|
@@ -75,6 +76,13 @@ export class SenzaShakaPlayer extends shaka.Player {
|
|
|
75
76
|
* @description Object containing event listeners for the video element.
|
|
76
77
|
*/
|
|
77
78
|
_videoEventListeners = {
|
|
79
|
+
"play": () => {
|
|
80
|
+
this.remotePlayer.play()
|
|
81
|
+
.catch(error => {
|
|
82
|
+
sdkLogger.error("Failed to play remote player:", error);
|
|
83
|
+
this.handleSenzaError(error.code, error.message || "Unknown play error");
|
|
84
|
+
});
|
|
85
|
+
},
|
|
78
86
|
"pause": () => {
|
|
79
87
|
this.remotePlayer.pause()
|
|
80
88
|
.catch(error => {
|
|
@@ -211,7 +219,6 @@ export class SenzaShakaPlayer extends shaka.Player {
|
|
|
211
219
|
* @param {boolean} [initializeMediaSource=true] - Whether to initialize the media source.
|
|
212
220
|
*/
|
|
213
221
|
async attach(videoElement, initializeMediaSource = true) {
|
|
214
|
-
|
|
215
222
|
await super.attach(videoElement, initializeMediaSource);
|
|
216
223
|
this.videoElement = videoElement;
|
|
217
224
|
this._attachVideoElementToRemotePlayer();
|
|
@@ -256,8 +263,8 @@ export class SenzaShakaPlayer extends shaka.Player {
|
|
|
256
263
|
*/
|
|
257
264
|
async unload(initializeMediaSource = true, keepAdManager = false) {
|
|
258
265
|
// Call the remote player's unload method
|
|
259
|
-
|
|
260
266
|
try {
|
|
267
|
+
await lifecycle.moveToForeground();
|
|
261
268
|
await remotePlayer.unload();
|
|
262
269
|
} catch (error) {
|
|
263
270
|
sdkLogger.error("Failed to unload remote player:", error);
|
|
@@ -399,7 +406,7 @@ export class SenzaShakaPlayer extends shaka.Player {
|
|
|
399
406
|
// Create a promise that will resolve when _remotePlayerLoad is called
|
|
400
407
|
let remoteLoadResolver;
|
|
401
408
|
let remoteLoadRejecter;
|
|
402
|
-
const remoteLoadPromise = new Promise((resolve,reject) => {
|
|
409
|
+
const remoteLoadPromise = new Promise((resolve, reject) => {
|
|
403
410
|
remoteLoadResolver = resolve;
|
|
404
411
|
remoteLoadRejecter = reject;
|
|
405
412
|
});
|
|
@@ -473,7 +480,8 @@ export class SenzaShakaPlayer extends shaka.Player {
|
|
|
473
480
|
* @returns {Boolean}
|
|
474
481
|
*/
|
|
475
482
|
|
|
476
|
-
destroy() {
|
|
483
|
+
async destroy() {
|
|
484
|
+
await lifecycle.moveToForeground();
|
|
477
485
|
SenzaShakaPlayer._prevInstance = null;
|
|
478
486
|
this._removeRemotePlayerEventListeners();
|
|
479
487
|
return super.destroy();
|
|
@@ -532,7 +540,7 @@ export class SenzaShakaPlayer extends shaka.Player {
|
|
|
532
540
|
|
|
533
541
|
}
|
|
534
542
|
|
|
535
|
-
async _remotePlayerLoad(url,startTime) {
|
|
543
|
+
async _remotePlayerLoad(url, startTime) {
|
|
536
544
|
const waitForLoadModeChange = () => {
|
|
537
545
|
const timeout = this.remotePlayer._remotePlayerConfirmationTimeout + 2000;
|
|
538
546
|
return Promise.race([
|
|
@@ -575,26 +583,6 @@ export class SenzaShakaPlayer extends shaka.Player {
|
|
|
575
583
|
for (const [event, listener] of Object.entries(this._videoEventListeners)) {
|
|
576
584
|
this.videoElement.addEventListener(event, listener);
|
|
577
585
|
}
|
|
578
|
-
|
|
579
|
-
this.videoElement.origPlay=this.videoElement.play;
|
|
580
|
-
this.videoElement.play = async () => {
|
|
581
|
-
sdkLogger.info("video tag play was called - first calling remotePlayer Play");
|
|
582
|
-
|
|
583
|
-
try {
|
|
584
|
-
await this.remotePlayer.play();
|
|
585
|
-
} catch (error) {
|
|
586
|
-
sdkLogger.error("Failed to play remote player:", error);
|
|
587
|
-
this.handleSenzaError(error.code, error.message || "Unknown play error");
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
sdkLogger.info("Waiting for 30 seconds");
|
|
591
|
-
setTimeout(() => {
|
|
592
|
-
sdkLogger.info("Now calling origPlay");
|
|
593
|
-
return this.videoElement.origPlay();
|
|
594
|
-
}, 30 * 1000);
|
|
595
|
-
|
|
596
|
-
};
|
|
597
|
-
|
|
598
586
|
}
|
|
599
587
|
|
|
600
588
|
}
|