@gcorevideo/player 2.24.11 → 2.24.13

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 (47) hide show
  1. package/README.md +1 -0
  2. package/assets/dvr-controls/dvr_controls.scss +43 -80
  3. package/assets/dvr-controls/index.ejs +8 -2
  4. package/assets/media-control/width370.scss +1 -1
  5. package/dist/core.js +18 -17
  6. package/dist/index.css +516 -542
  7. package/dist/index.embed.js +91 -65
  8. package/dist/index.js +156 -128
  9. package/dist/player.d.ts +3264 -0
  10. package/lib/playback/dash-playback/DashPlayback.d.ts +2 -0
  11. package/lib/playback/dash-playback/DashPlayback.d.ts.map +1 -1
  12. package/lib/playback/dash-playback/DashPlayback.js +17 -11
  13. package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
  14. package/lib/playback/hls-playback/HlsPlayback.js +0 -5
  15. package/lib/plugins/audio-selector/AudioTracks.js +1 -1
  16. package/lib/plugins/bottom-gear/BottomGear.js +1 -1
  17. package/lib/plugins/clips/Clips.js +1 -1
  18. package/lib/plugins/dvr-controls/DvrControls.d.ts +3 -3
  19. package/lib/plugins/dvr-controls/DvrControls.d.ts.map +1 -1
  20. package/lib/plugins/dvr-controls/DvrControls.js +14 -12
  21. package/lib/plugins/media-control/MediaControl.d.ts +14 -5
  22. package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
  23. package/lib/plugins/media-control/MediaControl.js +55 -29
  24. package/lib/plugins/picture-in-picture/PictureInPicture.js +1 -1
  25. package/lib/plugins/subtitles/ClosedCaptions.js +1 -1
  26. package/lib/testUtils.d.ts.map +1 -1
  27. package/lib/testUtils.js +2 -0
  28. package/package.json +1 -1
  29. package/src/playback/dash-playback/DashPlayback.ts +20 -13
  30. package/src/playback/hls-playback/HlsPlayback.ts +3 -8
  31. package/src/plugins/audio-selector/AudioTracks.ts +1 -1
  32. package/src/plugins/audio-selector/__tests__/AudioTracks.test.ts +2 -2
  33. package/src/plugins/bottom-gear/BottomGear.ts +1 -1
  34. package/src/plugins/bottom-gear/__tests__/BottomGear.test.ts +2 -2
  35. package/src/plugins/clips/Clips.ts +1 -1
  36. package/src/plugins/clips/__tests__/Clips.test.ts +1 -1
  37. package/src/plugins/dvr-controls/DvrControls.ts +14 -14
  38. package/src/plugins/dvr-controls/__tests__/DvrControls.test.ts +20 -17
  39. package/src/plugins/dvr-controls/__tests__/__snapshots__/DvrControls.test.ts.snap +4 -2
  40. package/src/plugins/media-control/MediaControl.ts +69 -35
  41. package/src/plugins/media-control/__tests__/MediaControl.test.ts +128 -112
  42. package/src/plugins/media-control/__tests__/__snapshots__/MediaControl.test.ts.snap +227 -24
  43. package/src/plugins/picture-in-picture/PictureInPicture.ts +1 -1
  44. package/src/plugins/subtitles/ClosedCaptions.ts +1 -1
  45. package/src/plugins/subtitles/__tests__/ClosedCaptions.test.ts +1 -1
  46. package/src/testUtils.ts +2 -0
  47. package/tsconfig.tsbuildinfo +1 -1
package/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # Gcore video player
2
+ $
2
3
 
3
4
  ## Installation
4
5
 
