unified-video-framework 1.4.443 → 1.4.445

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/package.json +1 -1
  2. package/packages/core/dist/version.d.ts +1 -1
  3. package/packages/core/dist/version.js +1 -1
  4. package/packages/core/src/version.ts +1 -1
  5. package/packages/web/dist/WebPlayer.d.ts.map +1 -1
  6. package/packages/web/dist/WebPlayer.js +52 -414
  7. package/packages/web/dist/WebPlayer.js.map +1 -1
  8. package/packages/web/dist/react/types/FlashNewsTickerTypes.d.ts.map +1 -1
  9. package/packages/web/src/WebPlayer.ts +60 -464
  10. package/packages/web/src/react/types/FlashNewsTickerTypes.ts +2 -5
  11. package/packages/web/dist/WebPlayer.d.ts +0 -353
  12. package/packages/web/dist/ads/GoogleAdsManager.d.ts +0 -57
  13. package/packages/web/dist/ads/LiveStreamAdsManager.d.ts +0 -29
  14. package/packages/web/dist/ads/LiveStreamAdsManager.d.ts.map +0 -1
  15. package/packages/web/dist/ads/LiveStreamAdsManager.js +0 -168
  16. package/packages/web/dist/ads/LiveStreamAdsManager.js.map +0 -1
  17. package/packages/web/dist/chapters/ChapterManager.d.ts +0 -42
  18. package/packages/web/dist/chapters/CreditsButtonController.d.ts +0 -46
  19. package/packages/web/dist/chapters/SkipButtonController.d.ts +0 -31
  20. package/packages/web/dist/chapters/UserPreferencesManager.d.ts +0 -25
  21. package/packages/web/dist/chapters/index.d.ts +0 -12
  22. package/packages/web/dist/chapters/types/ChapterTypes.d.ts +0 -136
  23. package/packages/web/dist/drm/BunnyCDNDRMProvider.d.ts +0 -13
  24. package/packages/web/dist/drm/BunnyCDNDRMProvider.d.ts.map +0 -1
  25. package/packages/web/dist/drm/BunnyCDNDRMProvider.js +0 -65
  26. package/packages/web/dist/drm/BunnyCDNDRMProvider.js.map +0 -1
  27. package/packages/web/dist/drm/DRMManager.d.ts +0 -20
  28. package/packages/web/dist/drm/DRMManager.d.ts.map +0 -1
  29. package/packages/web/dist/drm/DRMManager.js +0 -130
  30. package/packages/web/dist/drm/DRMManager.js.map +0 -1
  31. package/packages/web/dist/drm/FairPlayDRMHandler.d.ts +0 -24
  32. package/packages/web/dist/drm/FairPlayDRMHandler.d.ts.map +0 -1
  33. package/packages/web/dist/drm/FairPlayDRMHandler.js +0 -190
  34. package/packages/web/dist/drm/FairPlayDRMHandler.js.map +0 -1
  35. package/packages/web/dist/drm/WidevineDRMHandler.d.ts +0 -21
  36. package/packages/web/dist/drm/WidevineDRMHandler.d.ts.map +0 -1
  37. package/packages/web/dist/drm/WidevineDRMHandler.js +0 -143
  38. package/packages/web/dist/drm/WidevineDRMHandler.js.map +0 -1
  39. package/packages/web/dist/drm/index.d.ts +0 -15
  40. package/packages/web/dist/drm/index.d.ts.map +0 -1
  41. package/packages/web/dist/drm/index.js +0 -13
  42. package/packages/web/dist/drm/index.js.map +0 -1
  43. package/packages/web/dist/drm/providers/BunnyNetProvider.d.ts +0 -19
  44. package/packages/web/dist/drm/providers/BunnyNetProvider.d.ts.map +0 -1
  45. package/packages/web/dist/drm/providers/BunnyNetProvider.js +0 -112
  46. package/packages/web/dist/drm/providers/BunnyNetProvider.js.map +0 -1
  47. package/packages/web/dist/drm/providers/GenericProvider.d.ts +0 -30
  48. package/packages/web/dist/drm/providers/GenericProvider.d.ts.map +0 -1
  49. package/packages/web/dist/drm/providers/GenericProvider.js +0 -104
  50. package/packages/web/dist/drm/providers/GenericProvider.js.map +0 -1
  51. package/packages/web/dist/drm/systems/BaseDRM.d.ts +0 -18
  52. package/packages/web/dist/drm/systems/BaseDRM.d.ts.map +0 -1
  53. package/packages/web/dist/drm/systems/BaseDRM.js +0 -29
  54. package/packages/web/dist/drm/systems/BaseDRM.js.map +0 -1
  55. package/packages/web/dist/drm/systems/FairPlayDRM.d.ts +0 -32
  56. package/packages/web/dist/drm/systems/FairPlayDRM.d.ts.map +0 -1
  57. package/packages/web/dist/drm/systems/FairPlayDRM.js +0 -208
  58. package/packages/web/dist/drm/systems/FairPlayDRM.js.map +0 -1
  59. package/packages/web/dist/drm/systems/PlayReadyDRM.d.ts +0 -9
  60. package/packages/web/dist/drm/systems/PlayReadyDRM.d.ts.map +0 -1
  61. package/packages/web/dist/drm/systems/PlayReadyDRM.js +0 -114
  62. package/packages/web/dist/drm/systems/PlayReadyDRM.js.map +0 -1
  63. package/packages/web/dist/drm/systems/WidevineDRM.d.ts +0 -9
  64. package/packages/web/dist/drm/systems/WidevineDRM.d.ts.map +0 -1
  65. package/packages/web/dist/drm/systems/WidevineDRM.js +0 -159
  66. package/packages/web/dist/drm/systems/WidevineDRM.js.map +0 -1
  67. package/packages/web/dist/drm/types/BunnyNetTypes.d.ts +0 -20
  68. package/packages/web/dist/drm/types/BunnyNetTypes.d.ts.map +0 -1
  69. package/packages/web/dist/drm/types/BunnyNetTypes.js +0 -8
  70. package/packages/web/dist/drm/types/BunnyNetTypes.js.map +0 -1
  71. package/packages/web/dist/drm/types/DRMTypes.d.ts +0 -60
  72. package/packages/web/dist/drm/types/DRMTypes.d.ts.map +0 -1
  73. package/packages/web/dist/drm/types/DRMTypes.js +0 -22
  74. package/packages/web/dist/drm/types/DRMTypes.js.map +0 -1
  75. package/packages/web/dist/drm/utils/BrowserDetector.d.ts +0 -20
  76. package/packages/web/dist/drm/utils/BrowserDetector.d.ts.map +0 -1
  77. package/packages/web/dist/drm/utils/BrowserDetector.js +0 -211
  78. package/packages/web/dist/drm/utils/BrowserDetector.js.map +0 -1
  79. package/packages/web/dist/drm/utils/CertificateManager.d.ts +0 -15
  80. package/packages/web/dist/drm/utils/CertificateManager.d.ts.map +0 -1
  81. package/packages/web/dist/drm/utils/CertificateManager.js +0 -46
  82. package/packages/web/dist/drm/utils/CertificateManager.js.map +0 -1
  83. package/packages/web/dist/drm/utils/DRMErrorHandler.d.ts +0 -7
  84. package/packages/web/dist/drm/utils/DRMErrorHandler.d.ts.map +0 -1
  85. package/packages/web/dist/drm/utils/DRMErrorHandler.js +0 -49
  86. package/packages/web/dist/drm/utils/DRMErrorHandler.js.map +0 -1
  87. package/packages/web/dist/drm/utils/LicenseRequestHandler.d.ts +0 -15
  88. package/packages/web/dist/drm/utils/LicenseRequestHandler.d.ts.map +0 -1
  89. package/packages/web/dist/drm/utils/LicenseRequestHandler.js +0 -110
  90. package/packages/web/dist/drm/utils/LicenseRequestHandler.js.map +0 -1
  91. package/packages/web/dist/drm.d.ts +0 -4
  92. package/packages/web/dist/drm.js +0 -5
  93. package/packages/web/dist/index.d.ts +0 -7
  94. package/packages/web/dist/paywall/EmailAuthController.d.ts +0 -60
  95. package/packages/web/dist/paywall/PaywallController.d.ts +0 -74
  96. package/packages/web/dist/react/EPG.d.ts +0 -8
  97. package/packages/web/dist/react/WebPlayerView.d.ts +0 -397
  98. package/packages/web/dist/react/WebPlayerViewWithEPG.d.ts +0 -97
  99. package/packages/web/dist/react/components/ChapterProgress.d.ts +0 -22
  100. package/packages/web/dist/react/components/EPGNavigationControls.d.ts +0 -15
  101. package/packages/web/dist/react/components/EPGOverlay-improved-positioning.d.ts +0 -5
  102. package/packages/web/dist/react/components/EPGOverlay.d.ts +0 -5
  103. package/packages/web/dist/react/components/EPGProgramDetails.d.ts +0 -13
  104. package/packages/web/dist/react/components/EPGProgramGrid.d.ts +0 -19
  105. package/packages/web/dist/react/components/EPGTimelineHeader.d.ts +0 -16
  106. package/packages/web/dist/react/components/SkipButton.d.ts +0 -18
  107. package/packages/web/dist/react/components/commerce/ProductBadge.d.ts +0 -10
  108. package/packages/web/dist/react/components/commerce/ProductPanel.d.ts +0 -13
  109. package/packages/web/dist/react/examples/google-ads-example.d.ts +0 -4
  110. package/packages/web/dist/react/examples/live-stream-ads-example.d.ts +0 -8
  111. package/packages/web/dist/react/examples/live-stream-ads-example.d.ts.map +0 -1
  112. package/packages/web/dist/react/examples/live-stream-ads-example.js +0 -177
  113. package/packages/web/dist/react/examples/live-stream-ads-example.js.map +0 -1
  114. package/packages/web/dist/react/hooks/useChapters.d.ts +0 -29
  115. package/packages/web/dist/react/hooks/useCommerceSync.d.ts +0 -8
  116. package/packages/web/dist/react/types/EPGTypes.d.ts +0 -101
  117. package/packages/web/dist/react/types/FlashNewsTickerTypes.d.ts +0 -146
  118. package/packages/web/dist/react/types/VideoCommerceTypes.d.ts +0 -109
  119. package/packages/web/dist/react/utils/EPGUtils.d.ts +0 -21
  120. package/packages/web/dist/test/epg-test.d.ts +0 -3
  121. package/packages/web/dist/utils/YouTubeExtractor.d.ts +0 -38
