unified-video-framework 1.4.412 → 1.4.413
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 +1 -1
- package/packages/core/dist/interfaces/IVideoPlayer.d.ts +0 -22
- package/packages/core/dist/interfaces/IVideoPlayer.d.ts.map +1 -1
- package/packages/core/src/interfaces/IVideoPlayer.ts +0 -27
- package/packages/web/dist/WebPlayer.d.ts +0 -4
- package/packages/web/dist/WebPlayer.d.ts.map +1 -1
- package/packages/web/dist/WebPlayer.js +62 -73
- package/packages/web/dist/WebPlayer.js.map +1 -1
- package/packages/web/dist/drm/DRMManager.d.ts +16 -9
- package/packages/web/dist/drm/DRMManager.d.ts.map +1 -1
- package/packages/web/dist/drm/DRMManager.js +109 -42
- package/packages/web/dist/drm/DRMManager.js.map +1 -1
- package/packages/web/dist/drm/index.d.ts +15 -0
- package/packages/web/dist/drm/index.d.ts.map +1 -0
- package/packages/web/dist/drm/index.js +13 -0
- package/packages/web/dist/drm/index.js.map +1 -0
- package/packages/web/dist/drm/providers/BunnyNetProvider.d.ts +19 -0
- package/packages/web/dist/drm/providers/BunnyNetProvider.d.ts.map +1 -0
- package/packages/web/dist/drm/providers/BunnyNetProvider.js +112 -0
- package/packages/web/dist/drm/providers/BunnyNetProvider.js.map +1 -0
- package/packages/web/dist/drm/providers/GenericProvider.d.ts +30 -0
- package/packages/web/dist/drm/providers/GenericProvider.d.ts.map +1 -0
- package/packages/web/dist/drm/providers/GenericProvider.js +102 -0
- package/packages/web/dist/drm/providers/GenericProvider.js.map +1 -0
- package/packages/web/dist/drm/systems/BaseDRM.d.ts +18 -0
- package/packages/web/dist/drm/systems/BaseDRM.d.ts.map +1 -0
- package/packages/web/dist/drm/systems/BaseDRM.js +29 -0
- package/packages/web/dist/drm/systems/BaseDRM.js.map +1 -0
- package/packages/web/dist/drm/systems/FairPlayDRM.d.ts +32 -0
- package/packages/web/dist/drm/systems/FairPlayDRM.d.ts.map +1 -0
- package/packages/web/dist/drm/systems/FairPlayDRM.js +198 -0
- package/packages/web/dist/drm/systems/FairPlayDRM.js.map +1 -0
- package/packages/web/dist/drm/systems/PlayReadyDRM.d.ts +9 -0
- package/packages/web/dist/drm/systems/PlayReadyDRM.d.ts.map +1 -0
- package/packages/web/dist/drm/systems/PlayReadyDRM.js +92 -0
- package/packages/web/dist/drm/systems/PlayReadyDRM.js.map +1 -0
- package/packages/web/dist/drm/systems/WidevineDRM.d.ts +9 -0
- package/packages/web/dist/drm/systems/WidevineDRM.d.ts.map +1 -0
- package/packages/web/dist/drm/systems/WidevineDRM.js +73 -0
- package/packages/web/dist/drm/systems/WidevineDRM.js.map +1 -0
- package/packages/web/dist/drm/types/BunnyNetTypes.d.ts +20 -0
- package/packages/web/dist/drm/types/BunnyNetTypes.d.ts.map +1 -0
- package/packages/web/dist/drm/types/BunnyNetTypes.js +8 -0
- package/packages/web/dist/drm/types/BunnyNetTypes.js.map +1 -0
- package/packages/web/dist/drm/types/DRMTypes.d.ts +56 -49
- package/packages/web/dist/drm/types/DRMTypes.d.ts.map +1 -1
- package/packages/web/dist/drm/types/DRMTypes.js +19 -13
- package/packages/web/dist/drm/types/DRMTypes.js.map +1 -1
- package/packages/web/dist/drm/utils/BrowserDetector.d.ts +20 -0
- package/packages/web/dist/drm/utils/BrowserDetector.d.ts.map +1 -0
- package/packages/web/dist/drm/utils/BrowserDetector.js +168 -0
- package/packages/web/dist/drm/utils/BrowserDetector.js.map +1 -0
- package/packages/web/dist/drm/utils/CertificateManager.d.ts +15 -0
- package/packages/web/dist/drm/utils/CertificateManager.d.ts.map +1 -0
- package/packages/web/dist/drm/utils/CertificateManager.js +46 -0
- package/packages/web/dist/drm/utils/CertificateManager.js.map +1 -0
- package/packages/web/dist/drm/utils/DRMErrorHandler.d.ts +7 -0
- package/packages/web/dist/drm/utils/DRMErrorHandler.d.ts.map +1 -0
- package/packages/web/dist/drm/utils/DRMErrorHandler.js +49 -0
- package/packages/web/dist/drm/utils/DRMErrorHandler.js.map +1 -0
- package/packages/web/dist/drm/utils/LicenseRequestHandler.d.ts +15 -0
- package/packages/web/dist/drm/utils/LicenseRequestHandler.d.ts.map +1 -0
- package/packages/web/dist/drm/utils/LicenseRequestHandler.js +110 -0
- package/packages/web/dist/drm/utils/LicenseRequestHandler.js.map +1 -0
- package/packages/web/dist/react/WebPlayerView.d.ts +1 -18
- package/packages/web/dist/react/WebPlayerView.d.ts.map +1 -1
- package/packages/web/dist/react/WebPlayerView.js +0 -5
- package/packages/web/dist/react/WebPlayerView.js.map +1 -1
- package/packages/web/src/WebPlayer.ts +79 -106
- package/packages/web/src/drm/DRMManager.ts +172 -58
- package/packages/web/src/drm/index.ts +37 -0
- package/packages/web/src/drm/providers/BunnyNetProvider.ts +170 -0
- package/packages/web/src/drm/providers/GenericProvider.ts +148 -0
- package/packages/web/src/drm/systems/BaseDRM.ts +68 -0
- package/packages/web/src/drm/systems/FairPlayDRM.ts +305 -0
- package/packages/web/src/drm/systems/PlayReadyDRM.ts +131 -0
- package/packages/web/src/drm/systems/WidevineDRM.ts +105 -0
- package/packages/web/src/drm/types/BunnyNetTypes.ts +35 -0
- package/packages/web/src/drm/types/DRMTypes.ts +70 -76
- package/packages/web/src/drm/utils/BrowserDetector.ts +232 -0
- package/packages/web/src/drm/utils/CertificateManager.ts +86 -0
- package/packages/web/src/drm/utils/DRMErrorHandler.ts +84 -0
- package/packages/web/src/drm/utils/LicenseRequestHandler.ts +180 -0
- package/packages/web/src/react/WebPlayerView.tsx +1 -28
- package/packages/web/src/drm/BunnyCDNDRMProvider.ts +0 -104
- package/packages/web/src/drm/FairPlayDRMHandler.ts +0 -322
- package/packages/web/src/drm/WidevineDRMHandler.ts +0 -246
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "unified-video-framework",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.413",
|
|
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",
|
|
@@ -19,33 +19,11 @@ export interface VideoSource {
|
|
|
19
19
|
error: any;
|
|
20
20
|
}>) => void;
|
|
21
21
|
}
|
|
22
|
-
export interface DRMToken {
|
|
23
|
-
token: string;
|
|
24
|
-
expires: number;
|
|
25
|
-
tokenVer?: string;
|
|
26
|
-
}
|
|
27
|
-
export interface DRMTokenProvider {
|
|
28
|
-
getManifestToken(): Promise<DRMToken | null>;
|
|
29
|
-
getSegmentToken(): Promise<DRMToken | null>;
|
|
30
|
-
getLicenseToken(): Promise<DRMToken | null>;
|
|
31
|
-
shouldRenewToken(token: DRMToken): boolean;
|
|
32
|
-
renewToken(token: DRMToken): Promise<DRMToken>;
|
|
33
|
-
}
|
|
34
|
-
export interface BunnyCDNDRMConfig {
|
|
35
|
-
libraryId: string;
|
|
36
|
-
videoId: string;
|
|
37
|
-
pullZoneUrl: string;
|
|
38
|
-
tokenProvider: DRMTokenProvider;
|
|
39
|
-
certificateUrl?: string;
|
|
40
|
-
licenseUrl?: string;
|
|
41
|
-
enableReferrerProtection?: boolean;
|
|
42
|
-
}
|
|
43
22
|
export interface DRMConfig {
|
|
44
23
|
licenseUrl: string;
|
|
45
24
|
certificateUrl?: string;
|
|
46
25
|
headers?: Record<string, string>;
|
|
47
26
|
type: 'widevine' | 'playready' | 'fairplay' | 'clearkey';
|
|
48
|
-
bunny?: BunnyCDNDRMConfig;
|
|
49
27
|
}
|
|
50
28
|
export interface SubtitleTrack {
|
|
51
29
|
url: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IVideoPlayer.d.ts","sourceRoot":"","sources":["../../src/interfaces/IVideoPlayer.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,aAAa,CAAC;IAGzB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;CAC3E;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"IVideoPlayer.d.ts","sourceRoot":"","sources":["../../src/interfaces/IVideoPlayer.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,38 +24,11 @@ export interface VideoSource {
|
|
|
24
24
|
onAllSourcesFailed?: (errors: Array<{ url: string; error: any }>) => void; // Callback when all sources fail
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
export interface DRMToken {
|
|
28
|
-
token: string;
|
|
29
|
-
expires: number;
|
|
30
|
-
tokenVer?: string;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export interface DRMTokenProvider {
|
|
34
|
-
getManifestToken(): Promise<DRMToken | null>;
|
|
35
|
-
getSegmentToken(): Promise<DRMToken | null>;
|
|
36
|
-
getLicenseToken(): Promise<DRMToken | null>;
|
|
37
|
-
shouldRenewToken(token: DRMToken): boolean;
|
|
38
|
-
renewToken(token: DRMToken): Promise<DRMToken>;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export interface BunnyCDNDRMConfig {
|
|
42
|
-
libraryId: string;
|
|
43
|
-
videoId: string;
|
|
44
|
-
pullZoneUrl: string;
|
|
45
|
-
tokenProvider: DRMTokenProvider;
|
|
46
|
-
certificateUrl?: string;
|
|
47
|
-
licenseUrl?: string;
|
|
48
|
-
enableReferrerProtection?: boolean;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
27
|
export interface DRMConfig {
|
|
52
28
|
licenseUrl: string;
|
|
53
29
|
certificateUrl?: string;
|
|
54
30
|
headers?: Record<string, string>;
|
|
55
31
|
type: 'widevine' | 'playready' | 'fairplay' | 'clearkey';
|
|
56
|
-
|
|
57
|
-
// Bunny CDN specific configuration (optional)
|
|
58
|
-
bunny?: BunnyCDNDRMConfig;
|
|
59
32
|
}
|
|
60
33
|
|
|
61
34
|
export interface SubtitleTrack {
|
|
@@ -52,8 +52,6 @@ export declare class WebPlayer extends BasePlayer {
|
|
|
52
52
|
private selectedSubtitleKey;
|
|
53
53
|
private _kiTo;
|
|
54
54
|
private paywallController;
|
|
55
|
-
private drmManager;
|
|
56
|
-
private drmConfig;
|
|
57
55
|
private _playPromise;
|
|
58
56
|
private _deferredPause;
|
|
59
57
|
private _lastToggleAt;
|
|
@@ -106,8 +104,6 @@ export declare class WebPlayer extends BasePlayer {
|
|
|
106
104
|
private getMediaErrorMessage;
|
|
107
105
|
private updateBufferProgress;
|
|
108
106
|
load(source: any): Promise<void>;
|
|
109
|
-
private initializeDRM;
|
|
110
|
-
private convertDRMConfig;
|
|
111
107
|
private loadVideoSource;
|
|
112
108
|
private tryFallbackSource;
|
|
113
109
|
private showFallbackPoster;
|
|
@@ -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;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;
|
|
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;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAIhF,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,EAAE,CAAC,EAAE,GAAG,CAAC;QACT,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,CAA+C;IACzE,OAAO,CAAC,kBAAkB,CAA+C;IACzE,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;IAGjD,OAAO,CAAC,oBAAoB,CAA+B;IAC3D,OAAO,CAAC,qBAAqB,CAA+B;IAC5D,OAAO,CAAC,wBAAwB,CAA+B;IAG/D,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,CAAyB;IAChD,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,kBAAkB,CAAyB;IAGnD,OAAO,CAAC,oBAAoB,CAUxB;IACJ,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,kBAAkB,CAAa;IAGvC,OAAO,CAAC,cAAc,CAA+B;IAGrD,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,aAAa,CAAqC;IAG1D,OAAO,CAAC,aAAa,CAAa;IAGlC,OAAO,CAAC,gBAAgB,CAAa;IAGrC,OAAO,CAAC,qBAAqB,CAAiB;IAG9C,OAAO,CAAC,WAAW,CAAkB;IAGrC,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,cAAc,CAA0C;IAChE,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,oBAAoB,CAAkB;IAG9C,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,gBAAgB,CAAkB;IAG1C,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;cAgF9D,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA6K5C,OAAO,CAAC,iBAAiB,CAAkB;IAE3C,OAAO,CAAC,wBAAwB;IAoOhC,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,oBAAoB;IAYtB,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;YAqDxB,eAAe;YAoCf,iBAAiB;IA2G/B,OAAO,CAAC,kBAAkB;IAiF1B,OAAO,CAAC,gBAAgB;YAoBV,OAAO;IAuGrB,OAAO,CAAC,cAAc;YAyBR,QAAQ;IA4GtB,OAAO,CAAC,iBAAiB;YAQX,UAAU;YAMV,WAAW;IA2CzB,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,aAAa,CAAkC;YAEzC,mBAAmB;YAoEnB,cAAc;YAqBd,iBAAiB;IAa/B,OAAO,CAAC,oBAAoB;IAiD5B,OAAO,CAAC,0BAA0B;IAoDlC,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,2BAA2B,CAA+B;IAElE,OAAO,CAAC,wBAAwB;IA4BhC,OAAO,CAAC,wBAAwB;IA4BhC,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;IAyExC,OAAO,CAAC,kBAAkB;IA6C1B,OAAO,CAAC,gBAAgB;IAiHxB,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;IAuE3B,KAAK,IAAI,IAAI;IAwBN,YAAY,IAAI,IAAI;IAU3B,OAAO,CAAC,kBAAkB;IAuC1B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAkCxB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAY9B,IAAI,IAAI,IAAI;IAgBZ,MAAM,IAAI,IAAI;IAiBd,cAAc,IAAI,MAAM;IAYxB,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;IASnC,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAmDvD,OAAO,CAAC,mBAAmB;IAmH3B,OAAO,CAAC,uBAAuB;IAa/B,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAgChC,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;IA8sGvB,OAAO,CAAC,uBAAuB;IA+D/B,OAAO,CAAC,uBAAuB;IAsF/B,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,oBAAoB;IAgW5B,OAAO,CAAC,2BAA2B;IAwgBnC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAsMxC,SAAS,CAAC,cAAc,IAAI,IAAI;IAmKzB,gBAAgB,CAAC,MAAM,EAAE,GAAG;IA2CnC,OAAO,CAAC,eAAe;IAuCvB,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;IA8CzB,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;IAqBhB,OAAO,CAAC,iBAAiB;YA8CX,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;IA6H7B,OAAO,CAAC,wBAAwB;IA2DhC,OAAO,CAAC,kBAAkB;IA8BnB,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI;IAWnC,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAQtC,oBAAoB,IAAI,OAAO;IAOtC,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,wBAAwB;IAwChC,OAAO,CAAC,2BAA2B;IA6DnC,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,6BAA6B;IAkBrC,OAAO,CAAC,0BAA0B;IAgBlC,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,sBAAsB;IAsC9B,OAAO,CAAC,qBAAqB;IA4E7B,OAAO,CAAC,sBAAsB;IA8D9B,OAAO,CAAC,WAAW;IAmDnB,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,WAAW;YAoBL,QAAQ;YAqGR,UAAU;IAmDxB,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;IA2Bf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAqD/B"}
|
|
@@ -2,7 +2,6 @@ import { BasePlayer } from "../../core/dist/BasePlayer.js";
|
|
|
2
2
|
import { ChapterManager as CoreChapterManager } from "../../core/dist/index.js";
|
|
3
3
|
import { ChapterManager } from "./chapters/ChapterManager.js";
|
|
4
4
|
import YouTubeExtractor from "./utils/YouTubeExtractor.js";
|
|
5
|
-
import { DRMManager } from "./drm/DRMManager.js";
|
|
6
5
|
export class WebPlayer extends BasePlayer {
|
|
7
6
|
constructor() {
|
|
8
7
|
super(...arguments);
|
|
@@ -50,8 +49,6 @@ export class WebPlayer extends BasePlayer {
|
|
|
50
49
|
this.selectedSubtitleKey = 'off';
|
|
51
50
|
this._kiTo = null;
|
|
52
51
|
this.paywallController = null;
|
|
53
|
-
this.drmManager = null;
|
|
54
|
-
this.drmConfig = null;
|
|
55
52
|
this._playPromise = null;
|
|
56
53
|
this._deferredPause = false;
|
|
57
54
|
this._lastToggleAt = 0;
|
|
@@ -533,10 +530,6 @@ export class WebPlayer extends BasePlayer {
|
|
|
533
530
|
if (!this.video) {
|
|
534
531
|
throw new Error('Video element not initialized');
|
|
535
532
|
}
|
|
536
|
-
if (source.drm) {
|
|
537
|
-
this.debugLog('[WebPlayer] DRM configuration detected, initializing...');
|
|
538
|
-
await this.initializeDRM(source);
|
|
539
|
-
}
|
|
540
533
|
const sourceType = this.detectSourceType(source);
|
|
541
534
|
try {
|
|
542
535
|
await this.loadVideoSource(source.url, sourceType, source);
|
|
@@ -555,45 +548,6 @@ export class WebPlayer extends BasePlayer {
|
|
|
555
548
|
}
|
|
556
549
|
}
|
|
557
550
|
}
|
|
558
|
-
async initializeDRM(source) {
|
|
559
|
-
if (!source.drm)
|
|
560
|
-
return;
|
|
561
|
-
try {
|
|
562
|
-
const webDRMConfig = this.convertDRMConfig(source.drm);
|
|
563
|
-
this.drmManager = new DRMManager(webDRMConfig);
|
|
564
|
-
await this.drmManager.initialize();
|
|
565
|
-
this.debugLog('[WebPlayer] DRM initialized successfully');
|
|
566
|
-
this.drmConfig = webDRMConfig;
|
|
567
|
-
}
|
|
568
|
-
catch (error) {
|
|
569
|
-
console.error('[WebPlayer] Failed to initialize DRM:', error);
|
|
570
|
-
this.handleError({
|
|
571
|
-
code: 'DRM_INIT_ERROR',
|
|
572
|
-
message: 'Failed to initialize DRM protection',
|
|
573
|
-
type: 'drm',
|
|
574
|
-
fatal: true,
|
|
575
|
-
details: error
|
|
576
|
-
});
|
|
577
|
-
throw error;
|
|
578
|
-
}
|
|
579
|
-
}
|
|
580
|
-
convertDRMConfig(drmConfig) {
|
|
581
|
-
if (drmConfig.bunny) {
|
|
582
|
-
return {
|
|
583
|
-
provider: 'bunny',
|
|
584
|
-
bunny: drmConfig.bunny
|
|
585
|
-
};
|
|
586
|
-
}
|
|
587
|
-
return {
|
|
588
|
-
provider: 'generic',
|
|
589
|
-
generic: {
|
|
590
|
-
type: drmConfig.type === 'fairplay' ? 'fairplay' : 'widevine',
|
|
591
|
-
licenseUrl: drmConfig.licenseUrl,
|
|
592
|
-
certificateUrl: drmConfig.certificateUrl,
|
|
593
|
-
headers: drmConfig.headers
|
|
594
|
-
}
|
|
595
|
-
};
|
|
596
|
-
}
|
|
597
551
|
async loadVideoSource(url, sourceType, source) {
|
|
598
552
|
switch (sourceType) {
|
|
599
553
|
case 'hls':
|
|
@@ -797,12 +751,32 @@ export class WebPlayer extends BasePlayer {
|
|
|
797
751
|
hlsConfig.startPosition = this.config.startTime;
|
|
798
752
|
this.debugLog(`⏩ HLS startPosition set to: ${this.config.startTime}s (continue watching)`);
|
|
799
753
|
}
|
|
800
|
-
this.
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
754
|
+
if (this.source?.drm) {
|
|
755
|
+
try {
|
|
756
|
+
const { DRMManager } = await import('./drm/DRMManager');
|
|
757
|
+
const drmManager = new DRMManager(this.video, this.source.drm, this.config.debug);
|
|
758
|
+
this.debugLog('Initializing DRM for HLS...');
|
|
759
|
+
const initResult = await drmManager.initialize();
|
|
760
|
+
if (!initResult.success) {
|
|
761
|
+
throw initResult.error || new Error('DRM initialization failed');
|
|
762
|
+
}
|
|
763
|
+
const drmConfig = drmManager.getHLSConfig();
|
|
764
|
+
Object.assign(hlsConfig, drmConfig);
|
|
765
|
+
this.debugLog(`✅ HLS DRM configured: ${initResult.drmType} (${initResult.keySystem})`);
|
|
766
|
+
this._drmManager = drmManager;
|
|
767
|
+
}
|
|
768
|
+
catch (error) {
|
|
769
|
+
this.handleError({
|
|
770
|
+
code: 'DRM_ERROR',
|
|
771
|
+
message: `Failed to initialize DRM: ${error.message || error}`,
|
|
772
|
+
type: 'drm',
|
|
773
|
+
fatal: true,
|
|
774
|
+
details: error
|
|
775
|
+
});
|
|
776
|
+
throw error;
|
|
777
|
+
}
|
|
805
778
|
}
|
|
779
|
+
this.hls = new window.Hls(hlsConfig);
|
|
806
780
|
this.hls.loadSource(url);
|
|
807
781
|
this.hls.attachMedia(this.video);
|
|
808
782
|
this.hls.on(window.Hls.Events.MANIFEST_PARSED, (event, data) => {
|
|
@@ -833,11 +807,6 @@ export class WebPlayer extends BasePlayer {
|
|
|
833
807
|
});
|
|
834
808
|
}
|
|
835
809
|
else if (this.video.canPlayType('application/vnd.apple.mpegurl')) {
|
|
836
|
-
if (this.drmManager && this.drmConfig) {
|
|
837
|
-
this.debugLog('[WebPlayer] Setting up DRM for native Safari HLS playback...');
|
|
838
|
-
await this.drmManager.setupDRM(this.video, url);
|
|
839
|
-
this.debugLog('[WebPlayer] DRM setup complete');
|
|
840
|
-
}
|
|
841
810
|
this.video.src = url;
|
|
842
811
|
}
|
|
843
812
|
else {
|
|
@@ -873,14 +842,34 @@ export class WebPlayer extends BasePlayer {
|
|
|
873
842
|
await this.loadScript('https://cdn.dashjs.org/latest/dash.all.min.js');
|
|
874
843
|
}
|
|
875
844
|
this.dash = window.dashjs.MediaPlayer().create();
|
|
876
|
-
if (this.drmManager && this.drmConfig) {
|
|
877
|
-
this.debugLog('[WebPlayer] Setting up DRM for DASH playback...');
|
|
878
|
-
await this.drmManager.setupDRM(this.video, url);
|
|
879
|
-
this.debugLog('[WebPlayer] DRM setup complete');
|
|
880
|
-
}
|
|
881
845
|
if (this.config.startTime !== undefined && this.config.startTime > 0) {
|
|
882
846
|
this.debugLog(`⏩ DASH will seek to: ${this.config.startTime}s on ready (continue watching)`);
|
|
883
847
|
}
|
|
848
|
+
if (this.source?.drm) {
|
|
849
|
+
try {
|
|
850
|
+
const { DRMManager } = await import('./drm/DRMManager');
|
|
851
|
+
const drmManager = new DRMManager(this.video, this.source.drm, this.config.debug);
|
|
852
|
+
this.debugLog('Initializing DRM for DASH...');
|
|
853
|
+
const initResult = await drmManager.initialize();
|
|
854
|
+
if (!initResult.success) {
|
|
855
|
+
throw initResult.error || new Error('DRM initialization failed');
|
|
856
|
+
}
|
|
857
|
+
const protectionData = drmManager.getDashProtectionData();
|
|
858
|
+
this.dash.setProtectionData(protectionData);
|
|
859
|
+
this.debugLog(`✅ DASH DRM configured: ${initResult.drmType} (${initResult.keySystem})`);
|
|
860
|
+
this._drmManager = drmManager;
|
|
861
|
+
}
|
|
862
|
+
catch (error) {
|
|
863
|
+
this.handleError({
|
|
864
|
+
code: 'DRM_ERROR',
|
|
865
|
+
message: `Failed to initialize DRM: ${error.message || error}`,
|
|
866
|
+
type: 'drm',
|
|
867
|
+
fatal: true,
|
|
868
|
+
details: error
|
|
869
|
+
});
|
|
870
|
+
throw error;
|
|
871
|
+
}
|
|
872
|
+
}
|
|
884
873
|
this.dash.initialize(this.video, url, this.config.autoPlay);
|
|
885
874
|
this.dash.updateSettings({
|
|
886
875
|
streaming: {
|
|
@@ -7524,14 +7513,10 @@ export class WebPlayer extends BasePlayer {
|
|
|
7524
7513
|
this.isDetectedAsLive = true;
|
|
7525
7514
|
}
|
|
7526
7515
|
this.lastDuration = duration;
|
|
7527
|
-
|
|
7528
|
-
!isFinite(duration) ||
|
|
7529
|
-
this.isDetectedAsLive ||
|
|
7530
|
-
(duration > 0 && (duration - current) < 15);
|
|
7531
|
-
if (isLiveStream) {
|
|
7516
|
+
if (this.config.isLive === true) {
|
|
7532
7517
|
timeDisplay.innerHTML = '<span class="uvf-live-dot"></span><span class="uvf-live-text">LIVE</span>';
|
|
7533
7518
|
timeDisplay.classList.add('uvf-is-live');
|
|
7534
|
-
this.debugLog('Time display: LIVE stream
|
|
7519
|
+
this.debugLog('Time display: LIVE stream (isLive=true)');
|
|
7535
7520
|
}
|
|
7536
7521
|
else {
|
|
7537
7522
|
const currentFormatted = this.formatTime(current);
|
|
@@ -9715,6 +9700,16 @@ export class WebPlayer extends BasePlayer {
|
|
|
9715
9700
|
return epgBtn ? epgBtn.style.display !== 'none' : false;
|
|
9716
9701
|
}
|
|
9717
9702
|
async cleanup() {
|
|
9703
|
+
if (this._drmManager) {
|
|
9704
|
+
try {
|
|
9705
|
+
this.debugLog('Cleaning up DRM resources');
|
|
9706
|
+
await this._drmManager.destroy();
|
|
9707
|
+
this._drmManager = null;
|
|
9708
|
+
}
|
|
9709
|
+
catch (error) {
|
|
9710
|
+
this.debugLog('Error cleaning up DRM:', error);
|
|
9711
|
+
}
|
|
9712
|
+
}
|
|
9718
9713
|
if (this.hls) {
|
|
9719
9714
|
this.hls.destroy();
|
|
9720
9715
|
this.hls = null;
|
|
@@ -9729,12 +9724,6 @@ export class WebPlayer extends BasePlayer {
|
|
|
9729
9724
|
}
|
|
9730
9725
|
async destroy() {
|
|
9731
9726
|
await this.cleanup();
|
|
9732
|
-
if (this.drmManager) {
|
|
9733
|
-
this.debugLog('[WebPlayer] Cleaning up DRM resources...');
|
|
9734
|
-
this.drmManager.destroy();
|
|
9735
|
-
this.drmManager = null;
|
|
9736
|
-
this.drmConfig = null;
|
|
9737
|
-
}
|
|
9738
9727
|
if (this.hideControlsTimeout) {
|
|
9739
9728
|
clearTimeout(this.hideControlsTimeout);
|
|
9740
9729
|
this.hideControlsTimeout = null;
|