unified-video-framework 1.4.212 → 1.4.213
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.213",
|
|
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":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAOL,OAAO,EACP,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EAEb,MAAM,+BAA+B,CAAC;AAGvC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,GAAG,EAAE,GAAG,CAAC;QACT,MAAM,EAAE,GAAG,CAAC;QACZ,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,qBAAqB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;KACxD;CACF;AAED,qBAAa,SAAU,SAAQ,UAAU;IACvC,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAChD,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,mBAAmB,CAA+B;IAC1D,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,UAAU,CAAkB;IAGpC,OAAO,CAAC,cAAc,CAKpB;IACF,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,aAAa,CAA4B;IAEjD,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,iBAAiB,CAAkB;IAG3C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,sBAAsB,CAAa;IAC3C,OAAO,CAAC,sBAAsB,CAAa;IAC3C,OAAO,CAAC,yBAAyB,CAAa;IAC9C,OAAO,CAAC,iBAAiB,CAAa;IAGtC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,mBAAmB,CAAiB;IAC5C,OAAO,CAAC,KAAK,CAAa;IAG1B,OAAO,CAAC,iBAAiB,CAAa;IAGtC,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,mBAAmB,CAAO;IAGlC,OAAO,CAAC,sBAAsB,CAAkB;IAChD,OAAO,CAAC,mBAAmB,CAAa;IAGxC,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,oBAAoB,CAA+B;IAC3D,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,kBAAkB,CAAwB;IAGlD,OAAO,CAAC,oBAAoB,CAU1B;IACF,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,kBAAkB,CAAa;IAGvC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,aAAa,CAAqC;IAG1D,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,SAAS;IAOX,UAAU,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;cAsD9D,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA4J5C,OAAO,CAAC,iBAAiB,CAAkB;IAE3C,OAAO,CAAC,wBAAwB;IAkJhC,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,oBAAoB;IAYtB,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA2DtC,OAAO,CAAC,gBAAgB;YAcV,OAAO;IAsDrB,OAAO,CAAC,cAAc;YAyBR,QAAQ;IA4DtB,OAAO,CAAC,iBAAiB;YAQX,UAAU;IAMxB,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhD,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,0BAA0B;YAsBpB,0BAA0B;IAmExC,OAAO,CAAC,iBAAiB;YAmBX,0BAA0B;IAuExC,OAAO,CAAC,kBAAkB;IA6C1B,OAAO,CAAC,gBAAgB;IAmHxB,OAAO,CAAC,kBAAkB;IA4C1B,OAAO,CAAC,oBAAoB,CAA0C;IAEtE,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,4BAA4B;IAsB9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2D3B,KAAK,IAAI,IAAI;IAkBN,YAAY,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAOL,OAAO,EACP,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EAEb,MAAM,+BAA+B,CAAC;AAGvC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,GAAG,EAAE,GAAG,CAAC;QACT,MAAM,EAAE,GAAG,CAAC;QACZ,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,qBAAqB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;KACxD;CACF;AAED,qBAAa,SAAU,SAAQ,UAAU;IACvC,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAChD,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,mBAAmB,CAA+B;IAC1D,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,UAAU,CAAkB;IAGpC,OAAO,CAAC,cAAc,CAKpB;IACF,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,aAAa,CAA4B;IAEjD,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,iBAAiB,CAAkB;IAG3C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,sBAAsB,CAAa;IAC3C,OAAO,CAAC,sBAAsB,CAAa;IAC3C,OAAO,CAAC,yBAAyB,CAAa;IAC9C,OAAO,CAAC,iBAAiB,CAAa;IAGtC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,mBAAmB,CAAiB;IAC5C,OAAO,CAAC,KAAK,CAAa;IAG1B,OAAO,CAAC,iBAAiB,CAAa;IAGtC,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,mBAAmB,CAAO;IAGlC,OAAO,CAAC,sBAAsB,CAAkB;IAChD,OAAO,CAAC,mBAAmB,CAAa;IAGxC,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,oBAAoB,CAA+B;IAC3D,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,kBAAkB,CAAwB;IAGlD,OAAO,CAAC,oBAAoB,CAU1B;IACF,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,kBAAkB,CAAa;IAGvC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,aAAa,CAAqC;IAG1D,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,SAAS;IAOX,UAAU,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;cAsD9D,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA4J5C,OAAO,CAAC,iBAAiB,CAAkB;IAE3C,OAAO,CAAC,wBAAwB;IAkJhC,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,oBAAoB;IAYtB,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA2DtC,OAAO,CAAC,gBAAgB;YAcV,OAAO;IAsDrB,OAAO,CAAC,cAAc;YAyBR,QAAQ;IA4DtB,OAAO,CAAC,iBAAiB;YAQX,UAAU;IAMxB,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhD,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,0BAA0B;YAsBpB,0BAA0B;IAmExC,OAAO,CAAC,iBAAiB;YAmBX,0BAA0B;IAuExC,OAAO,CAAC,kBAAkB;IA6C1B,OAAO,CAAC,gBAAgB;IAmHxB,OAAO,CAAC,kBAAkB;IA4C1B,OAAO,CAAC,oBAAoB,CAA0C;IAEtE,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,4BAA4B;IAsB9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2D3B,KAAK,IAAI,IAAI;IAkBN,YAAY,IAAI,IAAI;IAU3B,OAAO,CAAC,kBAAkB;IAuC1B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA0BxB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B,IAAI,IAAI,IAAI;IAMZ,MAAM,IAAI,IAAI;IAOd,cAAc,IAAI,MAAM;IAOxB,YAAY,IAAI,GAAG,EAAE;IAIrB,iBAAiB,IAAI,GAAG;IAIxB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAW/B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOnC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAkBhC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IA6GhC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAkF/B,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAetC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3C,WAAW,IAAI,IAAI;IAUnB,iBAAiB,IAAI,IAAI;IAUzB,OAAO,CAAC,cAAc;YAmBR,0BAA0B;IAwCxC,OAAO,CAAC,eAAe;IAwCvB,uBAAuB,IAAI,IAAI;IA4D/B,OAAO,CAAC,4BAA4B;YAoEtB,gCAAgC;IAgBxC,+BAA+B,IAAI,OAAO,CAAC,IAAI,CAAC;IAkGtD,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAmC3C,4BAA4B,IAAI,IAAI;IA4D9B,gCAAgC,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IA8DtE,0BAA0B,IAAI,IAAI;IAqK5B,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IA4C3C,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAc9C,SAAS,CAAC,eAAe,IAAI,IAAI;IASjC,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,eAAe;IAg+FrB,OAAO,CAAC,uBAAuB;IA+DjC,OAAO,CAAC,uBAAuB;IAsF/B,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,oBAAoB;IAgW5B,OAAO,CAAC,2BAA2B;IA2fnC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IA6KxC,SAAS,CAAC,cAAc,IAAI,IAAI;IAmKzB,gBAAgB,CAAC,MAAM,EAAE,GAAG;IA2CnC,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,sBAAsB;IAsDvB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAetC,oBAAoB,IAAI,IAAI;IAO5B,kBAAkB,IAAI,IAAI;IAOjC,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,qBAAqB;YAYf,wBAAwB;YAuCxB,iBAAiB;IAmB/B,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,cAAc;IAyCtB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,wBAAwB;IA0OhC,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,wBAAwB;IA4EhC,OAAO,CAAC,qBAAqB;IA8FtB,yBAAyB,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI;IAiBxE,0BAA0B,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAwB1F,OAAO,CAAC,oCAAoC;IAuB5C,OAAO,CAAC,mBAAmB;IAoF3B,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,gBAAgB;IAiBX,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBrD,iBAAiB,IAAI,YAAY,GAAG,IAAI;IAWxC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAYtC,WAAW,IAAI,YAAY,EAAE;IAW7B,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAW5D,WAAW,IAAI,OAAO;IAOtB,WAAW,IAAI,aAAa,GAAG,IAAI;IAOnC,eAAe,IAAI,OAAO,EAAE;IAO5B,eAAe,IAAI,cAAc,EAAE;IAOnC,qBAAqB,IAAI,OAAO,GAAG,IAAI;IAOvC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAgBtC,cAAc,IAAI,OAAO,GAAG,IAAI;IAUhC,kBAAkB,IAAI,OAAO,GAAG,IAAI;IAQpC,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IA2DjC,OAAO,CAAC,SAAS;IA8BjB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,iBAAiB;YAgCX,SAAS;IAYvB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,uBAAuB;IA6D/B,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,qBAAqB;IAoH7B,OAAO,CAAC,wBAAwB;IA+ChC,OAAO,CAAC,wBAAwB;IA6BhC,OAAO,CAAC,2BAA2B;IAqDnC,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,6BAA6B;IAkBrC,OAAO,CAAC,0BAA0B;IAgBlC,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,sBAAsB;IA4B9B,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,WAAW;YAoBL,QAAQ;YAqGR,UAAU;IAwBxB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,iBAAiB;IA0DzB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,qBAAqB;IA2C7B,OAAO,CAAC,gBAAgB;IA0CxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,sBAAsB;IAiF9B,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,4BAA4B;IAoDpC,OAAO,CAAC,oBAAoB;IA+BrB,aAAa,IAAI,IAAI;IAarB,aAAa,IAAI,IAAI;IAYrB,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAe9B,kBAAkB,IAAI,OAAO;YAKtB,OAAO;IAgBf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAqD/B"}
|
|
@@ -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,83 @@ 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: 16px 24px;
|
|
3917
|
+
font-size: 20px;
|
|
3918
|
+
max-width: calc(100vw - 40px);
|
|
3919
|
+
border-radius: 12px;
|
|
3920
|
+
backdrop-filter: blur(10px);
|
|
3921
|
+
}
|
|
3922
|
+
|
|
3923
|
+
/* Volume indicator - more compact on mobile */
|
|
3924
|
+
.uvf-shortcut-indicator .uvf-ki-volume {
|
|
3925
|
+
flex-direction: column;
|
|
3926
|
+
gap: 12px;
|
|
3927
|
+
}
|
|
3928
|
+
|
|
3929
|
+
.uvf-shortcut-indicator .uvf-ki-vol-icon svg {
|
|
3930
|
+
width: 32px;
|
|
3931
|
+
height: 32px;
|
|
3932
|
+
}
|
|
3933
|
+
|
|
3934
|
+
.uvf-shortcut-indicator .uvf-ki-vol-bar {
|
|
3935
|
+
width: clamp(200px, 70vw, 280px);
|
|
3936
|
+
height: 10px;
|
|
3937
|
+
border-radius: 5px;
|
|
3938
|
+
}
|
|
3939
|
+
|
|
3940
|
+
.uvf-shortcut-indicator .uvf-ki-vol-text {
|
|
3941
|
+
font-size: 22px;
|
|
3942
|
+
font-weight: 700;
|
|
3943
|
+
min-width: auto;
|
|
3944
|
+
text-align: center;
|
|
3945
|
+
width: 100%;
|
|
3946
|
+
}
|
|
3947
|
+
|
|
3948
|
+
/* Skip indicators - slightly smaller */
|
|
3949
|
+
.uvf-shortcut-indicator .uvf-ki-skip {
|
|
3950
|
+
width: 90px;
|
|
3951
|
+
height: 90px;
|
|
3952
|
+
}
|
|
3953
|
+
|
|
3954
|
+
.uvf-shortcut-indicator .uvf-ki-skip svg {
|
|
3955
|
+
width: 90px;
|
|
3956
|
+
height: 90px;
|
|
3957
|
+
}
|
|
3958
|
+
|
|
3959
|
+
.uvf-shortcut-indicator .uvf-ki-skip .uvf-ki-skip-num {
|
|
3960
|
+
font-size: 19px;
|
|
3961
|
+
}
|
|
3962
|
+
|
|
3963
|
+
/* Icon indicators */
|
|
3964
|
+
.uvf-shortcut-indicator .uvf-ki svg {
|
|
3965
|
+
width: 56px;
|
|
3966
|
+
height: 56px;
|
|
3967
|
+
}
|
|
3968
|
+
|
|
3969
|
+
.uvf-shortcut-indicator .uvf-ki-text {
|
|
3970
|
+
font-size: 16px;
|
|
3971
|
+
}
|
|
3972
|
+
}
|
|
3973
|
+
|
|
3974
|
+
@media screen and (min-width: 768px) and (max-width: 1023px) {
|
|
3975
|
+
/* Tablet optimization */
|
|
3976
|
+
.uvf-shortcut-indicator .uvf-ki-vol-bar {
|
|
3977
|
+
width: 160px;
|
|
3978
|
+
}
|
|
3979
|
+
|
|
3980
|
+
.uvf-shortcut-indicator .uvf-ki-vol-icon svg {
|
|
3981
|
+
width: 34px;
|
|
3982
|
+
height: 34px;
|
|
3983
|
+
}
|
|
3984
|
+
|
|
3985
|
+
.uvf-shortcut-indicator .uvf-ki-vol-text {
|
|
3986
|
+
font-size: 15px;
|
|
3987
|
+
}
|
|
3988
|
+
}
|
|
3989
|
+
|
|
3882
3990
|
/* Hide top bar when no cursor */
|
|
3883
3991
|
.uvf-player-wrapper.no-cursor .uvf-top-bar {
|
|
3884
3992
|
opacity: 0 !important;
|
|
@@ -5349,8 +5457,16 @@ export class WebPlayer extends BasePlayer {
|
|
|
5349
5457
|
this.debugLog('Center play button shown - video ended');
|
|
5350
5458
|
}
|
|
5351
5459
|
});
|
|
5352
|
-
skipBackBtn?.addEventListener('click', () =>
|
|
5353
|
-
|
|
5460
|
+
skipBackBtn?.addEventListener('click', () => {
|
|
5461
|
+
if (this.video && !isNaN(this.video.duration)) {
|
|
5462
|
+
this.seek(Math.max(0, this.video.currentTime - 10));
|
|
5463
|
+
}
|
|
5464
|
+
});
|
|
5465
|
+
skipForwardBtn?.addEventListener('click', () => {
|
|
5466
|
+
if (this.video && !isNaN(this.video.duration)) {
|
|
5467
|
+
this.seek(Math.min(this.video.duration, this.video.currentTime + 10));
|
|
5468
|
+
}
|
|
5469
|
+
});
|
|
5354
5470
|
volumeBtn?.addEventListener('click', (e) => {
|
|
5355
5471
|
e.stopPropagation();
|
|
5356
5472
|
this.toggleMuteAction();
|
|
@@ -5392,12 +5508,12 @@ export class WebPlayer extends BasePlayer {
|
|
|
5392
5508
|
this.handleVolumeChange(e);
|
|
5393
5509
|
});
|
|
5394
5510
|
progressBar?.addEventListener('click', (e) => {
|
|
5395
|
-
this.
|
|
5511
|
+
this.seekToPosition(e);
|
|
5396
5512
|
});
|
|
5397
5513
|
progressBar?.addEventListener('mousedown', (e) => {
|
|
5398
5514
|
this.isDragging = true;
|
|
5399
5515
|
this.showTimeTooltip = true;
|
|
5400
|
-
this.
|
|
5516
|
+
this.seekToPosition(e);
|
|
5401
5517
|
this.updateTimeTooltip(e);
|
|
5402
5518
|
});
|
|
5403
5519
|
progressBar?.addEventListener('mouseenter', () => {
|
|
@@ -5418,14 +5534,18 @@ export class WebPlayer extends BasePlayer {
|
|
|
5418
5534
|
e.preventDefault();
|
|
5419
5535
|
this.isDragging = true;
|
|
5420
5536
|
const touch = e.touches[0];
|
|
5421
|
-
|
|
5537
|
+
const mouseEvent = new MouseEvent('mousedown', {
|
|
5538
|
+
clientX: touch.clientX,
|
|
5539
|
+
clientY: touch.clientY
|
|
5540
|
+
});
|
|
5541
|
+
this.seekToPosition(mouseEvent);
|
|
5422
5542
|
}, { passive: false });
|
|
5423
5543
|
document.addEventListener('mousemove', (e) => {
|
|
5424
5544
|
if (this.isVolumeSliding) {
|
|
5425
5545
|
this.handleVolumeChange(e);
|
|
5426
5546
|
}
|
|
5427
5547
|
if (this.isDragging && progressBar) {
|
|
5428
|
-
this.
|
|
5548
|
+
this.seekToPosition(e);
|
|
5429
5549
|
this.updateTimeTooltip(e);
|
|
5430
5550
|
}
|
|
5431
5551
|
});
|
|
@@ -5433,7 +5553,11 @@ export class WebPlayer extends BasePlayer {
|
|
|
5433
5553
|
if (this.isDragging && progressBar) {
|
|
5434
5554
|
e.preventDefault();
|
|
5435
5555
|
const touch = e.touches[0];
|
|
5436
|
-
|
|
5556
|
+
const mouseEvent = new MouseEvent('mousemove', {
|
|
5557
|
+
clientX: touch.clientX,
|
|
5558
|
+
clientY: touch.clientY
|
|
5559
|
+
});
|
|
5560
|
+
this.seekToPosition(mouseEvent);
|
|
5437
5561
|
}
|
|
5438
5562
|
}, { passive: false });
|
|
5439
5563
|
document.addEventListener('mouseup', () => {
|
|
@@ -5692,14 +5816,18 @@ export class WebPlayer extends BasePlayer {
|
|
|
5692
5816
|
case 'ArrowLeft':
|
|
5693
5817
|
e.preventDefault();
|
|
5694
5818
|
e.stopImmediatePropagation();
|
|
5695
|
-
this.
|
|
5696
|
-
|
|
5819
|
+
if (this.video && !isNaN(this.video.duration)) {
|
|
5820
|
+
this.seek(Math.max(0, this.video.currentTime - 10));
|
|
5821
|
+
shortcutText = '-10s';
|
|
5822
|
+
}
|
|
5697
5823
|
break;
|
|
5698
5824
|
case 'ArrowRight':
|
|
5699
5825
|
e.preventDefault();
|
|
5700
5826
|
e.stopImmediatePropagation();
|
|
5701
|
-
|
|
5702
|
-
|
|
5827
|
+
if (this.video && !isNaN(this.video.duration)) {
|
|
5828
|
+
this.seek(Math.min(this.video.duration, this.video.currentTime + 10));
|
|
5829
|
+
shortcutText = '+10s';
|
|
5830
|
+
}
|
|
5703
5831
|
break;
|
|
5704
5832
|
case 'ArrowUp':
|
|
5705
5833
|
e.preventDefault();
|
|
@@ -5765,8 +5893,8 @@ export class WebPlayer extends BasePlayer {
|
|
|
5765
5893
|
case '8':
|
|
5766
5894
|
case '9':
|
|
5767
5895
|
e.preventDefault();
|
|
5768
|
-
|
|
5769
|
-
|
|
5896
|
+
if (this.video && !isNaN(this.video.duration) && this.video.duration > 0) {
|
|
5897
|
+
const percent = parseInt(e.key) * 10;
|
|
5770
5898
|
this.video.currentTime = (this.video.duration * percent) / 100;
|
|
5771
5899
|
shortcutText = `${percent}%`;
|
|
5772
5900
|
}
|
|
@@ -6038,7 +6166,7 @@ export class WebPlayer extends BasePlayer {
|
|
|
6038
6166
|
try {
|
|
6039
6167
|
this.requestPause();
|
|
6040
6168
|
if (fromSeek || ((this.video.currentTime || 0) > lim)) {
|
|
6041
|
-
this.
|
|
6169
|
+
this.safeSetCurrentTime(lim - 0.1);
|
|
6042
6170
|
}
|
|
6043
6171
|
}
|
|
6044
6172
|
catch (_) { }
|
|
@@ -6192,16 +6320,25 @@ export class WebPlayer extends BasePlayer {
|
|
|
6192
6320
|
this.video.muted = false;
|
|
6193
6321
|
}
|
|
6194
6322
|
}
|
|
6195
|
-
|
|
6196
|
-
const progressBar = document.
|
|
6323
|
+
seekToPosition(e) {
|
|
6324
|
+
const progressBar = document.querySelector('.uvf-progress-bar');
|
|
6197
6325
|
const progressFilled = document.getElementById('uvf-progress-filled');
|
|
6198
6326
|
const progressHandle = document.getElementById('uvf-progress-handle');
|
|
6199
6327
|
if (!progressBar || !this.video)
|
|
6200
6328
|
return;
|
|
6329
|
+
const duration = this.video.duration;
|
|
6330
|
+
if (!isFinite(duration) || isNaN(duration) || duration <= 0) {
|
|
6331
|
+
this.debugWarn('Invalid video duration, cannot seek via progress bar');
|
|
6332
|
+
return;
|
|
6333
|
+
}
|
|
6201
6334
|
const rect = progressBar.getBoundingClientRect();
|
|
6202
6335
|
const x = Math.max(0, Math.min(e.clientX - rect.left, rect.width));
|
|
6203
6336
|
const percent = (x / rect.width) * 100;
|
|
6204
|
-
const time = (percent / 100) *
|
|
6337
|
+
const time = (percent / 100) * duration;
|
|
6338
|
+
if (!isFinite(time) || isNaN(time)) {
|
|
6339
|
+
this.debugWarn('Calculated seek time is invalid:', time);
|
|
6340
|
+
return;
|
|
6341
|
+
}
|
|
6205
6342
|
if (progressFilled) {
|
|
6206
6343
|
progressFilled.style.width = percent + '%';
|
|
6207
6344
|
}
|
|
@@ -6380,14 +6517,20 @@ export class WebPlayer extends BasePlayer {
|
|
|
6380
6517
|
const tapPosition = tapX - wrapperRect.left;
|
|
6381
6518
|
const wrapperWidth = wrapperRect.width;
|
|
6382
6519
|
const isLeftSide = tapPosition < wrapperWidth / 2;
|
|
6520
|
+
const currentTime = this.video.currentTime;
|
|
6521
|
+
const duration = this.video.duration;
|
|
6522
|
+
if (!isFinite(currentTime) || isNaN(currentTime) || !isFinite(duration) || isNaN(duration)) {
|
|
6523
|
+
this.debugWarn('Invalid video time values, skipping double-tap action');
|
|
6524
|
+
return;
|
|
6525
|
+
}
|
|
6383
6526
|
if (isLeftSide) {
|
|
6384
|
-
const newTime = Math.max(0,
|
|
6527
|
+
const newTime = Math.max(0, currentTime - SKIP_SECONDS);
|
|
6385
6528
|
this.seek(newTime);
|
|
6386
6529
|
this.showShortcutIndicator(`-${SKIP_SECONDS}s`);
|
|
6387
6530
|
this.debugLog('Double tap left - skip backward');
|
|
6388
6531
|
}
|
|
6389
6532
|
else {
|
|
6390
|
-
const newTime = Math.min(
|
|
6533
|
+
const newTime = Math.min(duration, currentTime + SKIP_SECONDS);
|
|
6391
6534
|
this.seek(newTime);
|
|
6392
6535
|
this.showShortcutIndicator(`+${SKIP_SECONDS}s`);
|
|
6393
6536
|
this.debugLog('Double tap right - skip forward');
|
|
@@ -6435,8 +6578,11 @@ export class WebPlayer extends BasePlayer {
|
|
|
6435
6578
|
return;
|
|
6436
6579
|
this.fastBackwardInterval = setInterval(() => {
|
|
6437
6580
|
if (this.video) {
|
|
6438
|
-
const
|
|
6439
|
-
|
|
6581
|
+
const currentTime = this.video.currentTime;
|
|
6582
|
+
if (isFinite(currentTime) && !isNaN(currentTime)) {
|
|
6583
|
+
const newTime = Math.max(0, currentTime - 0.1);
|
|
6584
|
+
this.safeSetCurrentTime(newTime);
|
|
6585
|
+
}
|
|
6440
6586
|
}
|
|
6441
6587
|
}, 50);
|
|
6442
6588
|
}
|
|
@@ -6842,8 +6988,8 @@ export class WebPlayer extends BasePlayer {
|
|
|
6842
6988
|
return;
|
|
6843
6989
|
}
|
|
6844
6990
|
const chapter = this.coreChapterManager.seekToChapter(chapterId);
|
|
6845
|
-
if (chapter) {
|
|
6846
|
-
this.
|
|
6991
|
+
if (chapter && isFinite(chapter.startTime) && !isNaN(chapter.startTime)) {
|
|
6992
|
+
this.safeSetCurrentTime(chapter.startTime);
|
|
6847
6993
|
this.debugLog('Seeked to chapter:', chapter.title);
|
|
6848
6994
|
}
|
|
6849
6995
|
}
|
|
@@ -7495,17 +7641,9 @@ export class WebPlayer extends BasePlayer {
|
|
|
7495
7641
|
item.classList.remove('expanded');
|
|
7496
7642
|
});
|
|
7497
7643
|
}
|
|
7498
|
-
|
|
7499
|
-
|
|
7500
|
-
|
|
7501
|
-
}, 300);
|
|
7502
|
-
}
|
|
7503
|
-
else {
|
|
7504
|
-
setTimeout(() => {
|
|
7505
|
-
this.generateAccordionMenu();
|
|
7506
|
-
this.setupSettingsEventListeners();
|
|
7507
|
-
}, 100);
|
|
7508
|
-
}
|
|
7644
|
+
setTimeout(() => {
|
|
7645
|
+
this.hideSettingsMenu();
|
|
7646
|
+
}, 200);
|
|
7509
7647
|
}
|
|
7510
7648
|
updateSettingsActiveStates(className, activeElement) {
|
|
7511
7649
|
const settingsMenu = document.getElementById('uvf-settings-menu');
|
|
@@ -8030,12 +8168,12 @@ export class WebPlayer extends BasePlayer {
|
|
|
8030
8168
|
}
|
|
8031
8169
|
}
|
|
8032
8170
|
if (this.video && !this.video.paused && !this.paymentSuccessful) {
|
|
8033
|
-
this.debugWarn('Unauthorized
|
|
8171
|
+
this.debugWarn('Unauthorized playback detected, pausing video');
|
|
8034
8172
|
try {
|
|
8035
8173
|
this.video.pause();
|
|
8036
8174
|
const freeDuration = Number(this.config.freeDuration || 0);
|
|
8037
|
-
if (freeDuration > 0) {
|
|
8038
|
-
this.
|
|
8175
|
+
if (freeDuration > 0 && isFinite(freeDuration)) {
|
|
8176
|
+
this.safeSetCurrentTime(freeDuration - 1);
|
|
8039
8177
|
}
|
|
8040
8178
|
}
|
|
8041
8179
|
catch (_) { }
|
|
@@ -8046,7 +8184,7 @@ export class WebPlayer extends BasePlayer {
|
|
|
8046
8184
|
this.debugError('Security violation detected - disabling video');
|
|
8047
8185
|
if (this.video) {
|
|
8048
8186
|
this.video.pause();
|
|
8049
|
-
this.
|
|
8187
|
+
this.safeSetCurrentTime(0);
|
|
8050
8188
|
this.video.src = '';
|
|
8051
8189
|
this.video.style.display = 'none';
|
|
8052
8190
|
}
|