senza-sdk 4.2.51-e8275ed.0 → 4.2.51-f4d1f9b.0

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.51-e8275ed.0",
3
+ "version": "4.2.51-f4d1f9b.0",
4
4
  "main": "./src/api.js",
5
5
  "description": "API for Senza application",
6
6
  "license": "MIT",
@@ -1424,8 +1424,7 @@ class RemotePlayer extends EventTarget {
1424
1424
  * @param {string} prevSelectedTextTrack - The previously selected text track ID.
1425
1425
  * @returns {Promise<void>} Resolves when the operation is complete.
1426
1426
  * */
1427
- async _selectTextTrackV3(textTrackId, prevSelectedTextTrack) {
1428
- sdkLogger.log(`remotePlayer _selectTextTrackV3: prevAudioTrack=${prevSelectedTextTrack} textTrackId=${textTrackId} isPlaying=${this._isPlaying}`);
1427
+ async _selectTextTrackV3(textTrackId) {
1429
1428
  if (window.cefQuery) {
1430
1429
  const FCID = getFCID();
1431
1430
  const logger = sdkLogger.withFields({ FCID });
@@ -1766,29 +1765,29 @@ class RemotePlayer extends EventTarget {
1766
1765
  let timerId = 0;
1767
1766
  const timeBeforeSendingRequest = Date.now();
1768
1767
  const queryId = window.cefQuery({
1769
- request: JSON.stringify({ target: "TC", waitForResponse: true, internalAction: "uiActive", message: JSON.stringify(message) }),
1768
+ request: JSON.stringify({ target: "TC", waitForResponse: true, message: JSON.stringify(message) }),
1770
1769
  persistent: false,
1771
1770
  onSuccess: () => {
1772
1771
  const duration = Date.now() - timeBeforeSendingRequest;
1773
- logger.withFields({ duration }).log(`stop subtitle completed successfully after ${duration} ms`);
1772
+ logger.withFields({ duration }).log(`stopSubtitle completed successfully after ${duration} ms`);
1774
1773
  this._inTransition = false;
1775
1774
  timerId = clearTimer(timerId);
1776
1775
  resolve(true);
1777
1776
  },
1778
1777
  onFailure: (code, msg) => {
1779
1778
  const duration = Date.now() - timeBeforeSendingRequest;
1780
- logger.withFields({ duration }).log(`stop subtitle failed after ${duration} ms. Error code: ${code}, error message: ${msg}`);
1779
+ logger.withFields({ duration }).log(`stopSubtitle failed after ${duration} ms. Error code: ${code}, error message: ${msg}`);
1781
1780
  this._inTransition = false;
1782
1781
  timerId = clearTimer(timerId);
1783
1782
  reject(new SenzaError(code, msg));
1784
1783
  }
1785
1784
  });
1786
- logger.log(`window.cefQuery for stop returned query id ${queryId}`);
1785
+ logger.log(`window.cefQuery for stopSubtitle returned query id ${queryId}`);
1787
1786
  const timeout = this._remotePlayerConfirmationTimeout + 1000;
1788
1787
  timerId = setTimeout(() => {
1789
- logger.log(`stop reached timeout of ${timeout} ms, canceling query id ${queryId}`);
1788
+ logger.log(`stopSubtitle reached timeout of ${timeout} ms, canceling query id ${queryId}`);
1790
1789
  window.cefQueryCancel(queryId);
1791
- reject(new SenzaError(6000, `stop reached timeout of ${timeout} ms`));
1790
+ reject(new SenzaError(6000, `stopSubtitle reached timeout of ${timeout} ms`));
1792
1791
  }, timeout, queryId);
1793
1792
  });
1794
1793
  }
@@ -1804,6 +1803,9 @@ class RemotePlayer extends EventTarget {
1804
1803
  const logger = sdkLogger.withFields({ FCID });
1805
1804
  logger.log("remotePlayer play subtitle: sending play action");
1806
1805
  const configuration = remotePlayer.getConfiguration();
1806
+ if (!remotePlayer.textTrackVisibility) {
1807
+ sdkLogger.info("override selected track on _playSubtitle with \"\"");
1808
+ }
1807
1809
  const subtitlesLanguage = remotePlayer.textTrackVisibility && (remotePlayer._selectedSubtitlesTrack || configuration.preferredSubtitlesLanguage) || "";
1808
1810
  let request;
1809
1811
  const message = {
@@ -1818,7 +1820,6 @@ class RemotePlayer extends EventTarget {
1818
1820
  request = {
1819
1821
  target: "TC",
1820
1822
  waitForResponse: true,
1821
- internalAction: "uiExit",
1822
1823
  message: JSON.stringify(message)
1823
1824
  };
1824
1825
  } else {
@@ -1865,13 +1866,12 @@ class RemotePlayer extends EventTarget {
1865
1866
  async _atomicSetSubtitleLanguage() {
1866
1867
  sdkLogger.info("SetSubtitleLanguage: local video element set start while isPLaying=", this._isPlaying);
1867
1868
 
1868
- this._targetSetSubtitlePlayingState = this._state === lifecycle.UiState.BACKGROUND ? TargetPlayingState.PLAYING_ABR : TargetPlayingState.PAUSED;
1869
+ this._targetSetSubtitlePlayingState = this._isPlaying ? TargetPlayingState.PLAYING_UI : TargetPlayingState.PAUSED;
1869
1870
  this._abortSetSubtitleLanguage = false;
1870
1871
  this._isSetSubtitleByApplication = true;
1871
1872
 
1872
1873
  let state = SetSubtitleLanguageState.INIT;
1873
1874
 
1874
- let previousPendingSubtitleLanguage = this._pendingSubtitleLanguage;
1875
1875
  let initialSubtitleLanguage = this._pendingSubtitleLanguage;
1876
1876
  let res;
1877
1877
 
@@ -1879,37 +1879,37 @@ class RemotePlayer extends EventTarget {
1879
1879
  try {
1880
1880
  switch(state) {
1881
1881
  case SetSubtitleLanguageState.INIT:
1882
- state = this._state === lifecycle.UiState.BACKGROUND ? SetSubtitleLanguageState.STOPPED : SetSubtitleLanguageState.SET;
1882
+ state = SetSubtitleLanguageState.STOPPED; // always stop
1883
1883
  break;
1884
1884
  case SetSubtitleLanguageState.STOPPED:
1885
- sdkLogger.error("BEFORE STOP BEFORE SET SUBTITLE");
1885
+ sdkLogger.info("BEFORE STOP BEFORE SET SUBTITLE");
1886
1886
  await this._stopSubtitle();
1887
- sdkLogger.error("AFTER STOP BEFORE SET SUBTITLE");
1887
+ sdkLogger.info("AFTER STOP BEFORE SET SUBTITLE");
1888
1888
  state = SetSubtitleLanguageState.SET;
1889
1889
  break;
1890
1890
  case SetSubtitleLanguageState.SET:
1891
1891
  initialSubtitleLanguage = this._pendingSubtitleLanguage;
1892
- previousPendingSubtitleLanguage = this._selectedSubtitleTrack;
1893
- res = await this._selectTextTrackV3(initialSubtitleLanguage, previousPendingSubtitleLanguage);
1894
- sdkLogger.error("BEFORE PLAY AFTER SET SUBTITLE 1");
1892
+ sdkLogger.log(`remotePlayer _selectTextTrackV3: textTrackId=${textTrackId} isPlaying=${this._isPlaying}`);
1893
+ res = await this._selectTextTrackV3(initialSubtitleLanguage);
1894
+ sdkLogger.info("AFTER SET SUBTITLE 1");
1895
+ state = this._isPlaying ? SetSubtitleLanguageState.PLAYING: SetSubtitleLanguageState.DONE;
1896
+ break;
1897
+ case SetSubtitleLanguageState.PLAYING:
1898
+ if (!this._abortSetSubtitleLanguage) {
1899
+ sdkLogger.info("TARGET PLAYING STATE", this._targetSetSubtitlePlayingState);
1900
+ sdkLogger.info("BEFORE PLAY AFTER SET SUBTITLE");
1901
+ this._playSubtitle();
1902
+ }
1895
1903
  state = SetSubtitleLanguageState.DONE;
1896
1904
  break;
1897
1905
  }
1898
1906
  } catch (error) {
1899
- sdkLogger.error(`Error during set subtitle process: ${error.message}`);
1907
+ sdkLogger.info(`Error during set subtitle process: ${error.message}`);
1900
1908
  state = SetSubtitleLanguageState.DONE;
1901
1909
  res = Promise.reject(error);
1902
1910
  }
1903
1911
  }
1904
1912
 
1905
- if (!this._abortSetSubtitleLanguage) {
1906
- sdkLogger.error("TARGET PLAYING STATE", this._targetSetSubtitlePlayingState);
1907
- sdkLogger.error("TEXT TRACK VISIBILITY", this._textTrackVisibility);
1908
- if (this._targetSetSubtitlePlayingState === TargetPlayingState.PLAYING_ABR) {
1909
- sdkLogger.error("BEFORE PLAY AFTER SET SUBTITLE 2");
1910
- this._playSubtitle();
1911
- }
1912
- }
1913
1913
  this._isSetSubtitleByApplication = false;
1914
1914
  sdkLogger.info("SetSubtitleLanguage: local video element set subtitle end");
1915
1915
  return res
@@ -1933,31 +1933,33 @@ class RemotePlayer extends EventTarget {
1933
1933
 
1934
1934
  switch(state) {
1935
1935
  case SetAudioLanguageState.INIT:
1936
- state = this._isPlaying ? SetAudioLanguageState.STOPPED : SetAudioLanguageState.SET;
1936
+ sdkLogger.info("BEFORE STOP BEFORE SET AUDIO");
1937
+ await this._stopAudio();
1938
+ sdkLogger.info("AFTER STOP BEFORE SET AUDIO");
1939
+ state = SetAudioLanguageState.SET;
1937
1940
  break;
1938
1941
  case SetAudioLanguageState.STOPPED:
1939
- await this._stopAudio();
1940
1942
  state = SetAudioLanguageState.SET;
1941
1943
  break;
1942
1944
  case SetAudioLanguageState.SET:
1943
1945
  initialAudioLanguage = this._pendingAudioLanguage;
1944
1946
  previousPendingAudioLanguage = this._selectedAudioTrack;
1945
1947
  res = await this._selectAudioTrackV3(initialAudioLanguage, previousPendingAudioLanguage);
1946
- sdkLogger.error("BEFORE PLAY AFTER SET AUDIO 1");
1948
+ sdkLogger.info("BEFORE PLAY AFTER SET AUDIO 1");
1947
1949
  state = SetAudioLanguageState.DONE;
1948
1950
  break;
1949
1951
  }
1950
1952
  } catch (error) {
1951
- sdkLogger.error(`Error during set audio process: ${error.message}`);
1953
+ sdkLogger.info(`Error during set audio process: ${error.message}`);
1952
1954
  state = SetAudioLanguageState.DONE;
1953
1955
  res = Promise.reject(error);
1954
1956
  }
1955
1957
  }
1956
1958
 
1957
1959
  if (!this._abortSetAudioLanguage) {
1958
- sdkLogger.error("TARGET PLAYING STATE", this._targetSetAudioPlayingState);
1960
+ sdkLogger.info("TARGET PLAYING STATE", this._targetSetAudioPlayingState);
1959
1961
  if (this._targetSetAudioPlayingState === TargetPlayingState.PLAYING_UI) {
1960
- sdkLogger.error("BEFORE PLAY AFTER SET AUDIO 2");
1962
+ sdkLogger.info("BEFORE PLAY AFTER SET AUDIO 2");
1961
1963
  this._play();
1962
1964
  }
1963
1965
  }
package/src/utils.js CHANGED
@@ -159,8 +159,7 @@ export const SetAudioLanguageState = Object.freeze({
159
159
  INIT: "init",
160
160
  STOPPED: "stopped",
161
161
  SET: "set",
162
- MULTI_SET: "multiSet",
163
- WAITING: "waiting",
162
+ PLAYING: "playing",
164
163
  DONE: "done"
165
164
  });
166
165
 
@@ -168,8 +167,7 @@ export const SetSubtitleLanguageState = Object.freeze({
168
167
  INIT: "init",
169
168
  STOPPED: "stopped",
170
169
  SET: "set",
171
- MULTI_SET: "multiSet",
172
- WAITING: "waiting",
170
+ PLAYING: "playing",
173
171
  DONE: "done"
174
172
  });
175
173