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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "senza-sdk",
3
- "version": "4.2.58-a3e6d19.0",
3
+ "version": "4.2.58",
4
4
  "main": "./src/api.js",
5
5
  "description": "API for Senza application",
6
6
  "license": "MIT",
@@ -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?.settings?.["ui-streamer"]?.clientIpOverride || sessionInfoObj.clientIp,
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
  };
@@ -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
  }