@gcorevideo/player 2.28.35 → 2.29.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.
Files changed (61) hide show
  1. package/README.md +22 -1
  2. package/assets/{subtitles → cc}/style.scss +5 -0
  3. package/assets/media-control/media-control.scss +8 -6
  4. package/assets/multi-camera/multicamera.ejs +27 -23
  5. package/assets/multi-camera/style.scss +7 -34
  6. package/assets/style/main.scss +2 -2
  7. package/dist/core.js +24 -28
  8. package/dist/index.css +384 -402
  9. package/dist/index.embed.js +54 -84
  10. package/dist/index.js +122 -219
  11. package/docs/api/player.md +22 -9
  12. package/docs/api/player.mediacontrol.setkeepvisible.md +56 -0
  13. package/docs/api/player.multicamera.md +0 -28
  14. package/docs/api/player.multiccamerasourceinfo.md +27 -0
  15. package/docs/api/{player.multicamera.unbindevents.md → player.multisourcesmode.md} +4 -7
  16. package/docs/api/player.sourcecontroller.md +0 -37
  17. package/lib/playback/BasePlayback.d.ts +1 -0
  18. package/lib/playback/BasePlayback.d.ts.map +1 -1
  19. package/lib/playback/BasePlayback.js +3 -0
  20. package/lib/playback/dash-playback/DashPlayback.d.ts +3 -1
  21. package/lib/playback/dash-playback/DashPlayback.d.ts.map +1 -1
  22. package/lib/playback/dash-playback/DashPlayback.js +9 -22
  23. package/lib/playback/hls-playback/HlsPlayback.d.ts +2 -1
  24. package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
  25. package/lib/playback/hls-playback/HlsPlayback.js +4 -0
  26. package/lib/playback/types.d.ts +9 -0
  27. package/lib/playback/types.d.ts.map +1 -1
  28. package/lib/playback.types.d.ts +0 -6
  29. package/lib/playback.types.d.ts.map +1 -1
  30. package/lib/plugins/multi-camera/MultiCamera.d.ts +21 -4
  31. package/lib/plugins/multi-camera/MultiCamera.d.ts.map +1 -1
  32. package/lib/plugins/multi-camera/MultiCamera.js +70 -134
  33. package/lib/plugins/source-controller/SourceController.d.ts +0 -39
  34. package/lib/plugins/source-controller/SourceController.d.ts.map +1 -1
  35. package/lib/plugins/source-controller/SourceController.js +0 -39
  36. package/lib/plugins/subtitles/ClosedCaptions.d.ts +1 -1
  37. package/lib/plugins/subtitles/ClosedCaptions.d.ts.map +1 -1
  38. package/lib/plugins/subtitles/ClosedCaptions.js +32 -22
  39. package/lib/testUtils.d.ts +1 -0
  40. package/lib/testUtils.d.ts.map +1 -1
  41. package/lib/testUtils.js +3 -0
  42. package/lib/utils/mediaSources.d.ts +4 -0
  43. package/lib/utils/mediaSources.d.ts.map +1 -1
  44. package/lib/utils/mediaSources.js +8 -6
  45. package/package.json +1 -1
  46. package/src/playback/BasePlayback.ts +4 -0
  47. package/src/playback/dash-playback/DashPlayback.ts +11 -29
  48. package/src/playback/hls-playback/HlsPlayback.ts +5 -1
  49. package/src/playback/types.ts +10 -0
  50. package/src/playback.types.ts +0 -6
  51. package/src/plugins/multi-camera/MultiCamera.ts +103 -166
  52. package/src/plugins/source-controller/SourceController.ts +0 -39
  53. package/src/plugins/subtitles/ClosedCaptions.ts +35 -21
  54. package/src/plugins/subtitles/__tests__/ClosedCaptions.test.ts +73 -112
  55. package/src/plugins/subtitles/__tests__/__snapshots__/ClosedCaptions.test.ts.snap +3 -3
  56. package/src/testUtils.ts +3 -0
  57. package/src/utils/mediaSources.ts +10 -6
  58. package/tsconfig.tsbuildinfo +1 -1
  59. package/docs/api/player.multicamera.activebyid.md +0 -67
  60. /package/assets/{subtitles → cc}/combobox.ejs +0 -0
  61. /package/assets/{subtitles → cc}/string.ejs +0 -0
