unified-video-framework 1.4.212 → 1.4.214
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": "unified-video-framework",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.214",
|
|
4
4
|
"description": "Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more",
|
|
5
5
|
"main": "packages/core/dist/index.js",
|
|
6
6
|
"types": "packages/core/dist/index.d.ts",
|
|
@@ -110,6 +110,7 @@ export declare class WebPlayer extends BasePlayer {
|
|
|
110
110
|
play(): Promise<void>;
|
|
111
111
|
pause(): void;
|
|
112
112
|
requestPause(): void;
|
|
113
|
+
private safeSetCurrentTime;
|
|
113
114
|
seek(time: number): void;
|
|
114
115
|
setVolume(level: number): void;
|
|
115
116
|
mute(): void;
|
|
@@ -164,7 +165,7 @@ export declare class WebPlayer extends BasePlayer {
|
|
|
164
165
|
private lockOrientationLandscape;
|
|
165
166
|
private unlockOrientation;
|
|
166
167
|
private handleVolumeChange;
|
|
167
|
-
private
|
|
168
|
+
private seekToPosition;
|
|
168
169
|
private formatTime;
|
|
169
170
|
private updateTimeDisplay;
|
|
170
171
|
private showControls;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1022,26 +1022,57 @@ export class WebPlayer extends BasePlayer {
|
|
|
1022
1022
|
catch (_) { }
|
|
1023
1023
|
}
|
|
1024
1024
|
}
|
|
1025
|
+
safeSetCurrentTime(time) {
|
|
1026
|
+
if (!this.video) {
|
|
1027
|
+
this.debugWarn('Cannot set currentTime: video element not available');
|
|
1028
|
+
return false;
|
|
1029
|
+
}
|
|
1030
|
+
if (!isFinite(time) || isNaN(time)) {
|
|
1031
|
+
this.debugWarn('Attempted to set invalid currentTime value:', time);
|
|
1032
|
+
return false;
|
|
1033
|
+
}
|
|
1034
|
+
const safeTime = Math.max(0, time);
|
|
1035
|
+
const duration = this.video.duration;
|
|
1036
|
+
if (isFinite(duration) && duration > 0) {
|
|
1037
|
+
const clampedTime = Math.min(safeTime, duration);
|
|
1038
|
+
try {
|
|
1039
|
+
this.video.currentTime = clampedTime;
|
|
1040
|
+
return true;
|
|
1041
|
+
}
|
|
1042
|
+
catch (error) {
|
|
1043
|
+
this.debugError('Error setting currentTime:', error);
|
|
1044
|
+
return false;
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1047
|
+
else {
|
|
1048
|
+
try {
|
|
1049
|
+
this.video.currentTime = safeTime;
|
|
1050
|
+
return true;
|
|
1051
|
+
}
|
|
1052
|
+
catch (error) {
|
|
1053
|
+
this.debugError('Error setting currentTime:', error);
|
|
1054
|
+
return false;
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1025
1058
|
seek(time) {
|
|
1026
1059
|
if (!this.video)
|
|
1027
1060
|
return;
|
|
1061
|
+
if (!isFinite(time) || isNaN(time)) {
|
|
1062
|
+
this.debugWarn('Invalid seek time:', time);
|
|
1063
|
+
return;
|
|
1064
|
+
}
|
|
1028
1065
|
const freeDuration = Number(this.config.freeDuration || 0);
|
|
1029
1066
|
if (freeDuration > 0 && !this.paymentSuccessful) {
|
|
1030
1067
|
const requestedTime = Math.max(0, Math.min(time, this.video.duration || time));
|
|
1031
1068
|
if (requestedTime >= freeDuration) {
|
|
1032
1069
|
this.debugWarn('Seek blocked - beyond free preview limit');
|
|
1033
1070
|
this.enforcePaywallSecurity();
|
|
1034
|
-
this.
|
|
1071
|
+
this.safeSetCurrentTime(freeDuration - 1);
|
|
1035
1072
|
return;
|
|
1036
1073
|
}
|
|
1037
1074
|
}
|
|
1038
|
-
|
|
1039
|
-
if (typeof d === 'number' && isFinite(d) && d > 0) {
|
|
1040
|
-
this.video.currentTime = Math.max(0, Math.min(time, d));
|
|
1041
|
-
}
|
|
1042
|
-
else {
|
|
1043
|
-
this.video.currentTime = Math.max(0, time);
|
|
1044
|
-
}
|
|
1075
|
+
this.safeSetCurrentTime(time);
|
|
1045
1076
|
}
|
|
1046
1077
|
setVolume(level) {
|
|
1047
1078
|
if (!this.video)
|
|
@@ -3879,6 +3910,139 @@ export class WebPlayer extends BasePlayer {
|
|
|
3879
3910
|
100% { opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
|
|
3880
3911
|
}
|
|
3881
3912
|
|
|
3913
|
+
/* Responsive shortcut/volume indicator for mobile and tablet */
|
|
3914
|
+
@media screen and (max-width: 767px) {
|
|
3915
|
+
.uvf-shortcut-indicator {
|
|
3916
|
+
padding: 18px 26px;
|
|
3917
|
+
font-size: 20px;
|
|
3918
|
+
max-width: calc(100vw - 48px);
|
|
3919
|
+
border-radius: 16px;
|
|
3920
|
+
backdrop-filter: blur(12px);
|
|
3921
|
+
background: rgba(0,0,0,0.85);
|
|
3922
|
+
box-shadow: 0 8px 32px rgba(0,0,0,0.4);
|
|
3923
|
+
}
|
|
3924
|
+
|
|
3925
|
+
/* Volume indicator - vertical layout on mobile */
|
|
3926
|
+
.uvf-shortcut-indicator .uvf-ki-volume {
|
|
3927
|
+
flex-direction: column;
|
|
3928
|
+
gap: 14px;
|
|
3929
|
+
align-items: center;
|
|
3930
|
+
}
|
|
3931
|
+
|
|
3932
|
+
.uvf-shortcut-indicator .uvf-ki-vol-icon svg {
|
|
3933
|
+
width: 36px;
|
|
3934
|
+
height: 36px;
|
|
3935
|
+
filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
|
|
3936
|
+
}
|
|
3937
|
+
|
|
3938
|
+
.uvf-shortcut-indicator .uvf-ki-vol-bar {
|
|
3939
|
+
width: clamp(220px, 75vw, 300px);
|
|
3940
|
+
height: 12px;
|
|
3941
|
+
border-radius: 6px;
|
|
3942
|
+
background: rgba(255,255,255,0.2);
|
|
3943
|
+
box-shadow: inset 0 1px 3px rgba(0,0,0,0.3);
|
|
3944
|
+
}
|
|
3945
|
+
|
|
3946
|
+
.uvf-shortcut-indicator .uvf-ki-vol-fill {
|
|
3947
|
+
height: 100%;
|
|
3948
|
+
border-radius: 6px;
|
|
3949
|
+
box-shadow: 0 1px 4px rgba(255,87,34,0.4);
|
|
3950
|
+
}
|
|
3951
|
+
|
|
3952
|
+
.uvf-shortcut-indicator .uvf-ki-vol-text {
|
|
3953
|
+
font-size: 28px;
|
|
3954
|
+
font-weight: 700;
|
|
3955
|
+
min-width: auto;
|
|
3956
|
+
text-align: center;
|
|
3957
|
+
width: 100%;
|
|
3958
|
+
letter-spacing: 0.5px;
|
|
3959
|
+
text-shadow: 0 2px 8px rgba(0,0,0,0.5);
|
|
3960
|
+
}
|
|
3961
|
+
|
|
3962
|
+
/* Skip indicators - optimized for mobile */
|
|
3963
|
+
.uvf-shortcut-indicator .uvf-ki-skip {
|
|
3964
|
+
width: 96px;
|
|
3965
|
+
height: 96px;
|
|
3966
|
+
}
|
|
3967
|
+
|
|
3968
|
+
.uvf-shortcut-indicator .uvf-ki-skip svg {
|
|
3969
|
+
width: 96px;
|
|
3970
|
+
height: 96px;
|
|
3971
|
+
filter: drop-shadow(0 2px 6px rgba(0,0,0,0.4));
|
|
3972
|
+
}
|
|
3973
|
+
|
|
3974
|
+
.uvf-shortcut-indicator .uvf-ki-skip .uvf-ki-skip-num {
|
|
3975
|
+
font-size: 20px;
|
|
3976
|
+
font-weight: 800;
|
|
3977
|
+
}
|
|
3978
|
+
|
|
3979
|
+
/* Icon indicators */
|
|
3980
|
+
.uvf-shortcut-indicator .uvf-ki svg {
|
|
3981
|
+
width: 60px;
|
|
3982
|
+
height: 60px;
|
|
3983
|
+
filter: drop-shadow(0 2px 6px rgba(0,0,0,0.4));
|
|
3984
|
+
}
|
|
3985
|
+
|
|
3986
|
+
.uvf-shortcut-indicator .uvf-ki-text {
|
|
3987
|
+
font-size: 17px;
|
|
3988
|
+
font-weight: 600;
|
|
3989
|
+
}
|
|
3990
|
+
}
|
|
3991
|
+
|
|
3992
|
+
/* Mobile landscape - more compact */
|
|
3993
|
+
@media screen and (max-width: 767px) and (orientation: landscape) {
|
|
3994
|
+
.uvf-shortcut-indicator {
|
|
3995
|
+
padding: 14px 20px;
|
|
3996
|
+
max-width: calc(100vw - 80px);
|
|
3997
|
+
}
|
|
3998
|
+
|
|
3999
|
+
.uvf-shortcut-indicator .uvf-ki-volume {
|
|
4000
|
+
flex-direction: row;
|
|
4001
|
+
gap: 12px;
|
|
4002
|
+
}
|
|
4003
|
+
|
|
4004
|
+
.uvf-shortcut-indicator .uvf-ki-vol-icon svg {
|
|
4005
|
+
width: 28px;
|
|
4006
|
+
height: 28px;
|
|
4007
|
+
}
|
|
4008
|
+
|
|
4009
|
+
.uvf-shortcut-indicator .uvf-ki-vol-bar {
|
|
4010
|
+
width: clamp(140px, 50vw, 200px);
|
|
4011
|
+
height: 10px;
|
|
4012
|
+
}
|
|
4013
|
+
|
|
4014
|
+
.uvf-shortcut-indicator .uvf-ki-vol-text {
|
|
4015
|
+
font-size: 18px;
|
|
4016
|
+
}
|
|
4017
|
+
}
|
|
4018
|
+
|
|
4019
|
+
@media screen and (min-width: 768px) and (max-width: 1023px) {
|
|
4020
|
+
/* Tablet optimization */
|
|
4021
|
+
.uvf-shortcut-indicator {
|
|
4022
|
+
padding: 18px 28px;
|
|
4023
|
+
border-radius: 14px;
|
|
4024
|
+
}
|
|
4025
|
+
|
|
4026
|
+
.uvf-shortcut-indicator .uvf-ki-volume {
|
|
4027
|
+
gap: 14px;
|
|
4028
|
+
}
|
|
4029
|
+
|
|
4030
|
+
.uvf-shortcut-indicator .uvf-ki-vol-bar {
|
|
4031
|
+
width: 180px;
|
|
4032
|
+
height: 10px;
|
|
4033
|
+
}
|
|
4034
|
+
|
|
4035
|
+
.uvf-shortcut-indicator .uvf-ki-vol-icon svg {
|
|
4036
|
+
width: 34px;
|
|
4037
|
+
height: 34px;
|
|
4038
|
+
}
|
|
4039
|
+
|
|
4040
|
+
.uvf-shortcut-indicator .uvf-ki-vol-text {
|
|
4041
|
+
font-size: 18px;
|
|
4042
|
+
font-weight: 600;
|
|
4043
|
+
}
|
|
4044
|
+
}
|
|
4045
|
+
|
|
3882
4046
|
/* Hide top bar when no cursor */
|
|
3883
4047
|
.uvf-player-wrapper.no-cursor .uvf-top-bar {
|
|
3884
4048
|
opacity: 0 !important;
|
|
@@ -5349,8 +5513,16 @@ export class WebPlayer extends BasePlayer {
|
|
|
5349
5513
|
this.debugLog('Center play button shown - video ended');
|
|
5350
5514
|
}
|
|
5351
5515
|
});
|
|
5352
|
-
skipBackBtn?.addEventListener('click', () =>
|
|
5353
|
-
|
|
5516
|
+
skipBackBtn?.addEventListener('click', () => {
|
|
5517
|
+
if (this.video && !isNaN(this.video.duration)) {
|
|
5518
|
+
this.seek(Math.max(0, this.video.currentTime - 10));
|
|
5519
|
+
}
|
|
5520
|
+
});
|
|
5521
|
+
skipForwardBtn?.addEventListener('click', () => {
|
|
5522
|
+
if (this.video && !isNaN(this.video.duration)) {
|
|
5523
|
+
this.seek(Math.min(this.video.duration, this.video.currentTime + 10));
|
|
5524
|
+
}
|
|
5525
|
+
});
|
|
5354
5526
|
volumeBtn?.addEventListener('click', (e) => {
|
|
5355
5527
|
e.stopPropagation();
|
|
5356
5528
|
this.toggleMuteAction();
|
|
@@ -5392,12 +5564,12 @@ export class WebPlayer extends BasePlayer {
|
|
|
5392
5564
|
this.handleVolumeChange(e);
|
|
5393
5565
|
});
|
|
5394
5566
|
progressBar?.addEventListener('click', (e) => {
|
|
5395
|
-
this.
|
|
5567
|
+
this.seekToPosition(e);
|
|
5396
5568
|
});
|
|
5397
5569
|
progressBar?.addEventListener('mousedown', (e) => {
|
|
5398
5570
|
this.isDragging = true;
|
|
5399
5571
|
this.showTimeTooltip = true;
|
|
5400
|
-
this.
|
|
5572
|
+
this.seekToPosition(e);
|
|
5401
5573
|
this.updateTimeTooltip(e);
|
|
5402
5574
|
});
|
|
5403
5575
|
progressBar?.addEventListener('mouseenter', () => {
|
|
@@ -5418,14 +5590,18 @@ export class WebPlayer extends BasePlayer {
|
|
|
5418
5590
|
e.preventDefault();
|
|
5419
5591
|
this.isDragging = true;
|
|
5420
5592
|
const touch = e.touches[0];
|
|
5421
|
-
|
|
5593
|
+
const mouseEvent = new MouseEvent('mousedown', {
|
|
5594
|
+
clientX: touch.clientX,
|
|
5595
|
+
clientY: touch.clientY
|
|
5596
|
+
});
|
|
5597
|
+
this.seekToPosition(mouseEvent);
|
|
5422
5598
|
}, { passive: false });
|
|
5423
5599
|
document.addEventListener('mousemove', (e) => {
|
|
5424
5600
|
if (this.isVolumeSliding) {
|
|
5425
5601
|
this.handleVolumeChange(e);
|
|
5426
5602
|
}
|
|
5427
5603
|
if (this.isDragging && progressBar) {
|
|
5428
|
-
this.
|
|
5604
|
+
this.seekToPosition(e);
|
|
5429
5605
|
this.updateTimeTooltip(e);
|
|
5430
5606
|
}
|
|
5431
5607
|
});
|
|
@@ -5433,7 +5609,11 @@ export class WebPlayer extends BasePlayer {
|
|
|
5433
5609
|
if (this.isDragging && progressBar) {
|
|
5434
5610
|
e.preventDefault();
|
|
5435
5611
|
const touch = e.touches[0];
|
|
5436
|
-
|
|
5612
|
+
const mouseEvent = new MouseEvent('mousemove', {
|
|
5613
|
+
clientX: touch.clientX,
|
|
5614
|
+
clientY: touch.clientY
|
|
5615
|
+
});
|
|
5616
|
+
this.seekToPosition(mouseEvent);
|
|
5437
5617
|
}
|
|
5438
5618
|
}, { passive: false });
|
|
5439
5619
|
document.addEventListener('mouseup', () => {
|
|
@@ -5692,14 +5872,18 @@ export class WebPlayer extends BasePlayer {
|
|
|
5692
5872
|
case 'ArrowLeft':
|
|
5693
5873
|
e.preventDefault();
|
|
5694
5874
|
e.stopImmediatePropagation();
|
|
5695
|
-
this.
|
|
5696
|
-
|
|
5875
|
+
if (this.video && !isNaN(this.video.duration)) {
|
|
5876
|
+
this.seek(Math.max(0, this.video.currentTime - 10));
|
|
5877
|
+
shortcutText = '-10s';
|
|
5878
|
+
}
|
|
5697
5879
|
break;
|
|
5698
5880
|
case 'ArrowRight':
|
|
5699
5881
|
e.preventDefault();
|
|
5700
5882
|
e.stopImmediatePropagation();
|
|
5701
|
-
|
|
5702
|
-
|
|
5883
|
+
if (this.video && !isNaN(this.video.duration)) {
|
|
5884
|
+
this.seek(Math.min(this.video.duration, this.video.currentTime + 10));
|
|
5885
|
+
shortcutText = '+10s';
|
|
5886
|
+
}
|
|
5703
5887
|
break;
|
|
5704
5888
|
case 'ArrowUp':
|
|
5705
5889
|
e.preventDefault();
|
|
@@ -5765,8 +5949,8 @@ export class WebPlayer extends BasePlayer {
|
|
|
5765
5949
|
case '8':
|
|
5766
5950
|
case '9':
|
|
5767
5951
|
e.preventDefault();
|
|
5768
|
-
|
|
5769
|
-
|
|
5952
|
+
if (this.video && !isNaN(this.video.duration) && this.video.duration > 0) {
|
|
5953
|
+
const percent = parseInt(e.key) * 10;
|
|
5770
5954
|
this.video.currentTime = (this.video.duration * percent) / 100;
|
|
5771
5955
|
shortcutText = `${percent}%`;
|
|
5772
5956
|
}
|
|
@@ -6038,7 +6222,7 @@ export class WebPlayer extends BasePlayer {
|
|
|
6038
6222
|
try {
|
|
6039
6223
|
this.requestPause();
|
|
6040
6224
|
if (fromSeek || ((this.video.currentTime || 0) > lim)) {
|
|
6041
|
-
this.
|
|
6225
|
+
this.safeSetCurrentTime(lim - 0.1);
|
|
6042
6226
|
}
|
|
6043
6227
|
}
|
|
6044
6228
|
catch (_) { }
|
|
@@ -6192,16 +6376,25 @@ export class WebPlayer extends BasePlayer {
|
|
|
6192
6376
|
this.video.muted = false;
|
|
6193
6377
|
}
|
|
6194
6378
|
}
|
|
6195
|
-
|
|
6196
|
-
const progressBar = document.
|
|
6379
|
+
seekToPosition(e) {
|
|
6380
|
+
const progressBar = document.querySelector('.uvf-progress-bar');
|
|
6197
6381
|
const progressFilled = document.getElementById('uvf-progress-filled');
|
|
6198
6382
|
const progressHandle = document.getElementById('uvf-progress-handle');
|
|
6199
6383
|
if (!progressBar || !this.video)
|
|
6200
6384
|
return;
|
|
6385
|
+
const duration = this.video.duration;
|
|
6386
|
+
if (!isFinite(duration) || isNaN(duration) || duration <= 0) {
|
|
6387
|
+
this.debugWarn('Invalid video duration, cannot seek via progress bar');
|
|
6388
|
+
return;
|
|
6389
|
+
}
|
|
6201
6390
|
const rect = progressBar.getBoundingClientRect();
|
|
6202
6391
|
const x = Math.max(0, Math.min(e.clientX - rect.left, rect.width));
|
|
6203
6392
|
const percent = (x / rect.width) * 100;
|
|
6204
|
-
const time = (percent / 100) *
|
|
6393
|
+
const time = (percent / 100) * duration;
|
|
6394
|
+
if (!isFinite(time) || isNaN(time)) {
|
|
6395
|
+
this.debugWarn('Calculated seek time is invalid:', time);
|
|
6396
|
+
return;
|
|
6397
|
+
}
|
|
6205
6398
|
if (progressFilled) {
|
|
6206
6399
|
progressFilled.style.width = percent + '%';
|
|
6207
6400
|
}
|
|
@@ -6380,14 +6573,20 @@ export class WebPlayer extends BasePlayer {
|
|
|
6380
6573
|
const tapPosition = tapX - wrapperRect.left;
|
|
6381
6574
|
const wrapperWidth = wrapperRect.width;
|
|
6382
6575
|
const isLeftSide = tapPosition < wrapperWidth / 2;
|
|
6576
|
+
const currentTime = this.video.currentTime;
|
|
6577
|
+
const duration = this.video.duration;
|
|
6578
|
+
if (!isFinite(currentTime) || isNaN(currentTime) || !isFinite(duration) || isNaN(duration)) {
|
|
6579
|
+
this.debugWarn('Invalid video time values, skipping double-tap action');
|
|
6580
|
+
return;
|
|
6581
|
+
}
|
|
6383
6582
|
if (isLeftSide) {
|
|
6384
|
-
const newTime = Math.max(0,
|
|
6583
|
+
const newTime = Math.max(0, currentTime - SKIP_SECONDS);
|
|
6385
6584
|
this.seek(newTime);
|
|
6386
6585
|
this.showShortcutIndicator(`-${SKIP_SECONDS}s`);
|
|
6387
6586
|
this.debugLog('Double tap left - skip backward');
|
|
6388
6587
|
}
|
|
6389
6588
|
else {
|
|
6390
|
-
const newTime = Math.min(
|
|
6589
|
+
const newTime = Math.min(duration, currentTime + SKIP_SECONDS);
|
|
6391
6590
|
this.seek(newTime);
|
|
6392
6591
|
this.showShortcutIndicator(`+${SKIP_SECONDS}s`);
|
|
6393
6592
|
this.debugLog('Double tap right - skip forward');
|
|
@@ -6435,8 +6634,11 @@ export class WebPlayer extends BasePlayer {
|
|
|
6435
6634
|
return;
|
|
6436
6635
|
this.fastBackwardInterval = setInterval(() => {
|
|
6437
6636
|
if (this.video) {
|
|
6438
|
-
const
|
|
6439
|
-
|
|
6637
|
+
const currentTime = this.video.currentTime;
|
|
6638
|
+
if (isFinite(currentTime) && !isNaN(currentTime)) {
|
|
6639
|
+
const newTime = Math.max(0, currentTime - 0.1);
|
|
6640
|
+
this.safeSetCurrentTime(newTime);
|
|
6641
|
+
}
|
|
6440
6642
|
}
|
|
6441
6643
|
}, 50);
|
|
6442
6644
|
}
|
|
@@ -6842,8 +7044,8 @@ export class WebPlayer extends BasePlayer {
|
|
|
6842
7044
|
return;
|
|
6843
7045
|
}
|
|
6844
7046
|
const chapter = this.coreChapterManager.seekToChapter(chapterId);
|
|
6845
|
-
if (chapter) {
|
|
6846
|
-
this.
|
|
7047
|
+
if (chapter && isFinite(chapter.startTime) && !isNaN(chapter.startTime)) {
|
|
7048
|
+
this.safeSetCurrentTime(chapter.startTime);
|
|
6847
7049
|
this.debugLog('Seeked to chapter:', chapter.title);
|
|
6848
7050
|
}
|
|
6849
7051
|
}
|
|
@@ -7495,17 +7697,9 @@ export class WebPlayer extends BasePlayer {
|
|
|
7495
7697
|
item.classList.remove('expanded');
|
|
7496
7698
|
});
|
|
7497
7699
|
}
|
|
7498
|
-
|
|
7499
|
-
|
|
7500
|
-
|
|
7501
|
-
}, 300);
|
|
7502
|
-
}
|
|
7503
|
-
else {
|
|
7504
|
-
setTimeout(() => {
|
|
7505
|
-
this.generateAccordionMenu();
|
|
7506
|
-
this.setupSettingsEventListeners();
|
|
7507
|
-
}, 100);
|
|
7508
|
-
}
|
|
7700
|
+
setTimeout(() => {
|
|
7701
|
+
this.hideSettingsMenu();
|
|
7702
|
+
}, 200);
|
|
7509
7703
|
}
|
|
7510
7704
|
updateSettingsActiveStates(className, activeElement) {
|
|
7511
7705
|
const settingsMenu = document.getElementById('uvf-settings-menu');
|
|
@@ -8030,12 +8224,12 @@ export class WebPlayer extends BasePlayer {
|
|
|
8030
8224
|
}
|
|
8031
8225
|
}
|
|
8032
8226
|
if (this.video && !this.video.paused && !this.paymentSuccessful) {
|
|
8033
|
-
this.debugWarn('Unauthorized
|
|
8227
|
+
this.debugWarn('Unauthorized playback detected, pausing video');
|
|
8034
8228
|
try {
|
|
8035
8229
|
this.video.pause();
|
|
8036
8230
|
const freeDuration = Number(this.config.freeDuration || 0);
|
|
8037
|
-
if (freeDuration > 0) {
|
|
8038
|
-
this.
|
|
8231
|
+
if (freeDuration > 0 && isFinite(freeDuration)) {
|
|
8232
|
+
this.safeSetCurrentTime(freeDuration - 1);
|
|
8039
8233
|
}
|
|
8040
8234
|
}
|
|
8041
8235
|
catch (_) { }
|
|
@@ -8046,7 +8240,7 @@ export class WebPlayer extends BasePlayer {
|
|
|
8046
8240
|
this.debugError('Security violation detected - disabling video');
|
|
8047
8241
|
if (this.video) {
|
|
8048
8242
|
this.video.pause();
|
|
8049
|
-
this.
|
|
8243
|
+
this.safeSetCurrentTime(0);
|
|
8050
8244
|
this.video.src = '';
|
|
8051
8245
|
this.video.style.display = 'none';
|
|
8052
8246
|
}
|