unified-video-framework 1.4.413 → 1.4.414
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 +6 -1
- package/packages/core/src/BasePlayer.d.ts +61 -0
- package/packages/core/src/BasePlayer.d.ts.map +1 -0
- package/packages/core/src/BasePlayer.js +175 -0
- package/packages/core/src/BasePlayer.js.map +1 -0
- package/packages/core/src/VideoPlayerFactory.d.ts +8 -0
- package/packages/core/src/VideoPlayerFactory.d.ts.map +1 -0
- package/packages/core/src/VideoPlayerFactory.js +95 -0
- package/packages/core/src/VideoPlayerFactory.js.map +1 -0
- package/packages/core/src/analytics/adapters/PlayerAnalyticsAdapter.d.ts +18 -0
- package/packages/core/src/analytics/adapters/PlayerAnalyticsAdapter.d.ts.map +1 -0
- package/packages/core/src/analytics/adapters/PlayerAnalyticsAdapter.js +117 -0
- package/packages/core/src/analytics/adapters/PlayerAnalyticsAdapter.js.map +1 -0
- package/packages/core/src/analytics/core/AnalyticsProvider.d.ts +18 -0
- package/packages/core/src/analytics/core/AnalyticsProvider.d.ts.map +1 -0
- package/packages/core/src/analytics/core/AnalyticsProvider.js +99 -0
- package/packages/core/src/analytics/core/AnalyticsProvider.js.map +1 -0
- package/packages/core/src/analytics/core/DynamicAnalyticsManager.d.ts +20 -0
- package/packages/core/src/analytics/core/DynamicAnalyticsManager.d.ts.map +1 -0
- package/packages/core/src/analytics/core/DynamicAnalyticsManager.js +161 -0
- package/packages/core/src/analytics/core/DynamicAnalyticsManager.js.map +1 -0
- package/packages/core/src/analytics/core/EventBatcher.d.ts +32 -0
- package/packages/core/src/analytics/core/EventBatcher.d.ts.map +1 -0
- package/packages/core/src/analytics/core/EventBatcher.js +98 -0
- package/packages/core/src/analytics/core/EventBatcher.js.map +1 -0
- package/packages/core/src/analytics/core/PlayerAnalytics.d.ts +19 -0
- package/packages/core/src/analytics/core/PlayerAnalytics.d.ts.map +1 -0
- package/packages/core/src/analytics/core/PlayerAnalytics.js +80 -0
- package/packages/core/src/analytics/core/PlayerAnalytics.js.map +1 -0
- package/packages/core/src/analytics/index.d.ts +13 -0
- package/packages/core/src/analytics/index.d.ts.map +1 -0
- package/packages/core/src/analytics/index.js +13 -0
- package/packages/core/src/analytics/index.js.map +1 -0
- package/packages/core/src/analytics/types/AnalyticsTypes.d.ts +239 -0
- package/packages/core/src/analytics/types/AnalyticsTypes.d.ts.map +1 -0
- package/packages/core/src/analytics/types/AnalyticsTypes.js +8 -0
- package/packages/core/src/analytics/types/AnalyticsTypes.js.map +1 -0
- package/packages/core/src/analytics/utils/DeviceDetection.d.ts +27 -0
- package/packages/core/src/analytics/utils/DeviceDetection.d.ts.map +1 -0
- package/packages/core/src/analytics/utils/DeviceDetection.js +184 -0
- package/packages/core/src/analytics/utils/DeviceDetection.js.map +1 -0
- package/packages/core/src/chapter-manager.d.ts +39 -0
- package/packages/core/src/chapter-manager.d.ts.map +1 -0
- package/packages/core/src/chapter-manager.js +173 -0
- package/packages/core/src/chapter-manager.js.map +1 -0
- package/packages/core/src/index.d.ts +10 -0
- package/packages/core/src/index.d.ts.map +1 -0
- package/packages/core/src/index.js +8 -0
- package/packages/core/src/index.js.map +1 -0
- package/packages/core/src/interfaces/IVideoPlayer.d.ts +229 -0
- package/packages/core/src/interfaces/IVideoPlayer.d.ts.map +1 -0
- package/packages/core/src/interfaces/IVideoPlayer.js +2 -0
- package/packages/core/src/interfaces/IVideoPlayer.js.map +1 -0
- package/packages/core/src/interfaces.d.ts +455 -0
- package/packages/core/src/interfaces.d.ts.map +1 -0
- package/packages/core/src/interfaces.js +32 -0
- package/packages/core/src/interfaces.js.map +1 -0
- package/packages/core/src/utils/EventEmitter.d.ts +14 -0
- package/packages/core/src/utils/EventEmitter.d.ts.map +1 -0
- package/packages/core/src/utils/EventEmitter.js +55 -0
- package/packages/core/src/utils/EventEmitter.js.map +1 -0
- package/packages/web/dist/drm/DRMManager.d.ts +1 -1
- package/packages/web/dist/drm/DRMManager.d.ts.map +1 -1
- package/packages/web/dist/drm/DRMManager.js +7 -7
- package/packages/web/dist/drm/DRMManager.js.map +1 -1
- package/packages/web/dist/drm/providers/BunnyNetProvider.d.ts +1 -1
- package/packages/web/dist/drm/providers/BunnyNetProvider.d.ts.map +1 -1
- package/packages/web/dist/drm/providers/BunnyNetProvider.js +13 -13
- package/packages/web/dist/drm/providers/BunnyNetProvider.js.map +1 -1
- package/packages/web/dist/drm/providers/GenericProvider.d.ts +1 -1
- package/packages/web/dist/drm/providers/GenericProvider.d.ts.map +1 -1
- package/packages/web/dist/drm/providers/GenericProvider.js +8 -6
- package/packages/web/dist/drm/providers/GenericProvider.js.map +1 -1
- package/packages/web/dist/drm/systems/FairPlayDRM.d.ts.map +1 -1
- package/packages/web/dist/drm/systems/FairPlayDRM.js +2 -2
- package/packages/web/dist/drm/systems/FairPlayDRM.js.map +1 -1
- package/packages/web/dist/drm/systems/PlayReadyDRM.d.ts.map +1 -1
- package/packages/web/dist/drm/systems/PlayReadyDRM.js +7 -7
- package/packages/web/dist/drm/systems/PlayReadyDRM.js.map +1 -1
- package/packages/web/dist/drm/systems/WidevineDRM.d.ts.map +1 -1
- package/packages/web/dist/drm/systems/WidevineDRM.js +2 -2
- package/packages/web/dist/drm/systems/WidevineDRM.js.map +1 -1
- package/packages/web/dist/drm/types/BunnyNetTypes.d.ts +1 -1
- package/packages/web/dist/drm/types/BunnyNetTypes.d.ts.map +1 -1
- package/packages/web/dist/drm/types/DRMTypes.d.ts +1 -1
- package/packages/web/dist/drm/types/DRMTypes.d.ts.map +1 -1
- package/packages/web/dist/drm/types/DRMTypes.js +5 -5
- package/packages/web/dist/drm/types/DRMTypes.js.map +1 -1
- package/packages/web/dist/drm/utils/BrowserDetector.d.ts +1 -1
- package/packages/web/dist/drm/utils/BrowserDetector.d.ts.map +1 -1
- package/packages/web/dist/drm/utils/BrowserDetector.js +10 -10
- package/packages/web/dist/drm/utils/BrowserDetector.js.map +1 -1
- package/packages/web/src/drm/DRMManager.ts +214 -213
- package/packages/web/src/drm/index.ts +37 -37
- package/packages/web/src/drm/providers/BunnyNetProvider.ts +171 -170
- package/packages/web/src/drm/providers/GenericProvider.ts +151 -148
- package/packages/web/src/drm/systems/BaseDRM.ts +68 -68
- package/packages/web/src/drm/systems/FairPlayDRM.ts +306 -305
- package/packages/web/src/drm/systems/PlayReadyDRM.ts +132 -131
- package/packages/web/src/drm/systems/WidevineDRM.ts +106 -105
- package/packages/web/src/drm/types/BunnyNetTypes.ts +35 -35
- package/packages/web/src/drm/types/DRMTypes.ts +92 -91
- package/packages/web/src/drm/utils/BrowserDetector.ts +233 -232
- package/packages/web/src/drm/utils/CertificateManager.ts +86 -86
- package/packages/web/src/drm/utils/DRMErrorHandler.ts +84 -84
- package/packages/web/src/drm/utils/LicenseRequestHandler.ts +180 -180
|
@@ -1,213 +1,214 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DRM Manager
|
|
3
|
-
* Main orchestrator for all DRM systems
|
|
4
|
-
* Provides a unified interface for HLS.js, dash.js, and native playback
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { DRMType, DRMConfig } from '@unified-video/core';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
private
|
|
20
|
-
private
|
|
21
|
-
private
|
|
22
|
-
private
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
this.
|
|
27
|
-
this.
|
|
28
|
-
this.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
this.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
this.drmSystem
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
if (ids.
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* DRM Manager
|
|
3
|
+
* Main orchestrator for all DRM systems
|
|
4
|
+
* Provides a unified interface for HLS.js, dash.js, and native playback
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { DRMType, DRMConfig } from '@unified-video/core';
|
|
8
|
+
import { DRMType as DRMTypeEnum } from '@unified-video/core';
|
|
9
|
+
import { ExtendedDRMConfig, DRMInitResult, DRMError, DRMErrorCode, DRMCapabilities } from './types/DRMTypes';
|
|
10
|
+
import { BrowserDetector } from './utils/BrowserDetector';
|
|
11
|
+
import { BunnyNetProvider } from './providers/BunnyNetProvider';
|
|
12
|
+
import { WidevineDRM } from './systems/WidevineDRM';
|
|
13
|
+
import { FairPlayDRM } from './systems/FairPlayDRM';
|
|
14
|
+
import { PlayReadyDRM } from './systems/PlayReadyDRM';
|
|
15
|
+
import { BaseDRM } from './systems/BaseDRM';
|
|
16
|
+
import { DRMErrorHandler } from './utils/DRMErrorHandler';
|
|
17
|
+
|
|
18
|
+
export class DRMManager {
|
|
19
|
+
private videoElement: HTMLVideoElement;
|
|
20
|
+
private config: ExtendedDRMConfig;
|
|
21
|
+
private drmSystem: BaseDRM | null = null;
|
|
22
|
+
private browserDetector: BrowserDetector;
|
|
23
|
+
private debug: boolean = false;
|
|
24
|
+
|
|
25
|
+
constructor(videoElement: HTMLVideoElement, config: DRMConfig, debug: boolean = false) {
|
|
26
|
+
this.videoElement = videoElement;
|
|
27
|
+
this.config = this.normalizeConfig(config);
|
|
28
|
+
this.debug = debug || this.config.debug || false;
|
|
29
|
+
this.browserDetector = BrowserDetector.getInstance();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Initialize DRM system based on browser capabilities
|
|
34
|
+
*/
|
|
35
|
+
async initialize(): Promise<DRMInitResult> {
|
|
36
|
+
try {
|
|
37
|
+
this.log('Initializing DRM system...');
|
|
38
|
+
|
|
39
|
+
// Detect browser capabilities
|
|
40
|
+
const capabilities = await this.browserDetector.detectCapabilities();
|
|
41
|
+
this.log('Browser DRM capabilities:', capabilities);
|
|
42
|
+
|
|
43
|
+
// Determine which DRM system to use
|
|
44
|
+
const drmType = this.selectDRMType(capabilities);
|
|
45
|
+
if (!drmType) {
|
|
46
|
+
const browserName = this.browserDetector.getBrowserName();
|
|
47
|
+
throw DRMErrorHandler.createError(
|
|
48
|
+
DRMErrorCode.UNSUPPORTED_BROWSER,
|
|
49
|
+
`No supported DRM system found in ${browserName}. Please use Chrome, Safari, Firefox, or Edge.`,
|
|
50
|
+
true,
|
|
51
|
+
{ browser: browserName, capabilities }
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
this.log(`Selected DRM type: ${drmType}`);
|
|
56
|
+
|
|
57
|
+
// Create appropriate DRM system
|
|
58
|
+
this.drmSystem = this.createDRMSystem(drmType);
|
|
59
|
+
|
|
60
|
+
// Initialize the DRM system
|
|
61
|
+
await this.drmSystem.initialize();
|
|
62
|
+
|
|
63
|
+
return {
|
|
64
|
+
success: true,
|
|
65
|
+
drmType,
|
|
66
|
+
keySystem: this.drmSystem.getKeySystem(),
|
|
67
|
+
};
|
|
68
|
+
} catch (error: any) {
|
|
69
|
+
this.log('DRM initialization failed:', error);
|
|
70
|
+
|
|
71
|
+
const drmError = error.code && error.code.startsWith('DRM_')
|
|
72
|
+
? error
|
|
73
|
+
: DRMErrorHandler.createError(
|
|
74
|
+
DRMErrorCode.CONFIGURATION_ERROR,
|
|
75
|
+
error.message || 'DRM initialization failed',
|
|
76
|
+
true,
|
|
77
|
+
error
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
return {
|
|
81
|
+
success: false,
|
|
82
|
+
drmType: this.config.type,
|
|
83
|
+
keySystem: '',
|
|
84
|
+
error: drmError,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Get HLS.js configuration for DRM
|
|
91
|
+
*/
|
|
92
|
+
getHLSConfig(): any {
|
|
93
|
+
if (!this.drmSystem) {
|
|
94
|
+
throw new Error('DRM system not initialized. Call initialize() first.');
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return this.drmSystem.getHLSConfig();
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Get dash.js protection data for DRM
|
|
102
|
+
*/
|
|
103
|
+
getDashProtectionData(): any {
|
|
104
|
+
if (!this.drmSystem) {
|
|
105
|
+
throw new Error('DRM system not initialized. Call initialize() first.');
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return this.drmSystem.getDashProtectionData();
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Cleanup DRM resources
|
|
113
|
+
*/
|
|
114
|
+
async destroy(): Promise<void> {
|
|
115
|
+
if (this.drmSystem) {
|
|
116
|
+
this.log('Destroying DRM system');
|
|
117
|
+
await this.drmSystem.destroy();
|
|
118
|
+
this.drmSystem = null;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Select appropriate DRM type based on config and capabilities
|
|
124
|
+
*/
|
|
125
|
+
private selectDRMType(capabilities: DRMCapabilities): DRMType | null {
|
|
126
|
+
// If config specifies a type and it's supported, use it
|
|
127
|
+
if (this.config.type) {
|
|
128
|
+
const typeSupported = this.isDRMTypeSupported(this.config.type, capabilities);
|
|
129
|
+
if (typeSupported) {
|
|
130
|
+
return this.config.type;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
this.log(`Requested DRM type ${this.config.type} not supported, falling back to browser default`);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// Otherwise, use browser's preferred DRM system
|
|
137
|
+
return capabilities.supportedType;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Check if specific DRM type is supported
|
|
142
|
+
*/
|
|
143
|
+
private isDRMTypeSupported(drmType: DRMType, capabilities: DRMCapabilities): boolean {
|
|
144
|
+
switch (drmType) {
|
|
145
|
+
case DRMTypeEnum.WIDEVINE:
|
|
146
|
+
return capabilities.widevine;
|
|
147
|
+
case DRMTypeEnum.FAIRPLAY:
|
|
148
|
+
return capabilities.fairplay;
|
|
149
|
+
case DRMTypeEnum.PLAYREADY:
|
|
150
|
+
return capabilities.playready;
|
|
151
|
+
default:
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Create DRM system instance
|
|
158
|
+
*/
|
|
159
|
+
private createDRMSystem(drmType: DRMType): BaseDRM {
|
|
160
|
+
switch (drmType) {
|
|
161
|
+
case DRMTypeEnum.FAIRPLAY:
|
|
162
|
+
return new FairPlayDRM(this.videoElement, this.config, this.debug);
|
|
163
|
+
|
|
164
|
+
case DRMTypeEnum.WIDEVINE:
|
|
165
|
+
return new WidevineDRM(this.videoElement, this.config, this.debug);
|
|
166
|
+
|
|
167
|
+
case DRMTypeEnum.PLAYREADY:
|
|
168
|
+
return new PlayReadyDRM(this.videoElement, this.config, this.debug);
|
|
169
|
+
|
|
170
|
+
default:
|
|
171
|
+
throw DRMErrorHandler.createError(
|
|
172
|
+
DRMErrorCode.CONFIGURATION_ERROR,
|
|
173
|
+
`Unsupported DRM type: ${drmType}`,
|
|
174
|
+
true
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Normalize and enrich DRM config
|
|
181
|
+
*/
|
|
182
|
+
private normalizeConfig(config: DRMConfig): ExtendedDRMConfig {
|
|
183
|
+
const extended = { ...config } as ExtendedDRMConfig;
|
|
184
|
+
|
|
185
|
+
// Auto-detect Bunny.net and enhance config
|
|
186
|
+
if (BunnyNetProvider.isBunnyNetConfig(config)) {
|
|
187
|
+
extended.provider = 'bunny';
|
|
188
|
+
|
|
189
|
+
// Extract IDs if available
|
|
190
|
+
const ids = BunnyNetProvider.extractIdsFromUrl(config.licenseUrl);
|
|
191
|
+
if (ids.libraryId) extended.libraryId = ids.libraryId;
|
|
192
|
+
if (ids.videoId) extended.videoId = ids.videoId;
|
|
193
|
+
|
|
194
|
+
this.log('Detected Bunny.net DRM configuration');
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// Set defaults
|
|
198
|
+
extended.retryConfig = extended.retryConfig || {
|
|
199
|
+
maxRetries: 3,
|
|
200
|
+
retryDelay: 1000,
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
return extended;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Debug logging
|
|
208
|
+
*/
|
|
209
|
+
private log(...args: any[]): void {
|
|
210
|
+
if (this.debug) {
|
|
211
|
+
console.log('[DRMManager]', ...args);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DRM System - Public API
|
|
3
|
-
* Exports for the DRM system
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
// Main DRM Manager
|
|
7
|
-
export { DRMManager } from './DRMManager';
|
|
8
|
-
|
|
9
|
-
// Providers
|
|
10
|
-
export { BunnyNetProvider } from './providers/BunnyNetProvider';
|
|
11
|
-
export { GenericProvider } from './providers/GenericProvider';
|
|
12
|
-
|
|
13
|
-
// Types
|
|
14
|
-
export type {
|
|
15
|
-
ExtendedDRMConfig,
|
|
16
|
-
DRMCapabilities,
|
|
17
|
-
LicenseRequest,
|
|
18
|
-
LicenseResponse,
|
|
19
|
-
DRMInitResult,
|
|
20
|
-
DRMError,
|
|
21
|
-
} from './types/DRMTypes';
|
|
22
|
-
|
|
23
|
-
export { DRMErrorCode, KEY_SYSTEMS } from './types/DRMTypes';
|
|
24
|
-
|
|
25
|
-
export type { BunnyNetConfig, BunnyNetEndpoints } from './types/BunnyNetTypes';
|
|
26
|
-
export { BUNNY_NET_BASE_URL, BUNNY_NET_ENDPOINTS } from './types/BunnyNetTypes';
|
|
27
|
-
|
|
28
|
-
// Utilities
|
|
29
|
-
export { BrowserDetector } from './utils/BrowserDetector';
|
|
30
|
-
export { DRMErrorHandler } from './utils/DRMErrorHandler';
|
|
31
|
-
export { CertificateManager } from './utils/CertificateManager';
|
|
32
|
-
|
|
33
|
-
// DRM Systems (for advanced usage)
|
|
34
|
-
export { BaseDRM } from './systems/BaseDRM';
|
|
35
|
-
export { WidevineDRM } from './systems/WidevineDRM';
|
|
36
|
-
export { FairPlayDRM } from './systems/FairPlayDRM';
|
|
37
|
-
export { PlayReadyDRM } from './systems/PlayReadyDRM';
|
|
1
|
+
/**
|
|
2
|
+
* DRM System - Public API
|
|
3
|
+
* Exports for the DRM system
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// Main DRM Manager
|
|
7
|
+
export { DRMManager } from './DRMManager';
|
|
8
|
+
|
|
9
|
+
// Providers
|
|
10
|
+
export { BunnyNetProvider } from './providers/BunnyNetProvider';
|
|
11
|
+
export { GenericProvider } from './providers/GenericProvider';
|
|
12
|
+
|
|
13
|
+
// Types
|
|
14
|
+
export type {
|
|
15
|
+
ExtendedDRMConfig,
|
|
16
|
+
DRMCapabilities,
|
|
17
|
+
LicenseRequest,
|
|
18
|
+
LicenseResponse,
|
|
19
|
+
DRMInitResult,
|
|
20
|
+
DRMError,
|
|
21
|
+
} from './types/DRMTypes';
|
|
22
|
+
|
|
23
|
+
export { DRMErrorCode, KEY_SYSTEMS } from './types/DRMTypes';
|
|
24
|
+
|
|
25
|
+
export type { BunnyNetConfig, BunnyNetEndpoints } from './types/BunnyNetTypes';
|
|
26
|
+
export { BUNNY_NET_BASE_URL, BUNNY_NET_ENDPOINTS } from './types/BunnyNetTypes';
|
|
27
|
+
|
|
28
|
+
// Utilities
|
|
29
|
+
export { BrowserDetector } from './utils/BrowserDetector';
|
|
30
|
+
export { DRMErrorHandler } from './utils/DRMErrorHandler';
|
|
31
|
+
export { CertificateManager } from './utils/CertificateManager';
|
|
32
|
+
|
|
33
|
+
// DRM Systems (for advanced usage)
|
|
34
|
+
export { BaseDRM } from './systems/BaseDRM';
|
|
35
|
+
export { WidevineDRM } from './systems/WidevineDRM';
|
|
36
|
+
export { FairPlayDRM } from './systems/FairPlayDRM';
|
|
37
|
+
export { PlayReadyDRM } from './systems/PlayReadyDRM';
|