@gcorevideo/player 2.28.22 → 2.28.23
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/dist/core.js +1 -1
- package/dist/index.css +201 -201
- package/dist/index.embed.js +9 -1
- package/dist/index.js +4 -2
- package/lib/plugins/thumbnails/Thumbnails.js +4 -2
- package/package.json +1 -1
- package/src/plugins/thumbnails/Thumbnails.ts +4 -2
- package/src/plugins/thumbnails/__tests__/Thumbnails.test.ts +10 -0
- package/src/plugins/thumbnails/__tests__/__snapshots__/Thumbnails.test.ts.snap +9 -0
- package/tsconfig.tsbuildinfo +1 -1
package/dist/core.js
CHANGED
|
@@ -51319,7 +51319,7 @@ class Player {
|
|
|
51319
51319
|
}
|
|
51320
51320
|
}
|
|
51321
51321
|
|
|
51322
|
-
var version$1 = "2.28.
|
|
51322
|
+
var version$1 = "2.28.23";
|
|
51323
51323
|
|
|
51324
51324
|
var packages = {
|
|
51325
51325
|
"node_modules/@clappr/core": {
|
package/dist/index.css
CHANGED
|
@@ -702,40 +702,6 @@
|
|
|
702
702
|
}
|
|
703
703
|
.gplayer-mc-clips .gplayer-mc-clips-text.compact {
|
|
704
704
|
max-width: 100px;
|
|
705
|
-
}div.player-error-screen, [data-player] div.player-error-screen {
|
|
706
|
-
color: #CCCACA;
|
|
707
|
-
position: absolute;
|
|
708
|
-
top: 0;
|
|
709
|
-
height: 100%;
|
|
710
|
-
width: 100%;
|
|
711
|
-
background-color: rgba(0, 0, 0, 0.7);
|
|
712
|
-
z-index: 2000;
|
|
713
|
-
display: flex;
|
|
714
|
-
flex-direction: column;
|
|
715
|
-
justify-content: center;
|
|
716
|
-
}
|
|
717
|
-
div.player-error-screen__content[data-error-screen], [data-player] div.player-error-screen__content[data-error-screen] {
|
|
718
|
-
font-size: 14px;
|
|
719
|
-
color: #CCCACA;
|
|
720
|
-
margin-top: 45px;
|
|
721
|
-
}
|
|
722
|
-
div.player-error-screen__title[data-error-screen], [data-player] div.player-error-screen__title[data-error-screen] {
|
|
723
|
-
font-weight: bold;
|
|
724
|
-
line-height: 30px;
|
|
725
|
-
font-size: 18px;
|
|
726
|
-
}
|
|
727
|
-
div.player-error-screen__message[data-error-screen], [data-player] div.player-error-screen__message[data-error-screen] {
|
|
728
|
-
width: 90%;
|
|
729
|
-
margin: 0 auto;
|
|
730
|
-
}
|
|
731
|
-
div.player-error-screen__code[data-error-screen], [data-player] div.player-error-screen__code[data-error-screen] {
|
|
732
|
-
font-size: 13px;
|
|
733
|
-
margin-top: 15px;
|
|
734
|
-
}
|
|
735
|
-
div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
|
|
736
|
-
cursor: pointer;
|
|
737
|
-
width: 30px;
|
|
738
|
-
margin: 15px auto 0;
|
|
739
705
|
}.dvr-controls {
|
|
740
706
|
--disabled-opacity: 0.3;
|
|
741
707
|
--circle-radius: 5px;
|
|
@@ -793,149 +759,40 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
|
|
|
793
759
|
.dvr-controls .live-button:hover {
|
|
794
760
|
opacity: 1;
|
|
795
761
|
text-shadow: rgba(255, 255, 255, 0.75) 0 0 5px;
|
|
796
|
-
}
|
|
797
|
-
:
|
|
798
|
-
:visited {
|
|
799
|
-
outline: none !important;
|
|
800
|
-
}
|
|
801
|
-
|
|
802
|
-
.multicamera[data-multicamera] {
|
|
803
|
-
float: right;
|
|
804
|
-
margin-top: 4px;
|
|
805
|
-
position: relative;
|
|
806
|
-
margin-right: 20px;
|
|
807
|
-
width: 20px;
|
|
808
|
-
}
|
|
809
|
-
.multicamera[data-multicamera] button {
|
|
810
|
-
background-color: transparent;
|
|
811
|
-
color: #fff;
|
|
812
|
-
font-family: Roboto, "Open Sans", Arial, sans-serif;
|
|
813
|
-
-webkit-font-smoothing: antialiased;
|
|
814
|
-
border: none;
|
|
815
|
-
font-size: 14px;
|
|
816
|
-
padding: 0;
|
|
817
|
-
}
|
|
818
|
-
.multicamera[data-multicamera] button svg {
|
|
819
|
-
height: 20px;
|
|
820
|
-
position: relative;
|
|
821
|
-
margin-top: 6px;
|
|
822
|
-
}
|
|
823
|
-
.multicamera[data-multicamera] button:hover {
|
|
824
|
-
color: #c9c9c9;
|
|
825
|
-
}
|
|
826
|
-
.multicamera[data-multicamera] button.changing {
|
|
827
|
-
animation: pulse 0.5s infinite alternate;
|
|
828
|
-
}
|
|
829
|
-
.multicamera[data-multicamera] button span.quality-arrow {
|
|
830
|
-
width: 9px;
|
|
831
|
-
height: 6px;
|
|
832
|
-
margin-top: 11px;
|
|
833
|
-
margin-left: 5px;
|
|
834
|
-
}
|
|
835
|
-
.multicamera[data-multicamera] > ul {
|
|
836
|
-
padding: 6px 0;
|
|
837
|
-
right: -24px;
|
|
838
|
-
width: 245px;
|
|
839
|
-
list-style-type: none;
|
|
840
|
-
position: absolute;
|
|
841
|
-
bottom: 48px;
|
|
842
|
-
border-radius: 4px;
|
|
843
|
-
display: none;
|
|
844
|
-
background-color: rgba(74, 74, 74, 0.9);
|
|
845
|
-
}
|
|
846
|
-
.multicamera[data-multicamera] > ul::after {
|
|
847
|
-
content: "";
|
|
762
|
+
}div.player-error-screen, [data-player] div.player-error-screen {
|
|
763
|
+
color: #CCCACA;
|
|
848
764
|
position: absolute;
|
|
849
|
-
top:
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
border-top: 10px solid rgba(74, 74, 74, 0.9);
|
|
855
|
-
border-right: 10px solid transparent;
|
|
856
|
-
border-left: 10px solid transparent;
|
|
857
|
-
}
|
|
858
|
-
.multicamera[data-multicamera] li {
|
|
859
|
-
font-size: 10px;
|
|
860
|
-
cursor: pointer;
|
|
861
|
-
}
|
|
862
|
-
.multicamera[data-multicamera] li .multicamera-item {
|
|
765
|
+
top: 0;
|
|
766
|
+
height: 100%;
|
|
767
|
+
width: 100%;
|
|
768
|
+
background-color: rgba(0, 0, 0, 0.7);
|
|
769
|
+
z-index: 2000;
|
|
863
770
|
display: flex;
|
|
864
|
-
|
|
771
|
+
flex-direction: column;
|
|
865
772
|
justify-content: center;
|
|
866
|
-
position: relative;
|
|
867
|
-
}
|
|
868
|
-
.multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false] .multicamera-screenshot {
|
|
869
|
-
opacity: 0.5;
|
|
870
|
-
}
|
|
871
|
-
.multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false] .multicamera-text {
|
|
872
|
-
opacity: 0.5;
|
|
873
|
-
}
|
|
874
|
-
.multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false]:hover {
|
|
875
|
-
background-color: rgba(0, 0, 0, 0);
|
|
876
|
-
}
|
|
877
|
-
.multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false] {
|
|
878
|
-
pointer-events: none;
|
|
879
|
-
}
|
|
880
|
-
.multicamera[data-multicamera] li .multicamera-item:hover, .multicamera[data-multicamera] li .multicamera-item.multicamera-active {
|
|
881
|
-
background-color: rgba(0, 0, 0, 0.3);
|
|
882
|
-
}
|
|
883
|
-
.multicamera[data-multicamera] li .multicamera-item .multicamera-screenshot {
|
|
884
|
-
width: 80px;
|
|
885
|
-
height: 60px;
|
|
886
|
-
}
|
|
887
|
-
.multicamera[data-multicamera] li .multicamera-item .multicamera-screenshot img {
|
|
888
|
-
width: 80px;
|
|
889
|
-
height: 60px;
|
|
890
773
|
}
|
|
891
|
-
.
|
|
892
|
-
width: 120px;
|
|
893
|
-
text-align: left;
|
|
894
|
-
margin-left: 15px;
|
|
895
|
-
}
|
|
896
|
-
.multicamera[data-multicamera] li .multicamera-item .multicamera-text .multicamera-title,
|
|
897
|
-
.multicamera[data-multicamera] li .multicamera-item .multicamera-text .multicamera-description {
|
|
898
|
-
width: 120px;
|
|
899
|
-
height: 20px;
|
|
900
|
-
font-family: Roboto, "Open Sans", Arial, sans-serif;
|
|
774
|
+
div.player-error-screen__content[data-error-screen], [data-player] div.player-error-screen__content[data-error-screen] {
|
|
901
775
|
font-size: 14px;
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
font-stretch: normal;
|
|
905
|
-
line-height: 1.43;
|
|
906
|
-
letter-spacing: normal;
|
|
907
|
-
text-align: left;
|
|
908
|
-
color: #fff;
|
|
909
|
-
text-overflow: ellipsis;
|
|
910
|
-
overflow: hidden;
|
|
911
|
-
}
|
|
912
|
-
.multicamera[data-multicamera] li .multicamera-item .multicamera-text .multicamera-description {
|
|
913
|
-
opacity: 0.6;
|
|
914
|
-
}
|
|
915
|
-
.multicamera[data-multicamera] li a {
|
|
916
|
-
color: #444;
|
|
917
|
-
padding: 2px 10px;
|
|
918
|
-
display: block;
|
|
919
|
-
text-decoration: none;
|
|
920
|
-
}
|
|
921
|
-
.multicamera[data-multicamera] li a:hover {
|
|
922
|
-
background-color: #555;
|
|
923
|
-
color: white;
|
|
776
|
+
color: #CCCACA;
|
|
777
|
+
margin-top: 45px;
|
|
924
778
|
}
|
|
925
|
-
.
|
|
926
|
-
|
|
927
|
-
|
|
779
|
+
div.player-error-screen__title[data-error-screen], [data-player] div.player-error-screen__title[data-error-screen] {
|
|
780
|
+
font-weight: bold;
|
|
781
|
+
line-height: 30px;
|
|
782
|
+
font-size: 18px;
|
|
928
783
|
}
|
|
929
|
-
.
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
order: 95;
|
|
784
|
+
div.player-error-screen__message[data-error-screen], [data-player] div.player-error-screen__message[data-error-screen] {
|
|
785
|
+
width: 90%;
|
|
786
|
+
margin: 0 auto;
|
|
933
787
|
}
|
|
934
|
-
.
|
|
935
|
-
|
|
788
|
+
div.player-error-screen__code[data-error-screen], [data-player] div.player-error-screen__code[data-error-screen] {
|
|
789
|
+
font-size: 13px;
|
|
790
|
+
margin-top: 15px;
|
|
936
791
|
}
|
|
937
|
-
.
|
|
938
|
-
|
|
792
|
+
div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
|
|
793
|
+
cursor: pointer;
|
|
794
|
+
width: 30px;
|
|
795
|
+
margin: 15px auto 0;
|
|
939
796
|
}[data-player] {
|
|
940
797
|
--bottom-panel: 40px;
|
|
941
798
|
}
|
|
@@ -1557,6 +1414,149 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
|
|
|
1557
1414
|
100% {
|
|
1558
1415
|
color: #B80000;
|
|
1559
1416
|
}
|
|
1417
|
+
}*,
|
|
1418
|
+
:focus,
|
|
1419
|
+
:visited {
|
|
1420
|
+
outline: none !important;
|
|
1421
|
+
}
|
|
1422
|
+
|
|
1423
|
+
.multicamera[data-multicamera] {
|
|
1424
|
+
float: right;
|
|
1425
|
+
margin-top: 4px;
|
|
1426
|
+
position: relative;
|
|
1427
|
+
margin-right: 20px;
|
|
1428
|
+
width: 20px;
|
|
1429
|
+
}
|
|
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;
|
|
1438
|
+
}
|
|
1439
|
+
.multicamera[data-multicamera] button svg {
|
|
1440
|
+
height: 20px;
|
|
1441
|
+
position: relative;
|
|
1442
|
+
margin-top: 6px;
|
|
1443
|
+
}
|
|
1444
|
+
.multicamera[data-multicamera] button:hover {
|
|
1445
|
+
color: #c9c9c9;
|
|
1446
|
+
}
|
|
1447
|
+
.multicamera[data-multicamera] button.changing {
|
|
1448
|
+
animation: pulse 0.5s infinite alternate;
|
|
1449
|
+
}
|
|
1450
|
+
.multicamera[data-multicamera] button span.quality-arrow {
|
|
1451
|
+
width: 9px;
|
|
1452
|
+
height: 6px;
|
|
1453
|
+
margin-top: 11px;
|
|
1454
|
+
margin-left: 5px;
|
|
1455
|
+
}
|
|
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);
|
|
1466
|
+
}
|
|
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
1560
|
}.player-poster {
|
|
1561
1561
|
display: flex;
|
|
1562
1562
|
justify-content: center;
|
|
@@ -1597,39 +1597,6 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
|
|
|
1597
1597
|
}
|
|
1598
1598
|
.quality-levels li.current {
|
|
1599
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
1600
|
}.share_plugin[data-share] {
|
|
1634
1601
|
pointer-events: auto;
|
|
1635
1602
|
z-index: 5;
|
|
@@ -1734,6 +1701,39 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
|
|
|
1734
1701
|
.mc-skip-time .skip-container .skip-item {
|
|
1735
1702
|
flex: 1 0 0px;
|
|
1736
1703
|
height: 100%;
|
|
1704
|
+
}.seek-time {
|
|
1705
|
+
position: absolute;
|
|
1706
|
+
white-space: nowrap;
|
|
1707
|
+
height: 20px;
|
|
1708
|
+
line-height: 20px;
|
|
1709
|
+
font-size: 0;
|
|
1710
|
+
left: -100%;
|
|
1711
|
+
bottom: 55px;
|
|
1712
|
+
background-color: rgba(2, 2, 2, 0.5);
|
|
1713
|
+
z-index: 9999;
|
|
1714
|
+
transition: opacity 0.1s ease;
|
|
1715
|
+
}
|
|
1716
|
+
.seek-time.hidden {
|
|
1717
|
+
opacity: 0;
|
|
1718
|
+
}
|
|
1719
|
+
.seek-time .seek-time__pos {
|
|
1720
|
+
display: inline-block;
|
|
1721
|
+
color: white;
|
|
1722
|
+
font-size: 10px;
|
|
1723
|
+
padding-left: 7px;
|
|
1724
|
+
padding-right: 7px;
|
|
1725
|
+
vertical-align: top;
|
|
1726
|
+
}
|
|
1727
|
+
.seek-time .seek-time__duration {
|
|
1728
|
+
display: inline-block;
|
|
1729
|
+
color: rgba(255, 255, 255, 0.5);
|
|
1730
|
+
font-size: 10px;
|
|
1731
|
+
padding-right: 7px;
|
|
1732
|
+
vertical-align: top;
|
|
1733
|
+
}
|
|
1734
|
+
.seek-time .seek-time__duration::before {
|
|
1735
|
+
content: "|";
|
|
1736
|
+
margin-right: 7px;
|
|
1737
1737
|
}.spinner-three-bounce[data-spinner] {
|
|
1738
1738
|
position: absolute;
|
|
1739
1739
|
width: 70px;
|
package/dist/index.embed.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
* @param e
|
|
4
|
+
*/
|
|
5
|
+
function reportError(e) {
|
|
6
|
+
}
|
|
1
7
|
/**
|
|
2
8
|
* @public
|
|
3
9
|
* @param msg
|
|
@@ -61802,7 +61808,8 @@ class Thumbnails extends UICorePlugin {
|
|
|
61802
61808
|
}
|
|
61803
61809
|
}
|
|
61804
61810
|
function parseVTT(vtt) {
|
|
61805
|
-
const correctedVTT = vtt.startsWith('WEBVTT') ? vtt : 'WEBVTT\n\n' + vtt
|
|
61811
|
+
const correctedVTT = (vtt.startsWith('WEBVTT') ? vtt : 'WEBVTT\n\n' + vtt)
|
|
61812
|
+
.replace(/(\d+:\d+:\d+),(\d+)/g, '$1.$2');
|
|
61806
61813
|
const parser = new browserIndexExports.WebVTT.Parser(window);
|
|
61807
61814
|
const cues = [];
|
|
61808
61815
|
parser.oncue = (cue) => {
|
|
@@ -61813,6 +61820,7 @@ function parseVTT(vtt) {
|
|
|
61813
61820
|
text: cue.text
|
|
61814
61821
|
});
|
|
61815
61822
|
};
|
|
61823
|
+
parser.onparsingerror = reportError;
|
|
61816
61824
|
// TextEncoder is available in all modern browsers and Node >=v11
|
|
61817
61825
|
const uint8Array = typeof TextEncoder !== 'undefined'
|
|
61818
61826
|
? new TextEncoder().encode(correctedVTT)
|
package/dist/index.js
CHANGED
|
@@ -51411,7 +51411,7 @@ class Player {
|
|
|
51411
51411
|
}
|
|
51412
51412
|
}
|
|
51413
51413
|
|
|
51414
|
-
var version$1 = "2.28.
|
|
51414
|
+
var version$1 = "2.28.23";
|
|
51415
51415
|
|
|
51416
51416
|
var packages = {
|
|
51417
51417
|
"node_modules/@clappr/core": {
|
|
@@ -63338,7 +63338,8 @@ class Thumbnails extends UICorePlugin {
|
|
|
63338
63338
|
}
|
|
63339
63339
|
}
|
|
63340
63340
|
function parseVTT(vtt) {
|
|
63341
|
-
const correctedVTT = vtt.startsWith('WEBVTT') ? vtt : 'WEBVTT\n\n' + vtt
|
|
63341
|
+
const correctedVTT = (vtt.startsWith('WEBVTT') ? vtt : 'WEBVTT\n\n' + vtt)
|
|
63342
|
+
.replace(/(\d+:\d+:\d+),(\d+)/g, '$1.$2');
|
|
63342
63343
|
const parser = new browserIndexExports.WebVTT.Parser(window);
|
|
63343
63344
|
const cues = [];
|
|
63344
63345
|
parser.oncue = (cue) => {
|
|
@@ -63349,6 +63350,7 @@ function parseVTT(vtt) {
|
|
|
63349
63350
|
text: cue.text
|
|
63350
63351
|
});
|
|
63351
63352
|
};
|
|
63353
|
+
parser.onparsingerror = reportError;
|
|
63352
63354
|
// TextEncoder is available in all modern browsers and Node >=v11
|
|
63353
63355
|
const uint8Array = typeof TextEncoder !== 'undefined'
|
|
63354
63356
|
? new TextEncoder().encode(correctedVTT)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { UICorePlugin, Events, template, $, } from '@clappr/core';
|
|
2
|
-
import { trace } from '@gcorevideo/utils';
|
|
2
|
+
import { reportError, trace } from '@gcorevideo/utils';
|
|
3
3
|
import { WebVTT } from 'videojs-vtt.js';
|
|
4
4
|
import assert from 'assert';
|
|
5
5
|
import { CLAPPR_VERSION } from '../../build.js';
|
|
@@ -359,7 +359,8 @@ export class Thumbnails extends UICorePlugin {
|
|
|
359
359
|
}
|
|
360
360
|
}
|
|
361
361
|
function parseVTT(vtt) {
|
|
362
|
-
const correctedVTT = vtt.startsWith('WEBVTT') ? vtt : 'WEBVTT\n\n' + vtt
|
|
362
|
+
const correctedVTT = (vtt.startsWith('WEBVTT') ? vtt : 'WEBVTT\n\n' + vtt)
|
|
363
|
+
.replace(/(\d+:\d+:\d+),(\d+)/g, '$1.$2');
|
|
363
364
|
const parser = new WebVTT.Parser(window);
|
|
364
365
|
const cues = [];
|
|
365
366
|
parser.oncue = (cue) => {
|
|
@@ -370,6 +371,7 @@ function parseVTT(vtt) {
|
|
|
370
371
|
text: cue.text
|
|
371
372
|
});
|
|
372
373
|
};
|
|
374
|
+
parser.onparsingerror = reportError;
|
|
373
375
|
// TextEncoder is available in all modern browsers and Node >=v11
|
|
374
376
|
const uint8Array = typeof TextEncoder !== 'undefined'
|
|
375
377
|
? new TextEncoder().encode(correctedVTT)
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
Container,
|
|
7
7
|
Core,
|
|
8
8
|
} from '@clappr/core'
|
|
9
|
-
import { trace } from '@gcorevideo/utils'
|
|
9
|
+
import { reportError, trace } from '@gcorevideo/utils'
|
|
10
10
|
import { WebVTT } from 'videojs-vtt.js'
|
|
11
11
|
import assert from 'assert'
|
|
12
12
|
|
|
@@ -531,7 +531,8 @@ type ParsedVTT = {
|
|
|
531
531
|
|
|
532
532
|
|
|
533
533
|
function parseVTT(vtt: string): ParsedVTT[] {
|
|
534
|
-
const correctedVTT = vtt.startsWith('WEBVTT') ? vtt : 'WEBVTT\n\n' + vtt
|
|
534
|
+
const correctedVTT = (vtt.startsWith('WEBVTT') ? vtt : 'WEBVTT\n\n' + vtt)
|
|
535
|
+
.replace(/(\d+:\d+:\d+),(\d+)/g, '$1.$2');
|
|
535
536
|
const parser = new WebVTT.Parser(window);
|
|
536
537
|
const cues: ParsedVTT[] = [];
|
|
537
538
|
(parser as any).oncue = (cue: any) => {
|
|
@@ -542,6 +543,7 @@ function parseVTT(vtt: string): ParsedVTT[] {
|
|
|
542
543
|
text: cue.text
|
|
543
544
|
});
|
|
544
545
|
};
|
|
546
|
+
(parser as any).onparsingerror = reportError
|
|
545
547
|
|
|
546
548
|
// TextEncoder is available in all modern browsers and Node >=v11
|
|
547
549
|
const uint8Array = typeof TextEncoder !== 'undefined'
|
|
@@ -72,6 +72,15 @@ sprite.png#xywh=0,0,100,100
|
|
|
72
72
|
sprite.png#xywh=100,0,100,100
|
|
73
73
|
`
|
|
74
74
|
|
|
75
|
+
const anomalousTimestampsVTT = `WEBVTT
|
|
76
|
+
|
|
77
|
+
00:00:00,000 --> 00:00:01,000 align:start size:100%
|
|
78
|
+
sprite.png#xywh=0,0,100,100
|
|
79
|
+
|
|
80
|
+
00:00:01,000 --> 00:00:02,000 align:center size:100%
|
|
81
|
+
sprite.png#xywh=100,0,100,100
|
|
82
|
+
`
|
|
83
|
+
|
|
75
84
|
describe('Thumbnails', () => {
|
|
76
85
|
let core: any
|
|
77
86
|
let mediaControl: any
|
|
@@ -82,6 +91,7 @@ describe('Thumbnails', () => {
|
|
|
82
91
|
['VTT with a WebVTT header', headerfulVTT],
|
|
83
92
|
['VTT with NOTE and STYLE blocks', blockfulVTT],
|
|
84
93
|
['VTT where cues have settings', richcueVTT],
|
|
94
|
+
['VTT with anomalous timestamps', anomalousTimestampsVTT],
|
|
85
95
|
])('%s', (name, vtt) => {
|
|
86
96
|
beforeEach(() => {
|
|
87
97
|
core = createMockCore({
|
|
@@ -36,6 +36,15 @@ exports[`Thumbnails > VTT with a WebVTT header > loading > should render 1`] = `
|
|
|
36
36
|
"
|
|
37
37
|
`;
|
|
38
38
|
|
|
39
|
+
exports[`Thumbnails > VTT with anomalous timestamps > loading > should render 1`] = `
|
|
40
|
+
"<div class="thumbnails-text" id="thumbnails-text"></div>
|
|
41
|
+
<div class="backdrop" id="thumbnails-backdrop" style="height: 100px;">
|
|
42
|
+
<div class="carousel" id="thumbnails-carousel"><div class="thumbnail-container" style="width: 100px; height: 100px; background-image: url("https://example.com/sprite.png"); background-size: 600px 900px; background-position: 0px 0px;"></div><div class="thumbnail-container" style="width: 100px; height: 100px; background-image: url("https://example.com/sprite.png"); background-size: 600px 900px; background-position: -100px 0px;"></div></div>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="spotlight" id="thumbnails-spotlight" style="height: 100px;"></div>
|
|
45
|
+
"
|
|
46
|
+
`;
|
|
47
|
+
|
|
39
48
|
exports[`Thumbnails > baseline VTT > loading > should render 1`] = `
|
|
40
49
|
"<div class="thumbnails-text" id="thumbnails-text"></div>
|
|
41
50
|
<div class="backdrop" id="thumbnails-backdrop" style="height: 100px;">
|