@gcorevideo/player 2.28.36 → 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 (42) hide show
  1. package/assets/media-control/media-control.scss +8 -6
  2. package/assets/multi-camera/multicamera.ejs +27 -23
  3. package/assets/multi-camera/style.scss +7 -34
  4. package/assets/style/main.scss +2 -2
  5. package/dist/core.js +8 -6
  6. package/dist/index.css +427 -449
  7. package/dist/index.embed.js +8 -45
  8. package/dist/index.js +77 -181
  9. package/docs/api/player.md +22 -9
  10. package/docs/api/player.mediacontrol.setkeepvisible.md +56 -0
  11. package/docs/api/player.multicamera.md +0 -28
  12. package/docs/api/player.multiccamerasourceinfo.md +27 -0
  13. package/docs/api/{player.multicamera.unbindevents.md → player.multisourcesmode.md} +4 -7
  14. package/docs/api/player.sourcecontroller.md +0 -37
  15. package/lib/playback/dash-playback/DashPlayback.d.ts +2 -1
  16. package/lib/playback/dash-playback/DashPlayback.d.ts.map +1 -1
  17. package/lib/playback/hls-playback/HlsPlayback.d.ts +2 -1
  18. package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
  19. package/lib/playback/types.d.ts +9 -0
  20. package/lib/playback/types.d.ts.map +1 -1
  21. package/lib/playback.types.d.ts +0 -6
  22. package/lib/playback.types.d.ts.map +1 -1
  23. package/lib/plugins/multi-camera/MultiCamera.d.ts +21 -4
  24. package/lib/plugins/multi-camera/MultiCamera.d.ts.map +1 -1
  25. package/lib/plugins/multi-camera/MultiCamera.js +70 -134
  26. package/lib/plugins/source-controller/SourceController.d.ts +0 -39
  27. package/lib/plugins/source-controller/SourceController.d.ts.map +1 -1
  28. package/lib/plugins/source-controller/SourceController.js +0 -39
  29. package/lib/utils/mediaSources.d.ts +4 -0
  30. package/lib/utils/mediaSources.d.ts.map +1 -1
  31. package/lib/utils/mediaSources.js +8 -6
  32. package/package.json +1 -1
  33. package/src/playback/dash-playback/DashPlayback.ts +1 -2
  34. package/src/playback/hls-playback/HlsPlayback.ts +1 -1
  35. package/src/playback/types.ts +10 -0
  36. package/src/playback.types.ts +0 -6
  37. package/src/plugins/multi-camera/MultiCamera.ts +103 -166
  38. package/src/plugins/source-controller/SourceController.ts +0 -39
  39. package/src/plugins/subtitles/ClosedCaptions.ts +1 -1
  40. package/src/utils/mediaSources.ts +10 -6
  41. package/tsconfig.tsbuildinfo +1 -1
  42. package/docs/api/player.multicamera.activebyid.md +0 -67
package/dist/index.css CHANGED
@@ -122,55 +122,69 @@
122
122
  .gplayer-lite-btn::-moz-focus-inner {
123
123
  border: 0;
124
124
  padding: 0;
125
- }.big-mute-icon-wrapper[data-big-mute] {
126
- position: absolute;
127
- z-index: 9998;
128
- background-color: transparent;
129
- display: flex;
130
- justify-content: center;
125
+ }*,
126
+ :focus,
127
+ :visited {
128
+ outline: none !important;
129
+ }
130
+
131
+ .gear-wrapper .go-back {
132
+ font-weight: 600;
133
+ font-size: 14px;
134
+ line-height: 20px;
131
135
  width: 100%;
132
- height: calc(100% - 50px);
133
- margin: 0 auto;
134
- opacity: 0.75;
135
- transition: opacity 0.1s ease;
136
- pointer-events: auto;
136
+ text-align: left;
137
+ padding: 12px;
137
138
  }