@@ -1,190 +0,0 @@
1
- import { DRMError } from "./types/DRMTypes.js";
2
- import { BunnyCDNDRMProvider } from "./BunnyCDNDRMProvider.js";
3
- export class FairPlayDRMHandler {
4
- constructor(config) {
5
- this.bunnyProvider = null;
6
- this.videoElement = null;
7
- this.certificateData = null;
8
- this.pendingSessions = new Set();
9
- this.config = config;
10
- if (config.provider === 'bunny' && config.bunny) {
11
- this.bunnyProvider = new BunnyCDNDRMProvider(config.bunny);
12
- }
13
- }
14
- isSupported() {
15
- const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
16
- return !!(isSafari &&
17
- window.WebKitMediaKeys &&
18
- navigator.requestMediaKeySystemAccess);
19
- }
20
- async initialize() {
21
- if (!this.isSupported()) {
22
- throw new DRMError('FairPlay DRM is not supported in this browser', 'FAIRPLAY_NOT_SUPPORTED');
23
- }
24
- console.log('[FairPlay] Initializing DRM system...');
25
- try {
26
- this.certificateData = await this.fetchCertificate();
27
- console.log('[FairPlay] Certificate loaded:', this.certificateData.byteLength, 'bytes');
28
- }
29
- catch (error) {
30
- console.error('[FairPlay] Failed to initialize:', error);
31
- throw new DRMError('Failed to initialize FairPlay DRM', 'FAIRPLAY_INIT_ERROR', error);
32
- }
33
- }
34
- async fetchCertificate() {
35
- const certificateUrl = this.getCertificateUrl();
36
- const headers = this.getCertificateHeaders();
37
- console.log('[FairPlay] Fetching certificate from:', certificateUrl);
38
- try {
39
- const response = await fetch(certificateUrl, { headers });
40
- if (!response.ok) {
41
- throw new Error(`Certificate fetch failed: ${response.status} ${response.statusText}`);
42
- }
43
- const certificate = await response.arrayBuffer();
44
- return certificate;
45
- }
46
- catch (error) {
47
- console.error('[FairPlay] Certificate fetch failed:', error);
48
- throw new DRMError('Failed to fetch FairPlay certificate', 'CERTIFICATE_FETCH_ERROR', error);
49
- }
50
- }
51
- getCertificateUrl() {
52
- if (this.config.provider === 'bunny' && this.bunnyProvider) {
53
- return this.bunnyProvider.getFairPlayCertificateUrl();
54
- }
55
- else if (this.config.provider === 'generic' && this.config.generic) {
56
- if (!this.config.generic.certificateUrl) {
57
- throw new DRMError('FairPlay certificate URL is required', 'NO_CERTIFICATE_URL');
58
- }
59
- return this.config.generic.certificateUrl;
60
- }
61
- throw new DRMError('No certificate URL configured', 'NO_CERTIFICATE_URL');
62
- }
63
- getCertificateHeaders() {
64
- if (this.config.provider === 'generic' && this.config.generic?.certificateHeaders) {
65
- return this.config.generic.certificateHeaders;
66
- }
67
- return {};
68
- }
69
- async setupDRM(videoElement, manifestUrl) {
70
- if (!this.certificateData) {
71
- throw new DRMError('Certificate not loaded', 'CERTIFICATE_NOT_LOADED');
72
- }
73
- this.videoElement = videoElement;
74
- videoElement.addEventListener('webkitneedkey', this.onWebkitNeedKey.bind(this));
75
- console.log('[FairPlay] DRM setup complete, waiting for key requests');
76
- }
77
- async onWebkitNeedKey(event) {
78
- console.log('[FairPlay] Key request event received');
79
- try {
80
- if (!this.certificateData || !this.videoElement) {
81
- throw new DRMError('DRM not properly initialized', 'DRM_NOT_INITIALIZED');
82
- }
83
- const contentId = this.extractContentId(event.initData);
84
- const keySession = event.target.webkitKeys.createSession('video/mp4', event.initData);
85
- if (!keySession) {
86
- throw new DRMError('Failed to create key session', 'SESSION_CREATE_ERROR');
87
- }
88
- this.pendingSessions.add(keySession);
89
- keySession.addEventListener('webkitkeymessage', async (messageEvent) => {
90
- await this.onKeyMessage(keySession, messageEvent, contentId);
91
- });
92
- keySession.addEventListener('webkitkeyadded', () => {
93
- console.log('[FairPlay] Key added successfully');
94
- this.pendingSessions.delete(keySession);
95
- });
96
- keySession.addEventListener('webkitkeyerror', () => {
97
- console.error('[FairPlay] Key error:', keySession.error);
98
- this.pendingSessions.delete(keySession);
99
- });
100
- }
101
- catch (error) {
102
- console.error('[FairPlay] Failed to handle key request:', error);
103
- throw new DRMError('Failed to process FairPlay key request', 'KEY_REQUEST_ERROR', error);
104
- }
105
- }
106
- extractContentId(initData) {
107
- const initDataString = String.fromCharCode.apply(null, Array.from(new Uint8Array(initData)));
108
- const contentIdMatch = initDataString.match(/skd:\/\/([^"'\s]+)/);
109
- if (contentIdMatch && contentIdMatch[1]) {
110
- return contentIdMatch[1];
111
- }
112
- return initDataString;
113
- }
114
- async onKeyMessage(keySession, event, contentId) {
115
- console.log('[FairPlay] Key message received, requesting license');
116
- try {
117
- const spcData = event.message;
118
- const ckcData = await this.requestLicense(spcData, contentId);
119
- keySession.update(new Uint8Array(ckcData));
120
- console.log('[FairPlay] License applied successfully');
121
- }
122
- catch (error) {
123
- console.error('[FairPlay] Failed to process license:', error);
124
- throw new DRMError('Failed to process FairPlay license', 'LICENSE_PROCESS_ERROR', error);
125
- }
126
- }
127
- async requestLicense(spcData, contentId) {
128
- const licenseUrl = this.getLicenseUrl(contentId);
129
- const headers = await this.getLicenseHeaders();
130
- console.log('[FairPlay] Requesting license from:', licenseUrl);
131
- try {
132
- const response = await fetch(licenseUrl, {
133
- method: 'POST',
134
- headers: {
135
- ...headers,
136
- 'Content-Type': 'application/octet-stream'
137
- },
138
- body: spcData
139
- });
140
- if (!response.ok) {
141
- throw new Error(`License request failed: ${response.status} ${response.statusText}`);
142
- }
143
- const ckcData = await response.arrayBuffer();
144
- console.log('[FairPlay] License received:', ckcData.byteLength, 'bytes');
145
- return ckcData;
146
- }
147
- catch (error) {
148
- console.error('[FairPlay] License request failed:', error);
149
- throw new DRMError('Failed to retrieve FairPlay license', 'LICENSE_FETCH_ERROR', error);
150
- }
151
- }
152
- getLicenseUrl(contentId) {
153
- if (this.config.provider === 'bunny' && this.bunnyProvider) {
154
- return this.bunnyProvider.getFairPlayLicenseUrl();
155
- }
156
- else if (this.config.provider === 'generic' && this.config.generic) {
157
- return this.config.generic.licenseUrl;
158
- }
159
- throw new DRMError('No license URL configured', 'NO_LICENSE_URL');
160
- }
161
- async getLicenseHeaders() {
162
- if (this.config.provider === 'bunny' && this.bunnyProvider) {
163
- return await this.bunnyProvider.getLicenseHeaders();
164
- }
165
- else if (this.config.provider === 'generic' && this.config.generic) {
166
- return this.config.generic.headers || {};
167
- }
168
- return {};
169
- }
170
- async onLicenseRequest(licenseRequest) {
171
- return await this.requestLicense(new Uint8Array(licenseRequest), '');
172
- }
173
- destroy() {
174
- if (this.videoElement) {
175
- this.videoElement.removeEventListener('webkitneedkey', this.onWebkitNeedKey.bind(this));
176
- this.videoElement = null;
177
- }
178
- this.pendingSessions.forEach(session => {
179
- try {
180
- session.close();
181
- }
182
- catch (e) {
183
- }
184
- });
185
- this.pendingSessions.clear();
186
- this.certificateData = null;
187
- this.bunnyProvider = null;
188
- }
189
- }
190
- //# sourceMappingURL=FairPlayDRMHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FairPlayDRMHandler.js","sourceRoot":"","sources":["../../src/drm/FairPlayDRMHandler.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { IDRMHandler, WebDRMConfig } from './types/DRMTypes';
2
- export declare class WidevineDRMHandler implements IDRMHandler {
3
- private mediaKeys;
4
- private config;
5
- private bunnyProvider;
6
- private videoElement;
7
- private pendingLicenseRequests;
8
- constructor(config: WebDRMConfig);
9
- isSupported(): boolean;
10
- initialize(): Promise<void>;
11
- private getKeySystemConfiguration;
12
- setupDRM(videoElement: HTMLVideoElement, manifestUrl: string): Promise<void>;
13
- private onEncrypted;
14
- private onMessage;
15
- private requestLicense;
16
- private getLicenseUrl;
17
- private getLicenseHeaders;
18
- onLicenseRequest(licenseRequest: ArrayBuffer): Promise<ArrayBuffer>;
19
- destroy(): void;
20
- }
21
- //# sourceMappingURL=WidevineDRMHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WidevineDRMHandler.d.ts","sourceRoot":"","sources":["../../src/drm/WidevineDRMHandler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,YAAY,EAA6B,MAAM,kBAAkB,CAAC;AAGxF,qBAAa,kBAAmB,YAAW,WAAW;IACpD,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,sBAAsB,CAA0D;gBAE5E,MAAM,EAAE,YAAY;IAWhC,WAAW,IAAI,OAAO;IAUhB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkCjC,OAAO,CAAC,yBAAyB;IAsB3B,QAAQ,CAAC,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAkBpE,WAAW;YAiCX,SAAS;YA2BT,cAAc;IAmC5B,OAAO,CAAC,aAAa;YAYP,iBAAiB;IAYzB,gBAAgB,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAOzE,OAAO,IAAI,IAAI;CAShB"}
@@ -1,143 +0,0 @@
1
- import { DRM_KEY_SYSTEMS, DRMError } from "./types/DRMTypes.js";
2
- import { BunnyCDNDRMProvider } from "./BunnyCDNDRMProvider.js";
3
- export class WidevineDRMHandler {
4
- constructor(config) {
5
- this.mediaKeys = null;
6
- this.bunnyProvider = null;
7
- this.videoElement = null;
8
- this.pendingLicenseRequests = new Map();
9
- this.config = config;
10
- if (config.provider === 'bunny' && config.bunny) {
11
- this.bunnyProvider = new BunnyCDNDRMProvider(config.bunny);
12
- }
13
- }
14
- isSupported() {
15
- return !!(typeof navigator.requestMediaKeySystemAccess === 'function' &&
16
- typeof window.MediaKeySystemAccess !== 'undefined');
17
- }
18
- async initialize() {
19
- if (!this.isSupported()) {
20
- throw new DRMError('Widevine DRM is not supported in this browser', 'WIDEVINE_NOT_SUPPORTED');
21
- }
22
- console.log('[Widevine] Initializing DRM system...');
23
- try {
24
- const keySystemAccess = await navigator.requestMediaKeySystemAccess(DRM_KEY_SYSTEMS.WIDEVINE, this.getKeySystemConfiguration());
25
- this.mediaKeys = await keySystemAccess.createMediaKeys();
26
- console.log('[Widevine] MediaKeys created successfully');
27
- }
28
- catch (error) {
29
- console.error('[Widevine] Failed to initialize:', error);
30
- throw new DRMError('Failed to initialize Widevine DRM', 'WIDEVINE_INIT_ERROR', error);
31
- }
32
- }
33
- getKeySystemConfiguration() {
34
- return [{
35
- initDataTypes: ['cenc', 'webm'],
36
- audioCapabilities: [
37
- { contentType: 'audio/mp4; codecs="mp4a.40.2"' },
38
- { contentType: 'audio/webm; codecs="opus"' }
39
- ],
40
- videoCapabilities: [
41
- { contentType: 'video/mp4; codecs="avc1.42E01E"' },
42
- { contentType: 'video/mp4; codecs="avc1.4D401E"' },
43
- { contentType: 'video/mp4; codecs="avc1.640028"' },
44
- { contentType: 'video/webm; codecs="vp9"' }
45
- ],
46
- distinctiveIdentifier: 'optional',
47
- persistentState: 'optional',
48
- sessionTypes: ['temporary']
49
- }];
50
- }
51
- async setupDRM(videoElement, manifestUrl) {
52
- if (!this.mediaKeys) {
53
- throw new DRMError('MediaKeys not initialized', 'MEDIAKEYS_NOT_INITIALIZED');
54
- }
55
- this.videoElement = videoElement;
56
- await videoElement.setMediaKeys(this.mediaKeys);
57
- console.log('[Widevine] MediaKeys attached to video element');
58
- videoElement.addEventListener('encrypted', this.onEncrypted.bind(this));
59
- }
60
- async onEncrypted(event) {
61
- console.log('[Widevine] Encrypted event received:', event.initDataType);
62
- try {
63
- if (!this.mediaKeys) {
64
- throw new DRMError('MediaKeys not available', 'MEDIAKEYS_NOT_AVAILABLE');
65
- }
66
- const session = this.mediaKeys.createSession();
67
- session.addEventListener('message', async (messageEvent) => {
68
- await this.onMessage(session, messageEvent);
69
- });
70
- await session.generateRequest(event.initDataType, event.initData);
71
- console.log('[Widevine] License request generated');
72
- }
73
- catch (error) {
74
- console.error('[Widevine] Failed to handle encrypted event:', error);
75
- throw new DRMError('Failed to process encrypted media', 'ENCRYPTED_EVENT_ERROR', error);
76
- }
77
- }
78
- async onMessage(session, event) {
79
- console.log('[Widevine] License request message:', event.messageType);
80
- try {
81
- const license = await this.requestLicense(event.message);
82
- await session.update(license);
83
- console.log('[Widevine] License applied successfully');
84
- }
85
- catch (error) {
86
- console.error('[Widevine] Failed to process license:', error);
87
- throw new DRMError('Failed to process DRM license', 'LICENSE_REQUEST_ERROR', error);
88
- }
89
- }
90
- async requestLicense(challenge) {
91
- const licenseUrl = this.getLicenseUrl();
92
- const headers = await this.getLicenseHeaders();
93
- console.log('[Widevine] Requesting license from:', licenseUrl);
94
- try {
95
- const response = await fetch(licenseUrl, {
96
- method: 'POST',
97
- headers,
98
- body: challenge
99
- });
100
- if (!response.ok) {
101
- throw new Error(`License request failed: ${response.status} ${response.statusText}`);
102
- }
103
- const license = await response.arrayBuffer();
104
- console.log('[Widevine] License received:', license.byteLength, 'bytes');
105
- return license;
106
- }
107
- catch (error) {
108
- console.error('[Widevine] License request failed:', error);
109
- throw new DRMError('Failed to retrieve DRM license', 'LICENSE_FETCH_ERROR', error);
110
- }
111
- }
112
- getLicenseUrl() {
113
- if (this.config.provider === 'bunny' && this.bunnyProvider) {
114
- return this.bunnyProvider.getWidevineLicenseUrl();
115
- }
116
- else if (this.config.provider === 'generic' && this.config.generic) {
117
- return this.config.generic.licenseUrl;
118
- }
119
- throw new DRMError('No license URL configured', 'NO_LICENSE_URL');
120
- }
121
- async getLicenseHeaders() {
122
- if (this.config.provider === 'bunny' && this.bunnyProvider) {
123
- return await this.bunnyProvider.getLicenseHeaders();
124
- }
125
- else if (this.config.provider === 'generic' && this.config.generic) {
126
- return this.config.generic.headers || { 'Content-Type': 'application/octet-stream' };
127
- }
128
- return { 'Content-Type': 'application/octet-stream' };
129
- }
130
- async onLicenseRequest(licenseRequest) {
131
- return await this.requestLicense(licenseRequest);
132
- }
133
- destroy() {
134
- if (this.videoElement) {
135
- this.videoElement.removeEventListener('encrypted', this.onEncrypted.bind(this));
136
- this.videoElement = null;
137
- }
138
- this.mediaKeys = null;
139
- this.bunnyProvider = null;
140
- this.pendingLicenseRequests.clear();
141
- }
142
- }
143
- //# sourceMappingURL=WidevineDRMHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WidevineDRMHandler.js","sourceRoot":"","sources":["../../src/drm/WidevineDRMHandler.ts"],"names":[],"mappings":"AAKA,OAAO,EAA6B,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,OAAO,kBAAkB;IAO7B,YAAY,MAAoB;QANxB,cAAS,GAAqB,IAAI,CAAC;QAEnC,kBAAa,GAA+B,IAAI,CAAC;QACjD,iBAAY,GAA4B,IAAI,CAAC;QAC7C,2BAAsB,GAAgD,IAAI,GAAG,EAAE,CAAC;QAGtF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE;YAC/C,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC5D;IACH,CAAC;IAKD,WAAW;QACT,OAAO,CAAC,CAAC,CACP,OAAO,SAAS,CAAC,2BAA2B,KAAK,UAAU;YAC3D,OAAO,MAAM,CAAC,oBAAoB,KAAK,WAAW,CACnD,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;YACvB,MAAM,IAAI,QAAQ,CAChB,+CAA+C,EAC/C,wBAAwB,CACzB,CAAC;SACH;QAED,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QAErD,IAAI;YAEF,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,2BAA2B,CACjE,eAAe,CAAC,QAAQ,EACxB,IAAI,CAAC,yBAAyB,EAAE,CACjC,CAAC;YAGF,IAAI,CAAC,SAAS,GAAG,MAAM,eAAe,CAAC,eAAe,EAAE,CAAC;YAEzD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;SAC1D;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,IAAI,QAAQ,CAChB,mCAAmC,EACnC,qBAAqB,EACrB,KAAK,CACN,CAAC;SACH;IACH,CAAC;IAKO,yBAAyB;QAC/B,OAAO,CAAC;gBACN,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;gBAC/B,iBAAiB,EAAE;oBACjB,EAAE,WAAW,EAAE,+BAA+B,EAAE;oBAChD,EAAE,WAAW,EAAE,2BAA2B,EAAE;iBAC7C;gBACD,iBAAiB,EAAE;oBACjB,EAAE,WAAW,EAAE,iCAAiC,EAAE;oBAClD,EAAE,WAAW,EAAE,iCAAiC,EAAE;oBAClD,EAAE,WAAW,EAAE,iCAAiC,EAAE;oBAClD,EAAE,WAAW,EAAE,0BAA0B,EAAE;iBAC5C;gBACD,qBAAqB,EAAE,UAAU;gBACjC,eAAe,EAAE,UAAU;gBAC3B,YAAY,EAAE,CAAC,WAAW,CAAC;aAC5B,CAAC,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,QAAQ,CAAC,YAA8B,EAAE,WAAmB;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,IAAI,QAAQ,CAAC,2BAA2B,EAAE,2BAA2B,CAAC,CAAC;SAC9E;QAED,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAGjC,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAG9D,YAAY,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IAKO,KAAK,CAAC,WAAW,CAAC,KAA0B;QAClD,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAExE,IAAI;YACF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,MAAM,IAAI,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,CAAC;aAC1E;YAGD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAG/C,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,YAAkC,EAAE,EAAE;gBAC/E,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YAGH,MAAM,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,YAAa,EAAE,KAAK,CAAC,QAAS,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;SAErD;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;YACrE,MAAM,IAAI,QAAQ,CAChB,mCAAmC,EACnC,uBAAuB,EACvB,KAAK,CACN,CAAC;SACH;IACH,CAAC;IAKO,KAAK,CAAC,SAAS,CACrB,OAAwB,EACxB,KAA2B;QAE3B,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAEtE,IAAI;YAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAGzD,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;SAExD;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAC9D,MAAM,IAAI,QAAQ,CAChB,+BAA+B,EAC/B,uBAAuB,EACvB,KAAK,CACN,CAAC;SACH;IACH,CAAC;IAKO,KAAK,CAAC,cAAc,CAAC,SAAsB;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/C,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,UAAU,CAAC,CAAC;QAE/D,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;gBACvC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;aACtF;YAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEzE,OAAO,OAAO,CAAC;SAEhB;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC3D,MAAM,IAAI,QAAQ,CAChB,gCAAgC,EAChC,qBAAqB,EACrB,KAAK,CACN,CAAC;SACH;IACH,CAAC;IAKO,aAAa;QACnB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE;YAC1D,OAAO,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;SACnD;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACpE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;SACvC;QACD,MAAM,IAAI,QAAQ,CAAC,2BAA2B,EAAE,gBAAgB,CAAC,CAAC;IACpE,CAAC;IAKO,KAAK,CAAC,iBAAiB;QAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE;YAC1D,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;SACrD;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACpE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC;SACtF;QACD,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC;IACxD,CAAC;IAKD,KAAK,CAAC,gBAAgB,CAAC,cAA2B;QAChD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;IAKD,OAAO;QACL,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;CACF"}
@@ -1,15 +0,0 @@
1
- export { DRMManager } from './DRMManager';
2
- export { BunnyNetProvider } from './providers/BunnyNetProvider';
3
- export { GenericProvider } from './providers/GenericProvider';
4
- export type { ExtendedDRMConfig, DRMCapabilities, LicenseRequest, LicenseResponse, DRMInitResult, DRMError, } from './types/DRMTypes';
5
- export { DRMErrorCode, KEY_SYSTEMS } from './types/DRMTypes';
6
- export type { BunnyNetConfig, BunnyNetEndpoints } from './types/BunnyNetTypes';
7
- export { BUNNY_NET_BASE_URL, BUNNY_NET_ENDPOINTS } from './types/BunnyNetTypes';
8
- export { BrowserDetector } from './utils/BrowserDetector';
9
- export { DRMErrorHandler } from './utils/DRMErrorHandler';
10
- export { CertificateManager } from './utils/CertificateManager';
11
- export { BaseDRM } from './systems/BaseDRM';
12
- export { WidevineDRM } from './systems/WidevineDRM';
13
- export { FairPlayDRM } from './systems/FairPlayDRM';
14
- export { PlayReadyDRM } from './systems/PlayReadyDRM';
15
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/drm/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC"}
@@ -1,13 +0,0 @@
1
- export { DRMManager } from './DRMManager.js';
2
- export { BunnyNetProvider } from './providers/BunnyNetProvider.js';
3
- export { GenericProvider } from './providers/GenericProvider.js';
4
- export { DRMErrorCode, KEY_SYSTEMS } from './types/DRMTypes.js';
5
- export { BUNNY_NET_BASE_URL, BUNNY_NET_ENDPOINTS } from './types/BunnyNetTypes.js';
6
- export { BrowserDetector } from './utils/BrowserDetector.js';
7
- export { DRMErrorHandler } from './utils/DRMErrorHandler.js';
8
- export { CertificateManager } from './utils/CertificateManager.js';
9
- export { BaseDRM } from './systems/BaseDRM.js';
10
- export { WidevineDRM } from './systems/WidevineDRM.js';
11
- export { FairPlayDRM } from './systems/FairPlayDRM.js';
12
- export { PlayReadyDRM } from './systems/PlayReadyDRM.js';
13
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/drm/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC"}
@@ -1,19 +0,0 @@
1
- import type { DRMType, DRMConfig } from '@unified-video/core';
2
- import { ExtendedDRMConfig } from '../types/DRMTypes';
3
- import { BunnyNetConfig } from '../types/BunnyNetTypes';
4
- export declare class BunnyNetProvider {
5
- static createDRMConfig(config: BunnyNetConfig): ExtendedDRMConfig;
6
- static getLicenseUrl(drmType: DRMType, libraryId: string, videoId: string): string;
7
- static getCertificateUrl(libraryId: string): string;
8
- static validateConfig(config: BunnyNetConfig): {
9
- valid: boolean;
10
- error?: string;
11
- };
12
- static isBunnyNetConfig(config: DRMConfig): boolean;
13
- static extractIdsFromUrl(url: string): {
14
- libraryId?: string;
15
- videoId?: string;
16
- };
17
- static createMultiDRMConfig(libraryId: string, videoId: string): ExtendedDRMConfig;
18
- }
19
- //# sourceMappingURL=BunnyNetProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BunnyNetProvider.d.ts","sourceRoot":"","sources":["../../../src/drm/providers/BunnyNetProvider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAuB,MAAM,wBAAwB,CAAC;AAE7E,qBAAa,gBAAgB;IAI3B,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,iBAAiB;IAwCjE,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAmBlF,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAOnD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAqBjF,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAcnD,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IA2B/E,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB;CA4BnF"}
@@ -1,112 +0,0 @@
1
- import { DRMType as DRMTypeEnum } from "../../../../core/dist/index.js";
2
- import { BUNNY_NET_ENDPOINTS } from "../types/BunnyNetTypes.js";
3
- export class BunnyNetProvider {
4
- static createDRMConfig(config) {
5
- const { libraryId, videoId, drmType = DRMTypeEnum.WIDEVINE } = config;
6
- const drmConfig = {
7
- type: drmType,
8
- licenseUrl: this.getLicenseUrl(drmType, libraryId, videoId),
9
- provider: 'bunny',
10
- libraryId,
11
- videoId,
12
- };
13
- if (drmType === DRMTypeEnum.FAIRPLAY) {
14
- drmConfig.certificateUrl = this.getCertificateUrl(libraryId);
15
- drmConfig.fairplayOptions = {
16
- certificateUrl: this.getCertificateUrl(libraryId),
17
- licenseUrl: this.getLicenseUrl(drmType, libraryId, videoId),
18
- };
19
- }
20
- if (drmType === DRMTypeEnum.WIDEVINE) {
21
- drmConfig.widevineOptions = {
22
- licenseUrl: this.getLicenseUrl(drmType, libraryId, videoId),
23
- };
24
- }
25
- if (drmType === DRMTypeEnum.PLAYREADY) {
26
- drmConfig.playreadyOptions = {
27
- licenseUrl: this.getLicenseUrl(drmType, libraryId, videoId),
28
- };
29
- }
30
- return drmConfig;
31
- }
32
- static getLicenseUrl(drmType, libraryId, videoId) {
33
- switch (drmType) {
34
- case DRMTypeEnum.WIDEVINE:
35
- return BUNNY_NET_ENDPOINTS.WIDEVINE_LICENSE(libraryId, videoId);
36
- case DRMTypeEnum.FAIRPLAY:
37
- return BUNNY_NET_ENDPOINTS.FAIRPLAY_LICENSE(libraryId, videoId);
38
- case DRMTypeEnum.PLAYREADY:
39
- return BUNNY_NET_ENDPOINTS.PLAYREADY_LICENSE(libraryId, videoId);
40
- default:
41
- throw new Error(`Unsupported DRM type for Bunny.net: ${drmType}`);
42
- }
43
- }
44
- static getCertificateUrl(libraryId) {
45
- return BUNNY_NET_ENDPOINTS.FAIRPLAY_CERTIFICATE(libraryId);
46
- }
47
- static validateConfig(config) {
48
- if (!config.libraryId || !config.videoId) {
49
- return {
50
- valid: false,
51
- error: 'Bunny.net DRM requires libraryId and videoId',
52
- };
53
- }
54
- if (!/^\d+$/.test(config.libraryId)) {
55
- return {
56
- valid: false,
57
- error: 'libraryId must be a numeric string',
58
- };
59
- }
60
- return { valid: true };
61
- }
62
- static isBunnyNetConfig(config) {
63
- return !!(config.licenseUrl?.includes('bunnycdn.com') ||
64
- config.certificateUrl?.includes('bunnycdn.com') ||
65
- config.fairplayOptions?.licenseUrl?.includes('bunnycdn.com') ||
66
- config.fairplayOptions?.certificateUrl?.includes('bunnycdn.com') ||
67
- config.widevineOptions?.licenseUrl?.includes('bunnycdn.com') ||
68
- config.playreadyOptions?.licenseUrl?.includes('bunnycdn.com'));
69
- }
70
- static extractIdsFromUrl(url) {
71
- if (!url)
72
- return {};
73
- const widevineMatch = url.match(/WidevineLicense\/([^/]+)\/([^/?]+)/);
74
- const fairplayLicenseMatch = url.match(/FairPlay\/([^/]+)\/license.*videoId=([^&]+)/);
75
- const fairplayCertMatch = url.match(/FairPlay\/([^/]+)\/certificate/);
76
- const playreadyMatch = url.match(/PlayReadyLicense\/([^/]+)\/([^/?]+)/);
77
- if (widevineMatch) {
78
- return { libraryId: widevineMatch[1], videoId: widevineMatch[2] };
79
- }
80
- if (fairplayLicenseMatch) {
81
- return { libraryId: fairplayLicenseMatch[1], videoId: fairplayLicenseMatch[2] };
82
- }
83
- if (fairplayCertMatch) {
84
- return { libraryId: fairplayCertMatch[1] };
85
- }
86
- if (playreadyMatch) {
87
- return { libraryId: playreadyMatch[1], videoId: playreadyMatch[2] };
88
- }
89
- return {};
90
- }
91
- static createMultiDRMConfig(libraryId, videoId) {
92
- const config = {
93
- type: DRMTypeEnum.WIDEVINE,
94
- licenseUrl: this.getLicenseUrl(DRMTypeEnum.WIDEVINE, libraryId, videoId),
95
- provider: 'bunny',
96
- libraryId,
97
- videoId,
98
- widevineOptions: {
99
- licenseUrl: this.getLicenseUrl(DRMTypeEnum.WIDEVINE, libraryId, videoId),
100
- },
101
- fairplayOptions: {
102
- certificateUrl: this.getCertificateUrl(libraryId),
103
- licenseUrl: this.getLicenseUrl(DRMTypeEnum.FAIRPLAY, libraryId, videoId),
104
- },
105
- playreadyOptions: {
106
- licenseUrl: this.getLicenseUrl(DRMTypeEnum.PLAYREADY, libraryId, videoId),
107
- },
108
- };
109
- return config;
110
- }
111
- }
112
- //# sourceMappingURL=BunnyNetProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BunnyNetProvider.js","sourceRoot":"","sources":["../../../src/drm/providers/BunnyNetProvider.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- import type { DRMType, DRMConfig } from '@unified-video/core';
2
- import { ExtendedDRMConfig } from '../types/DRMTypes';
3
- export declare class GenericProvider {
4
- static createDRMConfig(config: {
5
- drmType: DRMType;
6
- licenseUrl: string;
7
- certificateUrl?: string;
8
- headers?: Record<string, string>;
9
- customData?: string;
10
- }): ExtendedDRMConfig;
11
- static validateConfig(config: DRMConfig): {
12
- valid: boolean;
13
- error?: string;
14
- };
15
- static createMultiDRMConfig(config: {
16
- widevine: {
17
- licenseUrl: string;
18
- };
19
- fairplay: {
20
- licenseUrl: string;
21
- certificateUrl: string;
22
- };
23
- playready?: {
24
- licenseUrl: string;
25
- customData?: string;
26
- };
27
- headers?: Record<string, string>;
28
- }): ExtendedDRMConfig;
29
- }
30
- //# sourceMappingURL=GenericProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GenericProvider.d.ts","sourceRoot":"","sources":["../../../src/drm/providers/GenericProvider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,qBAAa,eAAe;IAI1B,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE;QAC7B,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,iBAAiB;IA0CrB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAsD5E,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE;QAClC,QAAQ,EAAE;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QACjC,QAAQ,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAC;QACzD,SAAS,CAAC,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACxD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,GAAG,iBAAiB;CA+BtB"}