@playkit-js/playkit-js-kava 1.15.2 → 1.16.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": "@playkit-js/playkit-js-kava",
3
- "version": "1.15.2",
3
+ "version": "1.16.0",
4
4
  "main": "dist/playkit-kava.js",
5
5
  "scripts": {
6
6
  "disabled-preinstall": "npx --yes --prefer-online --registry=https://npm.pkg.github.com --package @kaltura/kaltura-tools@latest kaltura-tools check --root=.",
@@ -64,6 +64,11 @@ export const KavaEventModel = {
64
64
  eventModel.sourceEntryId = model.getSourceEntryId();
65
65
  }
66
66
 
67
+ const liveStreamType = model.getLiveStreamType();
68
+ if (liveStreamType !== undefined) {
69
+ eventModel.streamType = liveStreamType;
70
+ }
71
+
67
72
  return eventModel;
68
73
  }
69
74
  },
package/src/kava-model.ts CHANGED
@@ -74,6 +74,7 @@ class KavaModel {
74
74
  public getPlayerSkin!: () => any;
75
75
  public getV2ToV7Redirect!: () => any;
76
76
  public getNumFailedAnalyticReports!: () => number;
77
+ public getLiveStreamType!: () => number | undefined;
77
78
 
78
79
  constructor(model?: object) {
79
80
  if (model) {
package/src/kava.ts CHANGED
@@ -893,6 +893,7 @@ class Kava extends BasePlugin {
893
893
  this._model.getPlayerSkin = (): number => this._getPlayerSkin();
894
894
  this._model.getV2ToV7Redirect = (): boolean => this.player.isV2ToV7Redirected;
895
895
  this._model.getNumFailedAnalyticReports = (): number => this._logFailedLiveEvents.getNumFailedAnalyticReports(this.config.entryId);
896
+ this._model.getLiveStreamType = (): number | undefined => this._getLiveStreamType();
896
897
  }
897
898
 
898
899
  private _getApplication(playerEvent = true): string {
@@ -999,6 +1000,17 @@ class Kava extends BasePlugin {
999
1000
  });
1000
1001
  }
1001
1002
 
1003
+ private _getLiveStreamType(): number | undefined {
1004
+ if (!this.player.isLive()) {
1005
+ return undefined;
1006
+ }
1007
+ const stValue = (this.player as any).getLiveEntryStValue?.();
1008
+ // '0' = primary stream, '1' = backup stream
1009
+ if (stValue === '0') return 1;
1010
+ if (stValue === '1') return 2;
1011
+ return undefined;
1012
+ }
1013
+
1002
1014
  private _isTabHidden(hiddenAttr: string): boolean {
1003
1015
  return document[hiddenAttr];
1004
1016
  }
@@ -132,6 +132,10 @@ class FakeModel {
132
132
  getV2ToV7Redirect() {
133
133
  return false;
134
134
  }
135
+
136
+ getLiveStreamType() {
137
+ return 1;
138
+ }
135
139
  }
136
140
 
137
141
  describe('KavaEventModel', () => {
@@ -161,7 +165,8 @@ describe('KavaEventModel', () => {
161
165
  networkConnectionOverhead: fakeModel.getNetworkConnectionOverhead(),
162
166
  flavorParamsId: fakeModel.getFlavorParamsId(),
163
167
  playbackMode: fakeModel.getPlaybackMode(),
164
- sourceEntryId: fakeModel.getSourceEntryId()
168
+ sourceEntryId: fakeModel.getSourceEntryId(),
169
+ streamType: fakeModel.getLiveStreamType()
165
170
  });
166
171
  });
167
172