138
- .big-mute-icon-wrapper[data-big-mute].hide {
139
- display: none;
139
+ .gear-wrapper .go-back .arrow-left-icon {
140
+ float: left;
141
+ padding-top: 2px;
142
+ padding-right: 2px;
140
143
  }
141
- .big-mute-icon-wrapper[data-big-mute]:hover {
142
- cursor: pointer;
144
+ .gear-wrapper .go-back .arrow-left-icon svg {
145
+ height: 16px;
143
146
  }
144
-
145
- .big-mute-icon[data-big-mute-icon] {
146
- display: flex;
147
- align-items: center;
148
- justify-content: center;
149
- align-self: center;
150
- width: 120px;
151
- height: 120px;
152
- border: 2px solid white;
153
- border-radius: 50%;
154
- filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
155
- filter: alpha(opacity=60);
156
- opacity: 1;
157
- box-shadow: 0 0 1px 0 white;
158
- background: rgba(240, 243, 247, 0.9411764706);
159
- z-index: 10000;
147
+ .gear-wrapper .gear-options-list,
148
+ .gear-wrapper .gear-sub-menu {
149
+ list-style-type: none;
160
150
  }
161
- .big-mute-icon[data-big-mute-icon] svg {
162
- margin-left: 5px;
163
- width: 80px;
164
- height: 80px;
151
+ .gear-wrapper ul.gear-sub-menu {
152
+ width: 100%;
153
+ min-width: 60px;
154
+ border-top: 2px solid rgb(36, 36, 36);
155
+ overflow-y: auto;
165
156
  }
166
- .big-mute-icon[data-big-mute-icon] svg path {
167
- fill: #1f1e1e !important;
157
+ .gear-wrapper ul.gear-sub-menu li {
158
+ font-size: 12px;
159
+ text-align: left;
168
160
  }
169
- .big-mute-icon[data-big-mute-icon]:hover {
170
- background: rgba(240, 243, 247, 0.8784313725);
161
+ .gear-wrapper ul.gear-sub-menu li a {
162
+ display: block;
163
+ text-decoration: none;
164
+ height: 30px;
165
+ padding: 5px 10px;
166
+ line-height: 22px;
167
+ color: var(--gplayer-mc-text-dim-color);
171
168
  }
172
- .big-mute-icon[data-big-mute-icon]:hover svg path {
173
- fill: #151515 !important;
169
+ .gear-wrapper ul.gear-sub-menu li a:hover {
170
+ color: var(--gplayer-mc-text-color);
171
+ background-color: rgba(0, 0, 0, 0.4);
172
+ }
173
+ .gear-wrapper ul.gear-sub-menu li a:hover a {
174
+ color: var(--gplayer-mc-text-color);
175
+ text-decoration: none;
176
+ }
177
+ .gear-wrapper ul.gear-sub-menu li a .check-icon {
178
+ width: 30px;
179
+ height: 20px;
180
+ float: left;
181
+ display: block;
182
+ }
183
+ .gear-wrapper ul.gear-sub-menu li a .check-icon svg {
184
+ display: none;
185
+ }
186
+ .gear-wrapper ul.gear-sub-menu li.current a .check-icon svg {
187
+ display: inline;
174
188
  }.media-control-skin-1 .media-control-item.media-control-gear {
175
189
  order: 99;
176
190
  }
@@ -216,69 +230,78 @@
216
230
  }
217
231
  .media-control-skin-1 .media-control-item.media-control-gear .gear-option_value {
218
232
  flex: 1 0 auto;
219
- }*,
220
- :focus,
221
- :visited {
222
- outline: none !important;
223
- }
224
-
225
- .gear-wrapper .go-back {
226
- font-weight: 600;
227
- font-size: 14px;
228
- line-height: 20px;
233
+ }.big-mute-icon-wrapper[data-big-mute] {
234
+ position: absolute;
235
+ z-index: 9998;
236
+ background-color: transparent;
237
+ display: flex;
238
+ justify-content: center;
229
239
  width: 100%;
230
- text-align: left;
231
- padding: 12px;
232
- }
233
- .gear-wrapper .go-back .arrow-left-icon {
234
- float: left;
235
- padding-top: 2px;
236
- padding-right: 2px;
240
+ height: calc(100% - 50px);
241
+ margin: 0 auto;
242
+ opacity: 0.75;
243
+ transition: opacity 0.1s ease;
244
+ pointer-events: auto;
237
245
  }
238
- .gear-wrapper .go-back .arrow-left-icon svg {
239
- height: 16px;
246
+ .big-mute-icon-wrapper[data-big-mute].hide {
247
+ display: none;
240
248
  }
241
- .gear-wrapper .gear-options-list,
242
- .gear-wrapper .gear-sub-menu {
243
- list-style-type: none;
249
+ .big-mute-icon-wrapper[data-big-mute]:hover {
250
+ cursor: pointer;
244
251
  }
245
- .gear-wrapper ul.gear-sub-menu {
246
- width: 100%;
247
- min-width: 60px;
248
- border-top: 2px solid rgb(36, 36, 36);
249
- overflow-y: auto;
252
+
253
+ .big-mute-icon[data-big-mute-icon] {
254
+ display: flex;
255
+ align-items: center;
256
+ justify-content: center;
257
+ align-self: center;
258
+ width: 120px;
259
+ height: 120px;
260
+ border: 2px solid white;
261
+ border-radius: 50%;
262
+ filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
263
+ filter: alpha(opacity=60);
264
+ opacity: 1;
265
+ box-shadow: 0 0 1px 0 white;
266
+ background: rgba(240, 243, 247, 0.9411764706);
267
+ z-index: 10000;
250
268
  }
251
- .gear-wrapper ul.gear-sub-menu li {
252
- font-size: 12px;
253
- text-align: left;
269
+ .big-mute-icon[data-big-mute-icon] svg {
270
+ margin-left: 5px;
271
+ width: 80px;
272
+ height: 80px;
254
273
  }
255
- .gear-wrapper ul.gear-sub-menu li a {
256
- display: block;
257
- text-decoration: none;
258
- height: 30px;
259
- padding: 5px 10px;
260
- line-height: 22px;
261
- color: var(--gplayer-mc-text-dim-color);
274
+ .big-mute-icon[data-big-mute-icon] svg path {
275
+ fill: #1f1e1e !important;
262
276
  }
263
- .gear-wrapper ul.gear-sub-menu li a:hover {
264
- color: var(--gplayer-mc-text-color);
265
- background-color: rgba(0, 0, 0, 0.4);
277
+ .big-mute-icon[data-big-mute-icon]:hover {
278
+ background: rgba(240, 243, 247, 0.8784313725);
266
279
  }
267
- .gear-wrapper ul.gear-sub-menu li a:hover a {
268
- color: var(--gplayer-mc-text-color);
269
- text-decoration: none;
280
+ .big-mute-icon[data-big-mute-icon]:hover svg path {
281
+ fill: #151515 !important;
282
+ }@charset "UTF-8";
283
+ .gplayer-mc-clips {
284
+ display: flex;
285
+ gap: 6px;
270
286
  }
271
- .gear-wrapper ul.gear-sub-menu li a .check-icon {
272
- width: 30px;
273
- height: 20px;
274
- float: left;
275
- display: block;
287
+ .gplayer-mc-clips .gplayer-mc-clips-text {
288
+ text-overflow: ellipsis;
289
+ white-space: nowrap;
290
+ overflow: hidden;
291
+ display: inline-block;
292
+ text-overflow: ellipsis;
293
+ color: white;
294
+ cursor: default;
295
+ line-height: var(--bottom-panel);
296
+ position: relative;
297
+ max-width: 150px;
276
298
  }
277
- .gear-wrapper ul.gear-sub-menu li a .check-icon svg {
278
- display: none;
299
+ .gplayer-mc-clips .gplayer-mc-clips-text::before {
300
+ content: "•";
301
+ padding-right: 6px;
279
302
  }
280
- .gear-wrapper ul.gear-sub-menu li.current a .check-icon svg {
281
- display: inline;
303
+ .gplayer-mc-clips .gplayer-mc-clips-text.compact {
304
+ max-width: 100px;
282
305
  }:root {
283
306
  --primary-background-color: #000;
284
307
  --secondary-background-color: #262626;
@@ -643,29 +666,6 @@
643
666
  .fullscreen .clappr-nerd-stats .stats-box {
644
667
  top: unset;
645
668
  }
646
- }@charset "UTF-8";
647
- .gplayer-mc-clips {
648
- display: flex;
649
- gap: 6px;
650
- }
651
- .gplayer-mc-clips .gplayer-mc-clips-text {
652
- text-overflow: ellipsis;
653
- white-space: nowrap;
654
- overflow: hidden;
655
- display: inline-block;
656
- text-overflow: ellipsis;
657
- color: white;
658
- cursor: default;
659
- line-height: var(--bottom-panel);
660
- position: relative;
661
- max-width: 150px;
662
- }
663
- .gplayer-mc-clips .gplayer-mc-clips-text::before {
664
- content: "•";
665
- padding-right: 6px;
666
- }
667
- .gplayer-mc-clips .gplayer-mc-clips-text.compact {
668
- max-width: 100px;
669
669
  }.dvr-controls {
670
670
  --disabled-opacity: 0.3;
671
671
  --circle-radius: 5px;
@@ -793,27 +793,181 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
793
793
  cursor: pointer;
794
794
  width: 30px;
795
795
  margin: 15px auto 0;
796
- }[data-player] {
797
- --bottom-panel: 40px;
796
+ }*,
797
+ :focus,
798
+ :visited {
799
+ outline: none !important;
798
800
  }
799
801
 
800
- .container .media-control-notransition {
801
- transition: none !important;
802
- }
803
- .container .player-poster .play-wrapper {
804
- opacity: 1;
805
- }
806
- .container.crop-video [data-html5-video] {
807
- object-fit: cover;
802
+ .multicamera[data-multicamera] {
803
+ position: relative;
804
+ order: 80;
808
805
  }
809
- .container .player-poster .circle-poster {
810
- top: 50%;
811
- margin-top: -60px;
812
- left: 50%;
813
- margin-left: -60px;
814
- position: absolute;
815
- width: 120px;
816
- height: 120px;
806
+ .multicamera[data-multicamera] button {
807
+ background-color: transparent;
808
+ color: #fff;
809
+ font-family: Roboto, "Open Sans", Arial, sans-serif;
810
+ -webkit-font-smoothing: antialiased;
811
+ border: none;
812
+ font-size: 14px;
813
+ padding: 0;
814
+ display: flex;
815
+ align-items: center;
816
+ justify-content: center;
817
+ width: 24px;
818
+ height: 20px;
819
+ }
820
+ .multicamera[data-multicamera] button svg {
821
+ height: 20px;
822
+ position: relative;
823
+ }
824
+ .multicamera[data-multicamera] button:hover {
825
+ color: #c9c9c9;
826
+ }
827
+ .multicamera[data-multicamera] button.changing {
828
+ animation: pulse 0.5s infinite alternate;
829
+ }
830
+ .multicamera[data-multicamera] > ul {
831
+ padding: 6px 0;
832
+ right: -24px;
833
+ width: 245px;
834
+ list-style-type: none;
835
+ position: absolute;
836
+ bottom: 48px;
837
+ border-radius: 4px;
838
+ display: none;
839
+ background-color: rgba(74, 74, 74, 0.9);
840
+ }
841
+ .multicamera[data-multicamera] > ul::after {
842
+ content: "";
843
+ position: absolute;
844
+ top: 100%;
845
+ left: 85%;
846
+ margin-left: -10px;
847
+ width: 0;
848
+ height: 0;
849
+ border-top: 10px solid rgba(74, 74, 74, 0.9);
850
+ border-right: 10px solid transparent;
851
+ border-left: 10px solid transparent;
852
+ }
853
+ .multicamera[data-multicamera] li {
854
+ font-size: 10px;
855
+ cursor: pointer;
856
+ }
857
+ .multicamera[data-multicamera] li .multicamera-item {
858
+ display: flex;
859
+ padding: 10px 0;
860
+ justify-content: center;
861
+ position: relative;
862
+ }
863
+ .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false] .multicamera-screenshot {
864
+ opacity: 0.5;
865
+ }
866
+ .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false] .multicamera-text {
867
+ opacity: 0.5;
868
+ }
869
+ .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false]:hover {
870
+ background-color: rgba(0, 0, 0, 0);
871
+ }
872
+ .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false] {
873
+ pointer-events: none;
874
+ }
875
+ .multicamera[data-multicamera] li .multicamera-item:hover, .multicamera[data-multicamera] li .multicamera-item.multicamera-active {
876
+ background-color: rgba(0, 0, 0, 0.3);
877
+ }
878
+ .multicamera[data-multicamera] li .multicamera-item .multicamera-screenshot {
879
+ width: 80px;
880
+ height: 60px;
881
+ }
882
+ .multicamera[data-multicamera] li .multicamera-item .multicamera-screenshot img {
883
+ width: 80px;
884
+ height: 60px;
885
+ }
886
+ .multicamera[data-multicamera] li .multicamera-item .multicamera-text {
887
+ width: 120px;
888
+ text-align: left;
889
+ margin-left: 15px;
890
+ }
891
+ .multicamera[data-multicamera] li .multicamera-item .multicamera-text .multicamera-title,
892
+ .multicamera[data-multicamera] li .multicamera-item .multicamera-text .multicamera-description {
893
+ width: 120px;
894
+ height: 20px;
895
+ font-family: Roboto, "Open Sans", Arial, sans-serif;
896
+ font-size: 14px;
897
+ font-weight: normal;
898
+ font-style: normal;
899
+ font-stretch: normal;
900
+ line-height: 1.43;
901
+ letter-spacing: normal;
902
+ text-align: left;
903
+ color: #fff;
904
+ text-overflow: ellipsis;
905
+ overflow: hidden;
906
+ }
907
+ .multicamera[data-multicamera] li .multicamera-item .multicamera-text .multicamera-description {
908
+ opacity: 0.6;
909
+ }.media-control-skin-1 .media-control-item.media-control-pip {
910
+ order: 95;
911
+ }
912
+ .media-control-skin-1 .media-control-item.media-control-pip button {
913
+ height: 20px;
914
+ }
915
+ .media-control-skin-1 .media-control-item.media-control-pip button svg {
916
+ height: 20px;
917
+ }.seek-time {
918
+ position: absolute;
919
+ white-space: nowrap;
920
+ height: 20px;
921
+ line-height: 20px;
922
+ font-size: 0;
923
+ left: -100%;
924
+ bottom: 55px;
925
+ background-color: rgba(2, 2, 2, 0.5);
926
+ z-index: 9999;
927
+ transition: opacity 0.1s ease;
928
+ }
929
+ .seek-time.hidden {
930
+ opacity: 0;
931
+ }
932
+ .seek-time .seek-time__pos {
933
+ display: inline-block;
934
+ color: white;
935
+ font-size: 10px;
936
+ padding-left: 7px;
937
+ padding-right: 7px;
938
+ vertical-align: top;
939
+ }
940
+ .seek-time .seek-time__duration {
941
+ display: inline-block;
942
+ color: rgba(255, 255, 255, 0.5);
943
+ font-size: 10px;
944
+ padding-right: 7px;
945
+ vertical-align: top;
946
+ }
947
+ .seek-time .seek-time__duration::before {
948
+ content: "|";
949
+ margin-right: 7px;
950
+ }[data-player] {
951
+ --bottom-panel: 40px;
952
+ }
953
+
954
+ .container .media-control-notransition {
955
+ transition: none !important;
956
+ }
957
+ .container .player-poster .play-wrapper {
958
+ opacity: 1;
959
+ }
960
+ .container.crop-video [data-html5-video] {
961
+ object-fit: cover;
962
+ }
963
+ .container .player-poster .circle-poster {
964
+ top: 50%;
965
+ margin-top: -60px;
966
+ left: 50%;
967
+ margin-left: -60px;
968
+ position: absolute;
969
+ width: 120px;
970
+ height: 120px;
817
971
  border: 2px solid white;
818
972
  border-radius: 50%;
819
973
  filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
@@ -1414,236 +1568,60 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
1414
1568
  100% {
1415
1569
  color: #B80000;
1416
1570
  }
1417
- }*,
1418
- :focus,
1419
- :visited {
1420
- outline: none !important;
1571
+ }.player-poster {
1572
+ display: flex;
1573
+ justify-content: center;
1574
+ align-items: center;
1575
+ position: absolute;
1576
+ height: 100%;
1577
+ width: 100%;
1578
+ z-index: 998;
1579
+ top: 0;
1580
+ left: 0;
1581
+ background-color: #000;
1582
+ background-size: cover;
1583
+ background-repeat: no-repeat;
1584
+ background-position: 50% 50%;
1421
1585
  }
1422
-
1423
- .multicamera[data-multicamera] {
1424
- float: right;
1425
- margin-top: 4px;
1426
- position: relative;
1427
- margin-right: 20px;
1428
- width: 20px;
1586
+ .player-poster.clickable {
1587
+ cursor: pointer;
1429
1588
  }
1430
- .multicamera[data-multicamera] button {
1431
- background-color: transparent;
1432
- color: #fff;
1433
- font-family: Roboto, "Open Sans", Arial, sans-serif;
1434
- -webkit-font-smoothing: antialiased;
1435
- border: none;
1436
- font-size: 14px;
1437
- padding: 0;
1589
+ .player-poster:hover .play-wrapper {
1590
+ opacity: 1;
1438
1591
  }
1439
- .multicamera[data-multicamera] button svg {
1440
- height: 20px;
1441
- position: relative;
1442
- margin-top: 6px;
1592
+ .player-poster .play-wrapper {
1593
+ width: 100%;
1594
+ height: 25%;
1595
+ margin: 0 auto;
1596
+ opacity: 0.75;
1597
+ transition: opacity 0.1s ease;
1443
1598
  }
1444
- .multicamera[data-multicamera] button:hover {
1445
- color: #c9c9c9;
1599
+ .player-poster .play-wrapper svg {
1600
+ height: 100%;
1601
+ display: inline;
1446
1602
  }
1447
- .multicamera[data-multicamera] button.changing {
1448
- animation: pulse 0.5s infinite alternate;
1603
+ .player-poster .play-wrapper svg path {
1604
+ fill: #fff;
1605
+ }.quality-levels li.disabled {
1606
+ opacity: 0.5;
1607
+ pointer-events: none;
1449
1608
  }
1450
- .multicamera[data-multicamera] button span.quality-arrow {
1451
- width: 9px;
1452
- height: 6px;
1453
- margin-top: 11px;
1454
- margin-left: 5px;
1609
+ .quality-levels li.current {
1610
+ background-color: #000;
1611
+ }.share_plugin[data-share] {
1612
+ pointer-events: auto;
1613
+ z-index: 5;
1614
+ font-family: Roboto, "Open Sans", Arial, sans-serif !important;
1455
1615
  }
1456
- .multicamera[data-multicamera] > ul {
1457
- padding: 6px 0;
1458
- right: -24px;
1459
- width: 245px;
1460
- list-style-type: none;
1461
- position: absolute;
1462
- bottom: 48px;
1463
- border-radius: 4px;
1464
- display: none;
1465
- background-color: rgba(74, 74, 74, 0.9);
1616
+ .share_plugin[data-share].share-hide .share-button-container {
1617
+ right: -50px;
1466
1618
  }
1467
- .multicamera[data-multicamera] > ul::after {
1468
- content: "";
1469
- position: absolute;
1470
- top: 100%;
1471
- left: 85%;
1472
- margin-left: -10px;
1473
- width: 0;
1474
- height: 0;
1475
- border-top: 10px solid rgba(74, 74, 74, 0.9);
1476
- border-right: 10px solid transparent;
1477
- border-left: 10px solid transparent;
1478
- }
1479
- .multicamera[data-multicamera] li {
1480
- font-size: 10px;
1481
- cursor: pointer;
1482
- }
1483
- .multicamera[data-multicamera] li .multicamera-item {
1484
- display: flex;
1485
- padding: 10px 0;
1486
- justify-content: center;
1487
- position: relative;
1488
- }
1489
- .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false] .multicamera-screenshot {
1490
- opacity: 0.5;
1491
- }
1492
- .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false] .multicamera-text {
1493
- opacity: 0.5;
1494
- }
1495
- .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false]:hover {
1496
- background-color: rgba(0, 0, 0, 0);
1497
- }
1498
- .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false] {
1499
- pointer-events: none;
1500
- }
1501
- .multicamera[data-multicamera] li .multicamera-item:hover, .multicamera[data-multicamera] li .multicamera-item.multicamera-active {
1502
- background-color: rgba(0, 0, 0, 0.3);
1503
- }
1504
- .multicamera[data-multicamera] li .multicamera-item .multicamera-screenshot {
1505
- width: 80px;
1506
- height: 60px;
1507
- }
1508
- .multicamera[data-multicamera] li .multicamera-item .multicamera-screenshot img {
1509
- width: 80px;
1510
- height: 60px;
1511
- }
1512
- .multicamera[data-multicamera] li .multicamera-item .multicamera-text {
1513
- width: 120px;
1514
- text-align: left;
1515
- margin-left: 15px;
1516
- }
1517
- .multicamera[data-multicamera] li .multicamera-item .multicamera-text .multicamera-title,
1518
- .multicamera[data-multicamera] li .multicamera-item .multicamera-text .multicamera-description {
1519
- width: 120px;
1520
- height: 20px;
1521
- font-family: Roboto, "Open Sans", Arial, sans-serif;
1522
- font-size: 14px;
1523
- font-weight: normal;
1524
- font-style: normal;
1525
- font-stretch: normal;
1526
- line-height: 1.43;
1527
- letter-spacing: normal;
1528
- text-align: left;
1529
- color: #fff;
1530
- text-overflow: ellipsis;
1531
- overflow: hidden;
1532
- }
1533
- .multicamera[data-multicamera] li .multicamera-item .multicamera-text .multicamera-description {
1534
- opacity: 0.6;
1535
- }
1536
- .multicamera[data-multicamera] li a {
1537
- color: #444;
1538
- padding: 2px 10px;
1539
- display: block;
1540
- text-decoration: none;
1541
- }
1542
- .multicamera[data-multicamera] li a:hover {
1543
- background-color: #555;
1544
- color: white;
1545
- }
1546
- .multicamera[data-multicamera] li a:hover a {
1547
- color: white;
1548
- text-decoration: none;
1549
- }
1550
- .multicamera[data-multicamera] li.current a {
1551
- color: #f00;
1552
- }.media-control-skin-1 .media-control-item.media-control-pip {
1553
- order: 95;
1554
- }
1555
- .media-control-skin-1 .media-control-item.media-control-pip button {
1556
- height: 20px;
1557
- }
1558
- .media-control-skin-1 .media-control-item.media-control-pip button svg {
1559
- height: 20px;
1560
- }.player-poster {
1561
- display: flex;
1562
- justify-content: center;
1563
- align-items: center;
1564
- position: absolute;
1565
- height: 100%;
1566
- width: 100%;
1567
- z-index: 998;
1568
- top: 0;
1569
- left: 0;
1570
- background-color: #000;
1571
- background-size: cover;
1572
- background-repeat: no-repeat;
1573
- background-position: 50% 50%;
1574
- }
1575
- .player-poster.clickable {
1576
- cursor: pointer;
1577
- }
1578
- .player-poster:hover .play-wrapper {
1579
- opacity: 1;
1580
- }
1581
- .player-poster .play-wrapper {
1582
- width: 100%;
1583
- height: 25%;
1584
- margin: 0 auto;
1585
- opacity: 0.75;
1586
- transition: opacity 0.1s ease;
1587
- }
1588
- .player-poster .play-wrapper svg {
1589
- height: 100%;
1590
- display: inline;
1591
- }
1592
- .player-poster .play-wrapper svg path {
1593
- fill: #fff;
1594
- }.quality-levels li.disabled {
1595
- opacity: 0.5;
1596
- pointer-events: none;
1597
- }
1598
- .quality-levels li.current {
1599
- background-color: #000;
1600
- }.seek-time {
1601
- position: absolute;
1602
- white-space: nowrap;
1603
- height: 20px;
1604
- line-height: 20px;
1605
- font-size: 0;
1606
- left: -100%;
1607
- bottom: 55px;
1608
- background-color: rgba(2, 2, 2, 0.5);
1609
- z-index: 9999;
1610
- transition: opacity 0.1s ease;
1611
- }
1612
- .seek-time.hidden {
1613
- opacity: 0;
1614
- }
1615
- .seek-time .seek-time__pos {
1616
- display: inline-block;
1617
- color: white;
1618
- font-size: 10px;
1619
- padding-left: 7px;
1620
- padding-right: 7px;
1621
- vertical-align: top;
1622
- }
1623
- .seek-time .seek-time__duration {
1624
- display: inline-block;
1625
- color: rgba(255, 255, 255, 0.5);
1626
- font-size: 10px;
1627
- padding-right: 7px;
1628
- vertical-align: top;
1629
- }
1630
- .seek-time .seek-time__duration::before {
1631
- content: "|";
1632
- margin-right: 7px;
1633
- }.share_plugin[data-share] {
1634
- pointer-events: auto;
1635
- z-index: 5;
1636
- font-family: Roboto, "Open Sans", Arial, sans-serif !important;
1637
- }
1638
- .share_plugin[data-share].share-hide .share-button-container {
1639
- right: -50px;
1640
- }
1641
- .share_plugin[data-share] .share-button-container {
1642
- cursor: pointer;
1643
- width: 36px;
1644
- height: 36px;
1645
- background-color: rgba(74, 74, 74, 0.6);
1646
- border-radius: 4px;
1619
+ .share_plugin[data-share] .share-button-container {
1620
+ cursor: pointer;
1621
+ width: 36px;
1622
+ height: 36px;
1623
+ background-color: rgba(74, 74, 74, 0.6);
1624
+ border-radius: 4px;
1647
1625
  position: absolute;
1648
1626
  right: 10px;
1649
1627
  top: 10px;
@@ -1713,44 +1691,6 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
1713
1691
  display: inline-block;
1714
1692
  margin-right: 5px;
1715
1693
  cursor: pointer;
1716
- }.spinner-three-bounce[data-spinner] {
1717
- position: absolute;
1718
- width: 70px;
1719
- text-align: center;
1720
- z-index: 999;
1721
- left: 0;
1722
- right: 0;
1723
- margin: 0 auto;
1724
- margin-left: auto;
1725
- margin-right: auto;
1726
- /* center vertically */
1727
- top: 50%;
1728
- transform: translateY(-50%);
1729
- }
1730
- .spinner-three-bounce[data-spinner] > div {
1731
- width: 18px;
1732
- height: 18px;
1733
- background-color: #FFF;
1734
- border-radius: 100%;
1735
- display: inline-block;
1736
- animation: bouncedelay 1.4s infinite ease-in-out;
1737
- /* Prevent first frame from flickering when animation starts */
1738
- animation-fill-mode: both;
1739
- }
1740
- .spinner-three-bounce[data-spinner] [data-bounce1] {
1741
- animation-delay: -0.32s;
1742
- }
1743
- .spinner-three-bounce[data-spinner] [data-bounce2] {
1744
- animation-delay: -0.16s;
1745
- }
1746
-
1747
- @keyframes bouncedelay {
1748
- 0%, 80%, 100% {
1749
- transform: scale(0);
1750
- }
1751
- 40% {
1752
- transform: scale(1);
1753
- }
1754
1694
  }.container-with-poster-clickable .mc-skip-time {
1755
1695
  height: 0;
1756
1696
  }
@@ -1772,6 +1712,67 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
1772
1712
  .mc-skip-time .skip-container .skip-item {
1773
1713
  flex: 1 0 0px;
1774
1714
  height: 100%;
1715
+ }.media-control-skin-1 .media-control-cc button.media-control-button {
1716
+ display: flex;
1717
+ justify-content: center;
1718
+ padding: 0;
1719
+ align-items: center;
1720
+ vertical-align: top;
1721
+ }
1722
+ .media-control-skin-1 .media-control-cc button.media-control-button:hover {
1723
+ color: white;
1724
+ }
1725
+ .media-control-skin-1 .media-control-cc ul li {
1726
+ text-align: center;
1727
+ }
1728
+ .media-control-skin-1 .media-control-cc ul li a {
1729
+ height: 30px;
1730
+ padding: 5px 10px;
1731
+ color: #fffffe;
1732
+ }
1733
+ .media-control-skin-1 .media-control-cc ul li a:hover {
1734
+ background-color: rgba(0, 0, 0, 0.4);
1735
+ }
1736
+ .media-control-skin-1 .media-control-cc ul li.current a {
1737
+ background-color: rgba(0, 0, 0, 0.4);
1738
+ }
1739
+ .media-control-skin-1 .media-control-cc ul li:first-child a {
1740
+ border-bottom-left-radius: 4px;
1741
+ border-bottom-right-radius: 4px;
1742
+ }
1743
+ .media-control-skin-1 .media-control-cc ul li:last-child a {
1744
+ border-top-left-radius: 4px;
1745
+ border-top-right-radius: 4px;
1746
+ }
1747
+ .media-control-skin-1 .media-control-cc {
1748
+ position: relative;
1749
+ order: 85;
1750
+ }
1751
+
1752
+ ::cue {
1753
+ visibility: hidden !important;
1754
+ font-size: 0 !important;
1755
+ }
1756
+
1757
+ .ios-fullscreen::cue {
1758
+ visibility: visible !important;
1759
+ font-size: 1em !important;
1760
+ }
1761
+
1762
+ .container .gplayer-cc-line {
1763
+ position: absolute;
1764
+ bottom: calc(var(--bottom-panel) + 5px);
1765
+ width: 100%;
1766
+ transition: transform 0.3s ease-out;
1767
+ }
1768
+ .container .gplayer-cc-line.media-control-cc-pulled {
1769
+ transform: translateY(var(--bottom-panel));
1770
+ }
1771
+ .container .gplayer-cc-line p {
1772
+ width: auto;
1773
+ background-color: rgba(0, 0, 0, 0.4);
1774
+ color: white;
1775
+ display: inline-block;
1775
1776
  }.scrub-thumbnails {
1776
1777
  position: absolute;
1777
1778
  bottom: 52px;
@@ -1835,67 +1836,44 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
1835
1836
  }
1836
1837
  .scrub-thumbnails .backdrop .carousel img {
1837
1838
  width: auto;
1838
- }.media-control-skin-1 .media-control-cc button.media-control-button {
1839
- display: flex;
1840
- justify-content: center;
1841
- padding: 0;
1842
- align-items: center;
1843
- vertical-align: top;
1844
- }
1845
- .media-control-skin-1 .media-control-cc button.media-control-button:hover {
1846
- color: white;
1847
- }
1848
- .media-control-skin-1 .media-control-cc ul li {
1839
+ }.spinner-three-bounce[data-spinner] {
1840
+ position: absolute;
1841
+ width: 70px;
1849
1842
  text-align: center;
1843
+ z-index: 999;
1844
+ left: 0;
1845
+ right: 0;
1846
+ margin: 0 auto;
1847
+ margin-left: auto;
1848
+ margin-right: auto;
1849
+ /* center vertically */
1850
+ top: 50%;
1851
+ transform: translateY(-50%);
1850
1852
  }
1851
- .media-control-skin-1 .media-control-cc ul li a {
1852
- height: 30px;
1853
- padding: 5px 10px;
1854
- color: #fffffe;
1855
- }
1856
- .media-control-skin-1 .media-control-cc ul li a:hover {
1857
- background-color: rgba(0, 0, 0, 0.4);
1858
- }
1859
- .media-control-skin-1 .media-control-cc ul li.current a {
1860
- background-color: rgba(0, 0, 0, 0.4);
1861
- }
1862
- .media-control-skin-1 .media-control-cc ul li:first-child a {
1863
- border-bottom-left-radius: 4px;
1864
- border-bottom-right-radius: 4px;
1865
- }
1866
- .media-control-skin-1 .media-control-cc ul li:last-child a {
1867
- border-top-left-radius: 4px;
1868
- border-top-right-radius: 4px;
1869
- }
1870
- .media-control-skin-1 .media-control-cc {
1871
- position: relative;
1872
- order: 85;
1853
+ .spinner-three-bounce[data-spinner] > div {
1854
+ width: 18px;
1855
+ height: 18px;
1856
+ background-color: #FFF;
1857
+ border-radius: 100%;
1858
+ display: inline-block;
1859
+ animation: bouncedelay 1.4s infinite ease-in-out;
1860
+ /* Prevent first frame from flickering when animation starts */
1861
+ animation-fill-mode: both;
1873
1862
  }
1874
-
1875
- ::cue {
1876
- visibility: hidden !important;
1877
- font-size: 0 !important;
1863
+ .spinner-three-bounce[data-spinner] [data-bounce1] {
1864
+ animation-delay: -0.32s;
1878
1865
  }
1879
-
1880
- .ios-fullscreen::cue {
1881
- visibility: visible !important;
1882
- font-size: 1em !important;
1866
+ .spinner-three-bounce[data-spinner] [data-bounce2] {
1867
+ animation-delay: -0.16s;
1883
1868
  }
1884
1869
 
1885
- .container .gplayer-cc-line {
1886
- position: absolute;
1887
- bottom: calc(var(--bottom-panel) + 5px);
1888
- width: 100%;
1889
- transition: transform 0.3s ease-out;
1890
- }
1891
- .container .gplayer-cc-line.media-control-cc-pulled {
1892
- transform: translateY(var(--bottom-panel));
1893
- }
1894
- .container .gplayer-cc-line p {
1895
- width: auto;
1896
- background-color: rgba(0, 0, 0, 0.4);
1897
- color: white;
1898
- display: inline-block;
1870
+ @keyframes bouncedelay {
1871
+ 0%, 80%, 100% {
1872
+ transform: scale(0);
1873
+ }
1874
+ 40% {
1875
+ transform: scale(1);
1876
+ }
1899
1877
  }.player-logo[data-logo] {
1900
1878
  position: absolute;
1901
1879
  z-index: 2;