@@ -1,104 +1,67 @@
1
- $disabled-opacity: 0.3;
2
- $control-height: 32px;
3
- $circle-radius: 3.5px;
4
- $bottom-panel: 40px;
1
+ .dvr-controls {
2
+ --disabled-opacity: 0.3;
3
+ --circle-radius: 5px;
5
4
 
6
- .dvr-controls[data-dvr] {
7
- display: inline-block;
5
+ display: flex;
6
+ align-items: center;
8
7
  color: var(--player-dvr-color);
9
- line-height: 32px;
10
8
  font-size: 10px;
11
- font-weight: bold;
12
- margin-left: 6px;
9
+ font-weight: 500;
10
+ height: var(--bottom-panel);
11
+ line-height: var(--bottom-panel);
12
+ margin-left: 0;
13
13
 
14
- .live-info {
15
- cursor: default;
14
+ .live-info,
15
+ .live-button {
16
+ font-size: 14px;
17
+ font-weight: 500;
18
+ margin-left: 20px;
19
+ letter-spacing: 0.8px;
16
20
  text-transform: uppercase;
17
21
 
18
- &:before {
22
+ &::before {
23
+ margin-right: 8px;
19
24
  content: "";
20
25
  display: inline-block;
21
26
  position: relative;
22
- width: $circle-radius*2;
23
- height: $circle-radius*2;
24
- border-radius: $circle-radius;
25
- margin-right: $circle-radius;
26
- background-color: var(--player-live-color);
27
- }
28
-
29
- &.disabled {
30
- opacity: $disabled-opacity;
31
-
32
- &:before {
33
- background-color: var(--player-dvr-color);
34
- }
27
+ width: calc(var(--circle-radius)*2);
28
+ height: calc(var(--circle-radius)*2);
29
+ border-radius: var(--circle-radius);
30
+ background-color: var(--player-dvr-color);
35
31
  }
36
32
  }
37
33
 
38
- .live-button {
39
- cursor: pointer;
40
- outline: none;
41
- display: none;
42
- border: 0;
43
- color: var(--player-dvr-color);
44
- background-color: transparent;
45
- height: 32px;
46
- padding: 0;
47
- opacity: 0.7;
48
- text-transform: uppercase;
49
- transition: all 0.1s ease;
34
+ &.disabled {
35
+ opacity: var(--disabled-opacity);
50
36
 
51
37
  &:before {
52
- content: "";
53
- display: inline-block;
54
- position: relative;
55
- width: $circle-radius*2;
56
- height: $circle-radius*2;
57
- border-radius: $circle-radius;
58
- margin-right: $circle-radius;
59
38
  background-color: var(--player-dvr-color);
60
39
  }
61
-
62
- &:hover {
63
- opacity: 1;
64
- text-shadow: rgba(255, 255, 255, .75) 0 0 5px;
65
- }
66
40
  }
41
+ }
67
42
 
68
- height: $bottom-panel;
69
- line-height: $bottom-panel;
70
- margin-left: 0;
71
-
72
- .live-info {
73
- font-size: 14px;
74
- letter-spacing: 0.8px;
75
- font-weight: 500;
76
- color: #fffffe;
77
- margin-left: 21px;
43
+ .live-info {
44
+ text-transform: uppercase;
45
+ color: #fffffe;
78
46
 
79
- &::before {
80
- width: 10px;
81
- height: 10px;
82
- border-radius: 50%;
83
- margin-right: 8px;
84
- background-color: #ed4f4a;
85
- }
47
+ &::before {
48
+ background-color: var(--player-live-color); // TODO
49
+ background-color: #ed4f4a;
86
50
  }
51
+ }
87
52
 
88
- .live-button {
89
- height: $bottom-panel;
90
- opacity: 1;
91
- font-size: 14px;
92
- letter-spacing: 0.8px;
93
- font-weight: 500;
94
- margin-left: 20px;
53
+ .live-button {
54
+ cursor: pointer;
55
+ outline: none;
56
+ border: 0;
57
+ color: var(--player-dvr-color);
58
+ background-color: transparent;
59
+ padding: 0;
60
+ opacity: 0.7;
61
+ transition: all 0.1s ease;
95
62
 
96
- &::before {
97
- width: 10px;
98
- height: 10px;
99
- border-radius: 50%;
100
- margin-right: 8px;
101
- background-color: #cacaca;
102
- }
63
+ &:hover {
64
+ opacity: 1;
65
+ text-shadow: rgba(255, 255, 255, .75) 0 0 5px;
103
66
  }
104
67
  }
@@ -1,2 +1,8 @@
1
- <div class="live-info" id="media-control-live"><%= i18n.t('live') %></div>
2
- <button type="button" class="live-button" aria-label="<%= i18n.t('back_to_live') %>" id="media-control-back-to-live"><%= i18n.t('back_to_live') %></button>
1
+ <div class="live-info" id="gplayer-mc-live"><%= i18n.t('live') %></div>
2
+ <button type="button"
3
+ class="live-button"
4
+ aria-label="<%= i18n.t('back_to_live') %>"
5
+ id="gplayer-mc-back-to-live"
6
+ >
7
+ <%= i18n.t('back_to_live') %>
8
+ </button>
@@ -99,7 +99,7 @@
99
99
  }
100
100
  }
101
101
 
102
- .dvr-controls[data-dvr] {
102
+ .dvr-controls {
103
103
  height: 32px;
104
104
 
105
105
  .live-button {
package/dist/core.js CHANGED
@@ -12785,10 +12785,9 @@ class DashPlayback extends BasePlayback {
12785
12785
  return super.render();
12786
12786
  }
12787
12787
  _ready() {
12788
- this._isReadyState = true;
12789
- this.trigger(Events$1.PLAYBACK_READY, this.name);
12788
+ !this._dash && this._setup();
12789
+ super._ready();
12790
12790
  }
12791
- // override
12792
12791
  _setupSrc() {
12793
12792
  // this playback manages the src on the video element itself
12794
12793
  }
@@ -12972,9 +12971,7 @@ class DashPlayback extends BasePlayback {
12972
12971
  }
12973
12972
  play() {
12974
12973
  trace(`${T$3} play`, { dash: !!this._dash });
12975
- if (!this._dash) {
12976
- this._setup();
12977
- }
12974
+ !this._dash && this._setup();
12978
12975
  super.play();
12979
12976
  this._startTimeUpdateTimer();
12980
12977
  }
@@ -12990,20 +12987,22 @@ class DashPlayback extends BasePlayback {
12990
12987
  stop() {
12991
12988
  if (this._dash) {
12992
12989
  this._stopTimeUpdateTimer();
12993
- this._dash.reset();
12990
+ this.destroyInstance();
12994
12991
  super.stop();
12995
- this._dash = null;
12996
12992
  }
12997
12993
  }
12998
- destroy() {
12999
- this._stopTimeUpdateTimer();
12994
+ destroyInstance() {
13000
12995
  if (this._dash) {
13001
12996
  this._dash.off(DASHJS.MediaPlayer.events.ERROR, this._onDASHJSSError);
13002
12997
  this._dash.off(DASHJS.MediaPlayer.events.PLAYBACK_ERROR, this._onPlaybackError);
13003
12998
  this._dash.off(DASHJS.MediaPlayer.events.MANIFEST_LOADED, this.getDuration);
13004
12999
  this._dash.reset();
13000
+ this._dash = null;
13005
13001
  }
13006
- this._dash = null;
13002
+ }
13003
+ destroy() {
13004
+ this._stopTimeUpdateTimer();
13005
+ this.destroyInstance();
13007
13006
  return super.destroy();
13008
13007
  }
13009
13008
  _updatePlaybackType() {
@@ -13072,6 +13071,13 @@ class DashPlayback extends BasePlayback {
13072
13071
  assert.ok(track, 'Invalid audio track ID');
13073
13072
  this._dash.setCurrentTrack(track);
13074
13073
  }
13074
+ load(srcUrl) {
13075
+ this._stopTimeUpdateTimer();
13076
+ this.options.src = srcUrl;
13077
+ // TODO destroy the instance first?
13078
+ this.destroyInstance();
13079
+ this._setup();
13080
+ }
13075
13081
  checkAudioTracks() {
13076
13082
  // @ts-ignore
13077
13083
  const tracks = this._dash.getTracksFor('audio');
@@ -42067,12 +42073,7 @@ class HlsPlayback extends BasePlayback {
42067
42073
  return super.render();
42068
42074
  }
42069
42075
  _ready() {
42070
- trace(`${T$2} _ready`, {
42071
- isReadyState: this._isReadyState, // is defined in HTML5Video
42072
- });
42073
42076
  !this._hls && this._setup();
42074
- // this._isReadyState = true
42075
- // this.trigger(Events.PLAYBACK_READY, this.name)
42076
42077
  super._ready();
42077
42078
  }
42078
42079
  _recover(evt, data, error) {
@@ -43227,7 +43228,7 @@ class Player {
43227
43228
  }
43228
43229
  }
43229
43230
 
43230
- var version$1 = "2.24.11";
43231
+ var version$1 = "2.24.13";
43231
43232
 
43232
43233
  var packages = {
43233
43234
  "node_modules/@clappr/core": {