@@ -0,0 +1,56 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@gcorevideo/player](./player.md) &gt; [MediaControl](./player.mediacontrol.md) &gt; [setKeepVisible](./player.mediacontrol.setkeepvisible.md)
4
+
5
+ ## MediaControl.setKeepVisible() method
6
+
7
+ Set or reset the keep visibility state
8
+
9
+ Keep visibility state controls whether the media control is hidden automatically after a delay, which is a default behaviour.
10
+
11
+ **Signature:**
12
+
13
+ ```typescript
14
+ setKeepVisible(keepVisible: boolean): void;
15
+ ```
16
+
17
+ ## Parameters
18
+
19
+ <table><thead><tr><th>
20
+
21
+ Parameter
22
+
23
+
24
+ </th><th>
25
+
26
+ Type
27
+
28
+
29
+ </th><th>
30
+
31
+ Description
32
+
33
+
34
+ </th></tr></thead>
35
+ <tbody><tr><td>
36
+
37
+ keepVisible
38
+
39
+
40
+ </td><td>
41
+
42
+ boolean
43
+
44
+
45
+ </td><td>
46
+
47
+ The state
48
+
49
+
50
+ </td></tr>
51
+ </tbody></table>
52
+
53
+ **Returns:**
54
+
55
+ void
56
+
@@ -223,20 +223,6 @@ Description
223
223
  </th></tr></thead>
224
224
  <tbody><tr><td>
225
225
 
226
- [activeById(id, active)](./player.multicamera.activebyid.md)
227
-
228
-
229
- </td><td>
230
-
231
-
232
- </td><td>
233
-
234
- **_(BETA)_**
235
-
236
-
237
- </td></tr>
238
- <tr><td>
239
-
240
226
  [bindEvents()](./player.multicamera.bindevents.md)
241
227
 
242
228
 
@@ -262,20 +248,6 @@ Description
262
248
  **_(BETA)_**
263
249
 
264
250
 
265
- </td></tr>
266
- <tr><td>
267
-
268
- [unBindEvents()](./player.multicamera.unbindevents.md)
269
-
270
-
271
- </td><td>
272
-
273
-
274
- </td><td>
275
-
276
- **_(BETA)_**
277
-
278
-
279
251
  </td></tr>
280
252
  </tbody></table>
281
253
 
@@ -0,0 +1,27 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@gcorevideo/player](./player.md) &gt; [MulticCameraSourceInfo](./player.multiccamerasourceinfo.md)
4
+
5
+ ## MulticCameraSourceInfo type
6
+
7
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
+ >
9
+
10
+ Extended media source description
11
+
12
+ **Signature:**
13
+
14
+ ```typescript
15
+ export type MulticCameraSourceInfo = {
16
+ description: string;
17
+ dvr: boolean;
18
+ hls_mpegts_url: string | null;
19
+ id: number;
20
+ live: boolean;
21
+ projection: string | null;
22
+ screenshot: string | null;
23
+ source: string;
24
+ source_dash: string | null;
25
+ title: string;
26
+ };
27
+ ```
@@ -1,18 +1,15 @@
1
1
  <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
2
 
3
- [Home](./index.md) &gt; [@gcorevideo/player](./player.md) &gt; [MultiCamera](./player.multicamera.md) &gt; [unBindEvents](./player.multicamera.unbindevents.md)
3
+ [Home](./index.md) &gt; [@gcorevideo/player](./player.md) &gt; [MultisourcesMode](./player.multisourcesmode.md)
4
4
 
5
- ## MultiCamera.unBindEvents() method
5
+ ## MultisourcesMode type
6
6
 
7
7
  > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
8
  >
9
9
 
10
+
10
11
  **Signature:**
11
12
 
12
13
  ```typescript
13
- unBindEvents(): void;
14
+ export type MultisourcesMode = 'one_first' | 'only_live' | 'show_all';
14
15
  ```
15
- **Returns:**
16
-
17
- void
18
-
@@ -15,43 +15,6 @@ export declare class SourceController extends CorePlugin
15
15
 
16
16
  ## Remarks
17
17
 
18
- Have a look at the [source failover diagram](https://miro.com/app/board/uXjVLiN15tY=/?share_link_id=390327585787) for the details on how sources ordering and selection works. Below is a simplified diagram:
19
-
20
- ```markdown
21
- sources_list:
22
- - a.mpd | +--------------------+
23
- - b.m3u8 |--->| init |
24
- - ... | |--------------------|
25
- | current_source = 0 |
26
- +--------------------+
27
- |
28
- | source = a.mpd
29
- | playback = dash.js
30
- v
31
- +------------------+
32
- +-->| load source |
33
- | +---------|--------+
34
- | v
35
- | +------------------+
36
- | | play |
37
- | +---------|--------+
38
- | |
39
- | v
40
- | +-----------------------+
41
- | | on playback_error |
42
- | |-----------------------|
43
- | | current_source = |
44
- | | (current_source + 1) |
45
- | | % len sources_list |
46
- | | |
47
- | | delay 1..3s |
48
- | +---------------|-------+
49
- | |
50
- | source=b.m3u8 |
51
- | playback=hls.js |
52
- +-------------------+
53
-
54
- ```
55
18
 
56
19
  ## Example
57
20
 
@@ -12,5 +12,6 @@ export declare class BasePlayback extends HTML5Video {
12
12
  */
13
13
  setPlaybackRate(rate: number): void;
14
14
  _onPlaying(): void;
15
+ setTextTrack(id: number): void;
15
16
  }
16
17
  //# sourceMappingURL=BasePlayback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasePlayback.d.ts","sourceRoot":"","sources":["../../src/playback/BasePlayback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAU,UAAU,EAAe,MAAM,cAAc,CAAA;AAK5E;;;GAGG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,IAAI,YAAY,YAEf;IAED,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY;IA0BlD;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM;IAInB,UAAU;CAIpB"}
1
+ {"version":3,"file":"BasePlayback.d.ts","sourceRoot":"","sources":["../../src/playback/BasePlayback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAU,UAAU,EAAe,MAAM,cAAc,CAAA;AAK5E;;;GAGG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,IAAI,YAAY,YAEf;IAED,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY;IA0BlD;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM;IAInB,UAAU;IAKnB,YAAY,CAAC,EAAE,EAAE,MAAM;CAGxB"}
@@ -40,4 +40,7 @@ export class BasePlayback extends HTML5Video {
40
40
  super._onPlaying();
41
41
  this.trigger(Events.PLAYBACK_MEDIACONTROL_ENABLE);
42
42
  }
43
+ setTextTrack(id) {
44
+ // noop
45
+ }
43
46
  }
@@ -1,7 +1,8 @@
1
1
  import { Playback } from '@clappr/core';
2
2
  import { MediaPlayerClass, IManifestInfo } from 'dashjs';
3
- import { QualityLevel, TimePosition, TimeValue, VTTCueInfo } from '../../playback.types.js';
3
+ import { QualityLevel, TimePosition, TimeValue } from '../../playback.types.js';
4
4
  import { BasePlayback } from '../BasePlayback.js';
5
+ import { VTTCueInfo } from '../types.js';
5
6
  import { AudioTrack } from '@clappr/core/types/base/playback/playback.js';
6
7
  type PlaybackType = typeof Playback.VOD | typeof Playback.LIVE | typeof Playback.AOD | typeof Playback.NO_OP;
7
8
  type PlaylistType = string;
@@ -12,6 +13,7 @@ type LocalTimeCorrelation = {
12
13
  export default class DashPlayback extends BasePlayback {
13
14
  _levels: QualityLevel[];
14
15
  _currentLevel: number;
16
+ _currentTextTrackId: number;
15
17
  _durationExcludesAfterLiveSyncPoint: boolean;
16
18
  _isReadyState: boolean;
17
19
  _playableRegionDuration: number;
@@ -1 +1 @@
1
- {"version":3,"file":"DashPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/dash-playback/DashPlayback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DashPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/dash-playback/DashPlayback.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ const T = 'playback.dash';
16
16
  export default class DashPlayback extends BasePlayback {
17
17
  _levels = [];
18
18
  _currentLevel = AUTO;
19
+ _currentTextTrackId = -1;
19
20
  // true when the actual duration is longer than hlsjs's live sync point
20
21
  // when this is false playableRegionDuration will be the actual duration
21
22
  // when this is true playableRegionDuration will exclude the time after the sync point
@@ -148,7 +149,11 @@ export default class DashPlayback extends BasePlayback {
148
149
  streaming: {
149
150
  text: {
150
151
  defaultEnabled: false,
151
- dispatchForManualRendering: true,
152
+ // NOTE: dispatchForManualRendering is not correctly implemented in DASH.js;
153
+ // it does not work when there are multiple text tracks.
154
+ // CUE_ENTER and CUE_EXIT events might be dispatched additionally
155
+ // for a track, other than the currently active one.
156
+ // dispatchForManualRendering: true, // TODO only when useNativeSubtitles is not true?
152
157
  },
153
158
  },
154
159
  }, this.options.dash);
@@ -192,24 +197,6 @@ export default class DashPlayback extends BasePlayback {
192
197
  this._dash.on(MediaPlayer.events.PLAYBACK_RATE_CHANGED, (e) => {
193
198
  this.trigger(PlaybackEvents.PLAYBACK_RATE_CHANGED, e.playbackRate);
194
199
  });
195
- this._dash.on(MediaPlayer.events.TRACK_CHANGE_RENDERED, (e) => {
196
- if (e.mediaType === 'audio') {
197
- this.trigger(Events.PLAYBACK_AUDIO_CHANGED, toClapprTrack(e.newMediaInfo));
198
- }
199
- });
200
- this._dash.on(MediaPlayer.events.CUE_ENTER, (e) => {
201
- this.oncueenter?.({
202
- end: e.end,
203
- id: e.id,
204
- start: e.start,
205
- text: e.text,
206
- });
207
- });
208
- this._dash.on(MediaPlayer.events.CUE_EXIT, (e) => {
209
- this.oncueexit?.({
210
- id: e.id,
211
- });
212
- });
213
200
  }
214
201
  render() {
215
202
  this._ready();
@@ -519,14 +506,14 @@ export default class DashPlayback extends BasePlayback {
519
506
  this._dash?.setTextTrack(this.closedCaptionsTrackId);
520
507
  }
521
508
  setTextTrack(id) {
509
+ this._currentTextTrackId = id;
522
510
  this._dash?.setTextTrack(id);
523
511
  }
524
512
  /**
525
513
  * @override
526
514
  */
527
515
  get closedCaptionsTracks() {
528
- const tt = this.getTextTracks();
529
- return tt;
516
+ return this.getTextTracks();
530
517
  }
531
518
  getTextTracks() {
532
519
  return this._dash?.getTracksFor('text').map((t, index) => ({
@@ -536,7 +523,7 @@ export default class DashPlayback extends BasePlayback {
536
523
  id: index,
537
524
  label: getTextTrackLabel(t) || "",
538
525
  language: t.lang,
539
- mode: "hidden",
526
+ mode: this._currentTextTrackId === index ? "showing" : "hidden",
540
527
  },
541
528
  })) || [];
542
529
  }
@@ -1,8 +1,9 @@
1
1
  import HLSJS, { Events as HlsEvents, type LevelSwitchingData } from 'hls.js';
2
- import { QualityLevel, VTTCueInfo } from '../../playback.types.js';
2
+ import { QualityLevel } from '../../playback.types.js';
3
3
  import { PlaybackType } from '../../types.js';
4
4
  import { BasePlayback } from '../BasePlayback.js';
5
5
  import { AudioTrack } from '@clappr/core/types/base/playback/playback.js';
6
+ import { VTTCueInfo } from '../types.js';
6
7
  export default class HlsPlayback extends BasePlayback {
7
8
  private _ccTracksUpdated;
8
9
  private _currentFragment;
@@ -1 +1 @@
1
- {"version":3,"file":"HlsPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/hls-playback/HlsPlayback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HlsPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/hls-playback/HlsPlayback.ts"],"names":[],"mappings":"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"}
@@ -864,7 +864,11 @@ export default class HlsPlayback extends BasePlayback {
864
864
  this.trigger(Events.PLAYBACK_AUDIO_CHANGED, toClapprTrack(track));
865
865
  }
866
866
  setTextTrack(id) {
867
+ if (id === this._hls.subtitleTrack) {
868
+ return;
869
+ }
867
870
  this._hls.subtitleTrack = id;
871
+ this.cues = [];
868
872
  }
869
873
  /**
870
874
  * @override
@@ -6,4 +6,13 @@ export declare enum PlaybackEvents {
6
6
  */
7
7
  PLAYBACK_RATE_CHANGED = "playback:rate-changed"
8
8
  }
9
+ /**
10
+ * @internal
11
+ */
12
+ export type VTTCueInfo = {
13
+ id: string;
14
+ start: number;
15
+ end: number;
16
+ text: string;
17
+ };
9
18
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/playback/types.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB;;;;OAIG;IACH,qBAAqB,0BAA0B;CAChD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/playback/types.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB;;;;OAIG;IACH,qBAAqB,0BAA0B;CAChD;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb,CAAA"}
@@ -135,10 +135,4 @@ export interface PlaybackError {
135
135
  icon?: string;
136
136
  };
137
137
  }
138
- export type VTTCueInfo = {
139
- id: string;
140
- start: number;
141
- end: number;
142
- text: string;
143
- };
144
138
  //# sourceMappingURL=playback.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"playback.types.d.ts","sourceRoot":"","sources":["../src/playback.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAE9B;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,EAAE,SAAS,CAAA;IAClB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;OAEG;IACH,OAAO,EAAE,SAAS,CAAA;IAClB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,CAAA;AAErC;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B;;OAEG;IACH,OAAO,kBAAkB;IACzB;;OAEG;IACH,sBAAsB,6BAA6B;IACnD;;OAEG;IACH,uBAAuB,+BAA+B;CACvD;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAElD;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,CAAA;AAEnE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAA;IACvB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAA;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,KAAK,EAAE,mBAAmB,CAAA;IAE1B;;OAEG;IACH,EAAE,CAAC,EAAE;QACH,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb,CAAA"}
1
+ {"version":3,"file":"playback.types.d.ts","sourceRoot":"","sources":["../src/playback.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAE9B;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,EAAE,SAAS,CAAA;IAClB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;OAEG;IACH,OAAO,EAAE,SAAS,CAAA;IAClB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,CAAA;AAErC;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B;;OAEG;IACH,OAAO,kBAAkB;IACzB;;OAEG;IACH,sBAAsB,6BAA6B;IACnD;;OAEG;IACH,uBAAuB,+BAA+B;CACvD;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAElD;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,CAAA;AAEnE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAA;IACvB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAA;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,KAAK,EAAE,mBAAmB,CAAA;IAE1B;;OAEG;IACH,EAAE,CAAC,EAAE;QACH,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF"}
@@ -1,5 +1,25 @@
1
1
  import { Core, UICorePlugin } from '@clappr/core';
2
2
  import '../../../assets/multi-camera/style.scss';
3
+ /**
4
+ * @beta
5
+ */
6
+ export type MultisourcesMode = 'one_first' | 'only_live' | 'show_all';
7
+ /**
8
+ * Extended media source description
9
+ * @beta
10
+ */
11
+ export type MulticCameraSourceInfo = {
12
+ description: string;
13
+ dvr: boolean;
14
+ hls_mpegts_url: string | null;
15
+ id: number;
16
+ live: boolean;
17
+ projection: string | null;
18
+ screenshot: string | null;
19
+ source: string;
20
+ source_dash: string | null;
21
+ title: string;
22
+ };
3
23
  /**
4
24
  * `PLUGIN` that adds support for loading multiple streams and switching between them using the media control UI.
5
25
  * @beta
@@ -26,14 +46,13 @@ export declare class MultiCamera extends UICorePlugin {
26
46
  };
27
47
  constructor(core: Core);
28
48
  bindEvents(): void;
29
- unBindEvents(): void;
49
+ private unBindEvents;
30
50
  private onPlay;
31
51
  private bindPlaybackEvents;
32
52
  private reload;
33
53
  private shouldRender;
34
54
  render(): this;
35
55
  private onCameraSelect;
36
- activeById(id: number, active: boolean): void;
37
56
  private setLiveStatus;
38
57
  private behaviorLive;
39
58
  private behaviorOne;
@@ -42,8 +61,6 @@ export declare class MultiCamera extends UICorePlugin {
42
61
  private showError;
43
62
  private hideError;
44
63
  private changeById;
45
- private getCamerasList;
46
- private getCurrentCamera;
47
64
  private findElementById;
48
65
  private findIndexById;
49
66
  private onShowLevelSelectMenu;
@@ -1 +1 @@
1
- {"version":3,"file":"MultiCamera.d.ts","sourceRoot":"","sources":["../../../src/plugins/multi-camera/MultiCamera.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,IAAI,EAIJ,YAAY,EACb,MAAM,cAAc,CAAA;AAMrB,OAAO,yCAAyC,CAAA;AAqBhD;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,aAAa,CAA+B;IAEpD,OAAO,CAAC,WAAW,CAAY;IAE/B,OAAO,CAAC,OAAO,CAAQ;IAEvB,OAAO,CAAC,WAAW,CAAwB;IAE3C,OAAO,CAAC,eAAe,CAAQ;IAE/B,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,MAAM,KAAK,OAAO,WAEjB;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,IAAa,MAAM;;;MAKlB;gBAEW,IAAI,EAAE,IAAI;IAiBb,UAAU;IAmBnB,YAAY;IAoBZ,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,YAAY;IAYX,MAAM;IAwFf,OAAO,CAAC,cAAc;IAWtB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IA8BtC,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,UAAU;IAmDlB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,qBAAqB;CAM9B"}
1
+ {"version":3,"file":"MultiCamera.d.ts","sourceRoot":"","sources":["../../../src/plugins/multi-camera/MultiCamera.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,IAAI,EAIJ,YAAY,EACb,MAAM,cAAc,CAAA;AAOrB,OAAO,yCAAyC,CAAA;AAKhD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAA;AAErE;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,OAAO,CAAA;IACZ,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAMD;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,aAAa,CAAsC;IAE3D,OAAO,CAAC,WAAW,CAAY;IAE/B,OAAO,CAAC,OAAO,CAAQ;IAEvB,OAAO,CAAC,WAAW,CAA+B;IAElD,OAAO,CAAC,eAAe,CAAQ;IAE/B,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,MAAM,KAAK,OAAO,WAEjB;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,IAAa,MAAM;;;MAKlB;gBAEW,IAAI,EAAE,IAAI;IAmBb,UAAU;IAmBnB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,YAAY;IAQX,MAAM;IA2Df,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,UAAU;IA0ClB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,qBAAqB;CAM9B"}