unified-video-framework 1.4.418 → 1.4.419

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.418",
3
+ "version": "1.4.419",
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",
@@ -1 +1 @@
1
- {"version":3,"file":"DRMManager.d.ts","sourceRoot":"","sources":["../../src/drm/DRMManager.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAW,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAqB,aAAa,EAA2C,MAAM,kBAAkB,CAAC;AAS7G,qBAAa,UAAU;IACrB,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,KAAK,CAAkB;gBAEnB,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAE,OAAe;IAU/E,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAyD1C,YAAY,IAAI,GAAG;IAWnB,qBAAqB,IAAI,GAAG;IAWtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAW9B,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,GAAG;CAKZ"}
1
+ {"version":3,"file":"DRMManager.d.ts","sourceRoot":"","sources":["../../src/drm/DRMManager.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAW,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAqB,aAAa,EAA2C,MAAM,kBAAkB,CAAC;AAS7G,qBAAa,UAAU;IACrB,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,KAAK,CAAkB;gBAEnB,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAE,OAAe;IAU/E,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IA0D1C,YAAY,IAAI,GAAG;IAWnB,qBAAqB,IAAI,GAAG;IAWtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAW9B,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,GAAG;CAKZ"}
@@ -36,9 +36,10 @@ export class DRMManager {
36
36
  }
37
37
  catch (error) {
38
38
  this.log('DRM initialization failed:', error);
39
+ const capabilities = await this.browserDetector.detectCapabilities();
39
40
  const drmError = error.code && error.code.startsWith('DRM_')
40
41
  ? error
41
- : DRMErrorHandler.createError(DRMErrorCode.CONFIGURATION_ERROR, error.message || 'DRM initialization failed', true, error);
42
+ : DRMErrorHandler.createError(DRMErrorCode.CONFIGURATION_ERROR, error.message || 'DRM initialization failed', true, { ...error, capabilities });
42
43
  return {
43
44
  success: false,
44
45
  drmType: this.config.type,
@@ -1 +1 @@
1
- {"version":3,"file":"DRMManager.js","sourceRoot":"","sources":["../../src/drm/DRMManager.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAA8C,YAAY,EAAmB,MAAM,kBAAkB,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,OAAO,UAAU;IAOrB,YAAY,YAA8B,EAAE,MAAiB,EAAE,QAAiB,KAAK;QAJ7E,cAAS,GAAmB,IAAI,CAAC;QAEjC,UAAK,GAAY,KAAK,CAAC;QAG7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IACvD,CAAC;IAKD,KAAK,CAAC,UAAU;QACd,IAAI;YACF,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAGvC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;YACrE,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,YAAY,CAAC,CAAC;YAGpD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;gBAC1D,MAAM,eAAe,CAAC,WAAW,CAC/B,YAAY,CAAC,mBAAmB,EAChC,oCAAoC,WAAW,gDAAgD,EAC/F,IAAI,EACJ,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CACvC,CAAC;aACH;YAED,IAAI,CAAC,GAAG,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;YAG1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAG/C,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAElC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO;gBACP,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;aACzC,CAAC;SACH;QAAC,OAAO,KAAU,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YAE9C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC1D,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,eAAe,CAAC,WAAW,CACzB,YAAY,CAAC,mBAAmB,EAChC,KAAK,CAAC,OAAO,IAAI,2BAA2B,EAC5C,IAAI,EACJ,KAAK,CACN,CAAC;YAEN,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACzB,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,QAAQ;aAChB,CAAC;SACH;IACH,CAAC;IAKD,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;IACvC,CAAC;IAKD,qBAAqB;QACnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC;IAChD,CAAC;IAKD,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YAClC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;IACH,CAAC;IAKO,aAAa,CAAC,YAA6B;QAEjD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACpB,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC9E,IAAI,aAAa,EAAE;gBACjB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;aACzB;YAED,IAAI,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,IAAI,iDAAiD,CAAC,CAAC;SACnG;QAGD,OAAO,YAAY,CAAC,aAAa,CAAC;IACpC,CAAC;IAKO,kBAAkB,CAAC,OAAgB,EAAE,YAA6B;QACxE,QAAQ,OAAO,EAAE;YACf,KAAK,WAAW,CAAC,QAAQ;gBACvB,OAAO,YAAY,CAAC,QAAQ,CAAC;YAC/B,KAAK,WAAW,CAAC,QAAQ;gBACvB,OAAO,YAAY,CAAC,QAAQ,CAAC;YAC/B,KAAK,WAAW,CAAC,SAAS;gBACxB,OAAO,YAAY,CAAC,SAAS,CAAC;YAChC;gBACE,OAAO,KAAK,CAAC;SAChB;IACH,CAAC;IAKO,eAAe,CAAC,OAAgB;QACtC,QAAQ,OAAO,EAAE;YACf,KAAK,WAAW,CAAC,QAAQ;gBACvB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAErE,KAAK,WAAW,CAAC,QAAQ;gBACvB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAErE,KAAK,WAAW,CAAC,SAAS;gBACxB,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAEtE;gBACE,MAAM,eAAe,CAAC,WAAW,CAC/B,YAAY,CAAC,mBAAmB,EAChC,yBAAyB,OAAO,EAAE,EAClC,IAAI,CACL,CAAC;SACL;IACH,CAAC;IAKO,eAAe,CAAC,MAAiB;QACvC,MAAM,QAAQ,GAAG,EAAE,GAAG,MAAM,EAAuB,CAAC;QAGpD,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;YAC7C,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC;YAG5B,MAAM,GAAG,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAClE,IAAI,GAAG,CAAC,SAAS;gBAAE,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YACtD,IAAI,GAAG,CAAC,OAAO;gBAAE,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAEhD,IAAI,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;SAClD;QAGD,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI;YAC7C,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,IAAI;SACjB,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAKO,GAAG,CAAC,GAAG,IAAW;QACxB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;SACtC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"DRMManager.js","sourceRoot":"","sources":["../../src/drm/DRMManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserDetector.d.ts","sourceRoot":"","sources":["../../../src/drm/utils/BrowserDetector.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAe,MAAM,mBAAmB,CAAC;AAGjE,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAgC;IAEpD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,eAAe;IAU/B,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;IA2C9C,qBAAqB,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAQhD,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB5D,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,MAAM;YAQA,oBAAoB;YAkCpB,oBAAoB;YAgCpB,qBAAqB;IAgCnC,cAAc,IAAI,MAAM;IAexB,iBAAiB,IAAI,IAAI;CAG1B"}
1
+ {"version":3,"file":"BrowserDetector.d.ts","sourceRoot":"","sources":["../../../src/drm/utils/BrowserDetector.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAe,MAAM,mBAAmB,CAAC;AAGjE,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAgC;IAEpD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,eAAe;IAU/B,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;IA2C9C,qBAAqB,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAQhD,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB5D,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,MAAM;YAQA,oBAAoB;YAkCpB,oBAAoB;YA4DpB,qBAAqB;IAoDnC,cAAc,IAAI,MAAM;IAexB,iBAAiB,IAAI,IAAI;CAG1B"}
@@ -98,26 +98,51 @@ export class BrowserDetector {
98
98
  async checkWidevineSupport() {
99
99
  try {
100
100
  if (!navigator.requestMediaKeySystemAccess) {
101
+ console.warn('[BrowserDetector] EME API (requestMediaKeySystemAccess) not available. Secure context check:', window.isSecureContext);
101
102
  return false;
102
103
  }
103
- const config = [{
104
+ const configs = [
105
+ {
104
106
  initDataTypes: ['cenc'],
105
107
  videoCapabilities: [{
106
108
  contentType: 'video/mp4; codecs="avc1.42E01E"',
109
+ robustness: 'SW_SECURE_CRYPTO'
107
110
  }],
108
- }];
109
- for (const keySystem of KEY_SYSTEMS[DRMTypeEnum.WIDEVINE]) {
110
- try {
111
- await navigator.requestMediaKeySystemAccess(keySystem, config);
112
- return true;
111
+ audioCapabilities: [{
112
+ contentType: 'audio/mp4; codecs="mp4a.40.2"',
113
+ robustness: 'SW_SECURE_CRYPTO'
114
+ }]
115
+ },
116
+ {
117
+ initDataTypes: ['cenc'],
118
+ videoCapabilities: [{
119
+ contentType: 'video/mp4; codecs="avc1.42E01E"'
120
+ }]
121
+ },
122
+ {
123
+ initDataTypes: ['cenc'],
124
+ videoCapabilities: [{
125
+ contentType: 'video/mp4; codecs="avc1.4d401e"'
126
+ }]
113
127
  }
114
- catch (e) {
115
- continue;
128
+ ];
129
+ for (const keySystem of KEY_SYSTEMS[DRMTypeEnum.WIDEVINE]) {
130
+ for (const config of configs) {
131
+ try {
132
+ await navigator.requestMediaKeySystemAccess(keySystem, [config]);
133
+ console.log(`[BrowserDetector] Widevine supported with system: ${keySystem} and config:`, config);
134
+ return true;
135
+ }
136
+ catch (e) {
137
+ continue;
138
+ }
116
139
  }
117
140
  }
141
+ console.warn('[BrowserDetector] Widevine support check failed for all configurations');
118
142
  return false;
119
143
  }
120
- catch {
144
+ catch (err) {
145
+ console.error('[BrowserDetector] Error checking Widevine support:', err);
121
146
  return false;
122
147
  }
123
148
  }
@@ -126,24 +151,42 @@ export class BrowserDetector {
126
151
  if (!navigator.requestMediaKeySystemAccess) {
127
152
  return false;
128
153
  }
129
- const config = [{
154
+ const configs = [
155
+ {
130
156
  initDataTypes: ['cenc'],
131
157
  videoCapabilities: [{
132
158
  contentType: 'video/mp4; codecs="avc1.42E01E"',
159
+ robustness: 'SW_SECURE_CRYPTO'
133
160
  }],
134
- }];
135
- for (const keySystem of KEY_SYSTEMS[DRMTypeEnum.PLAYREADY]) {
136
- try {
137
- await navigator.requestMediaKeySystemAccess(keySystem, config);
138
- return true;
161
+ audioCapabilities: [{
162
+ contentType: 'audio/mp4; codecs="mp4a.40.2"',
163
+ robustness: 'SW_SECURE_CRYPTO'
164
+ }]
165
+ },
166
+ {
167
+ initDataTypes: ['cenc'],
168
+ videoCapabilities: [{
169
+ contentType: 'video/mp4; codecs="avc1.42E01E"'
170
+ }]
139
171
  }
140
- catch (e) {
141
- continue;
172
+ ];
173
+ for (const keySystem of KEY_SYSTEMS[DRMTypeEnum.PLAYREADY]) {
174
+ for (const config of configs) {
175
+ try {
176
+ await navigator.requestMediaKeySystemAccess(keySystem, [config]);
177
+ console.log(`[BrowserDetector] PlayReady supported with system: ${keySystem} and config:`, config);
178
+ return true;
179
+ }
180
+ catch (e) {
181
+ continue;
182
+ }
142
183
  }
143
184
  }
185
+ console.warn('[BrowserDetector] PlayReady support check failed for all configurations');
144
186
  return false;
145
187
  }
146
- catch {
188
+ catch (err) {
189
+ console.error('[BrowserDetector] Error checking PlayReady support:', err);
147
190
  return false;
148
191
  }
149
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserDetector.js","sourceRoot":"","sources":["../../../src/drm/utils/BrowserDetector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowserDetector.js","sourceRoot":"","sources":["../../../src/drm/utils/BrowserDetector.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,OAAO,eAAe;IAI1B;QAFQ,iBAAY,GAA2B,IAAI,CAAC;IAE5B,CAAC;IAEzB,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;YAC7B,eAAe,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;SAClD;QACD,OAAO,eAAe,CAAC,QAAQ,CAAC;IAClC,CAAC;IAKD,KAAK,CAAC,kBAAkB;QACtB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,IAAI,CAAC,YAAY,CAAC;SAC1B;QAED,MAAM,YAAY,GAAoB;YACpC,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,IAAI;SACpB,CAAC;QAGF,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YAC3C,YAAY,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1D,IAAI,YAAY,CAAC,QAAQ,EAAE;gBACzB,YAAY,CAAC,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC;aACnD;SACF;QAGD,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;YAC/B,YAAY,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1D,IAAI,YAAY,CAAC,QAAQ,EAAE;gBACzB,YAAY,CAAC,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC;aACnD;SACF;QAGD,IAAI,CAAC,YAAY,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YAChD,YAAY,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5D,IAAI,YAAY,CAAC,SAAS,EAAE;gBAC1B,YAAY,CAAC,aAAa,GAAG,WAAW,CAAC,SAAS,CAAC;aACpD;SACF;QAED,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,OAAO,YAAY,CAAC;IACtB,CAAC;IAKD,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAKD,KAAK,CAAC,kBAAkB,CAAC,OAAgB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7C,QAAQ,OAAO,EAAE;YACf,KAAK,WAAW,CAAC,QAAQ;gBACvB,OAAO,IAAI,CAAC,QAAQ,CAAC;YACvB,KAAK,WAAW,CAAC,QAAQ;gBACvB,OAAO,IAAI,CAAC,QAAQ,CAAC;YACvB,KAAK,WAAW,CAAC,SAAS;gBACxB,OAAO,IAAI,CAAC,SAAS,CAAC;YACxB;gBACE,OAAO,KAAK,CAAC;SAChB;IACH,CAAC;IAKO,QAAQ;QACd,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC7C,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrF,CAAC;IAKO,aAAa;QACnB,OAAO,iBAAiB,IAAI,MAAM,CAAC;IACrC,CAAC;IAKO,MAAM;QACZ,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC7C,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAKO,KAAK,CAAC,oBAAoB;QAChC,IAAI;YAEF,IAAI,iBAAiB,IAAI,MAAM,EAAE;gBAC/B,OAAO,IAAI,CAAC;aACb;YAGD,IAAI,SAAS,CAAC,2BAA2B,EAAE;gBACzC,MAAM,MAAM,GAAkC,CAAC;wBAC7C,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;wBAC9B,iBAAiB,EAAE,CAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;qBACtE,CAAC,CAAC;gBAEH,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;oBACzD,IAAI;wBACF,MAAM,SAAS,CAAC,2BAA2B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;wBAC/D,OAAO,IAAI,CAAC;qBACb;oBAAC,OAAO,CAAC,EAAE;wBAEV,SAAS;qBACV;iBACF;aACF;YAED,OAAO,KAAK,CAAC;SACd;QAAC,MAAM;YACN,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAKO,KAAK,CAAC,oBAAoB;QAChC,IAAI;YACF,IAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE;gBAC1C,OAAO,CAAC,IAAI,CAAC,8FAA8F,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;gBACrI,OAAO,KAAK,CAAC;aACd;YAED,MAAM,OAAO,GAAkC;gBAE7C;oBACE,aAAa,EAAE,CAAC,MAAM,CAAC;oBACvB,iBAAiB,EAAE,CAAC;4BAClB,WAAW,EAAE,iCAAiC;4BAC9C,UAAU,EAAE,kBAAkB;yBAC/B,CAAC;oBACF,iBAAiB,EAAE,CAAC;4BAClB,WAAW,EAAE,+BAA+B;4BAC5C,UAAU,EAAE,kBAAkB;yBAC/B,CAAC;iBACH;gBAED;oBACE,aAAa,EAAE,CAAC,MAAM,CAAC;oBACvB,iBAAiB,EAAE,CAAC;4BAClB,WAAW,EAAE,iCAAiC;yBAC/C,CAAC;iBACH;gBAED;oBACE,aAAa,EAAE,CAAC,MAAM,CAAC;oBACvB,iBAAiB,EAAE,CAAC;4BAClB,WAAW,EAAE,iCAAiC;yBAC/C,CAAC;iBACH;aACF,CAAC;YAEF,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;gBACzD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;oBAC5B,IAAI;wBACF,MAAM,SAAS,CAAC,2BAA2B,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;wBACjE,OAAO,CAAC,GAAG,CAAC,qDAAqD,SAAS,cAAc,EAAE,MAAM,CAAC,CAAC;wBAClG,OAAO,IAAI,CAAC;qBACb;oBAAC,OAAO,CAAC,EAAE;wBAEV,SAAS;qBACV;iBACF;aACF;YAED,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;YACvF,OAAO,KAAK,CAAC;SACd;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,GAAG,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAKO,KAAK,CAAC,qBAAqB;QACjC,IAAI;YACF,IAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE;gBAC1C,OAAO,KAAK,CAAC;aACd;YAED,MAAM,OAAO,GAAkC;gBAE7C;oBACE,aAAa,EAAE,CAAC,MAAM,CAAC;oBACvB,iBAAiB,EAAE,CAAC;4BAClB,WAAW,EAAE,iCAAiC;4BAC9C,UAAU,EAAE,kBAAkB;yBAC/B,CAAC;oBACF,iBAAiB,EAAE,CAAC;4BAClB,WAAW,EAAE,+BAA+B;4BAC5C,UAAU,EAAE,kBAAkB;yBAC/B,CAAC;iBACH;gBAED;oBACE,aAAa,EAAE,CAAC,MAAM,CAAC;oBACvB,iBAAiB,EAAE,CAAC;4BAClB,WAAW,EAAE,iCAAiC;yBAC/C,CAAC;iBACH;aACF,CAAC;YAEF,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;gBAC1D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;oBAC5B,IAAI;wBACF,MAAM,SAAS,CAAC,2BAA2B,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;wBACjE,OAAO,CAAC,GAAG,CAAC,sDAAsD,SAAS,cAAc,EAAE,MAAM,CAAC,CAAC;wBACnG,OAAO,IAAI,CAAC;qBACb;oBAAC,OAAO,CAAC,EAAE;wBAEV,SAAS;qBACV;iBACF;aACF;YAED,OAAO,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC;SACd;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE,GAAG,CAAC,CAAC;YAC1E,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAKD,cAAc;QACZ,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QACvC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,QAAQ,CAAC;QACtE,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAC7C,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC3C,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,OAAO,CAAC;QAEhE,OAAO,SAAS,CAAC;IACnB,CAAC;IAKD,iBAAiB;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;CACF"}
@@ -68,14 +68,15 @@ export class DRMManager {
68
68
  } catch (error: any) {
69
69
  this.log('DRM initialization failed:', error);
70
70
 
71
+ const capabilities = await this.browserDetector.detectCapabilities();
71
72
  const drmError = error.code && error.code.startsWith('DRM_')
72
73
  ? error
73
74
  : DRMErrorHandler.createError(
74
- DRMErrorCode.CONFIGURATION_ERROR,
75
- error.message || 'DRM initialization failed',
76
- true,
77
- error
78
- );
75
+ DRMErrorCode.CONFIGURATION_ERROR,
76
+ error.message || 'DRM initialization failed',
77
+ true,
78
+ { ...error, capabilities }
79
+ );
79
80
 
80
81
  return {
81
82
  success: false,
@@ -11,7 +11,7 @@ export class BrowserDetector {
11
11
  private static instance: BrowserDetector;
12
12
  private capabilities: DRMCapabilities | null = null;
13
13
 
14
- private constructor() {}
14
+ private constructor() { }
15
15
 
16
16
  static getInstance(): BrowserDetector {
17
17
  if (!BrowserDetector.instance) {
@@ -151,28 +151,56 @@ export class BrowserDetector {
151
151
  private async checkWidevineSupport(): Promise<boolean> {
152
152
  try {
153
153
  if (!navigator.requestMediaKeySystemAccess) {
154
+ console.warn('[BrowserDetector] EME API (requestMediaKeySystemAccess) not available. Secure context check:', window.isSecureContext);
154
155
  return false;
155
156
  }
156
157
 
157
- const config: MediaKeySystemConfiguration[] = [{
158
- initDataTypes: ['cenc'],
159
- videoCapabilities: [{
160
- contentType: 'video/mp4; codecs="avc1.42E01E"',
161
- }],
162
- }];
158
+ const configs: MediaKeySystemConfiguration[] = [
159
+ // Standard config with robustness
160
+ {
161
+ initDataTypes: ['cenc'],
162
+ videoCapabilities: [{
163
+ contentType: 'video/mp4; codecs="avc1.42E01E"',
164
+ robustness: 'SW_SECURE_CRYPTO'
165
+ }],
166
+ audioCapabilities: [{
167
+ contentType: 'audio/mp4; codecs="mp4a.40.2"',
168
+ robustness: 'SW_SECURE_CRYPTO'
169
+ }]
170
+ },
171
+ // More permissive config (no robustness)
172
+ {
173
+ initDataTypes: ['cenc'],
174
+ videoCapabilities: [{
175
+ contentType: 'video/mp4; codecs="avc1.42E01E"'
176
+ }]
177
+ },
178
+ // Baseline config
179
+ {
180
+ initDataTypes: ['cenc'],
181
+ videoCapabilities: [{
182
+ contentType: 'video/mp4; codecs="avc1.4d401e"'
183
+ }]
184
+ }
185
+ ];
163
186
 
164
187
  for (const keySystem of KEY_SYSTEMS[DRMTypeEnum.WIDEVINE]) {
165
- try {
166
- await navigator.requestMediaKeySystemAccess(keySystem, config);
167
- return true;
168
- } catch (e) {
169
- // Try next key system
170
- continue;
188
+ for (const config of configs) {
189
+ try {
190
+ await navigator.requestMediaKeySystemAccess(keySystem, [config]);
191
+ console.log(`[BrowserDetector] Widevine supported with system: ${keySystem} and config:`, config);
192
+ return true;
193
+ } catch (e) {
194
+ // Try next config
195
+ continue;
196
+ }
171
197
  }
172
198
  }
173
199
 
200
+ console.warn('[BrowserDetector] Widevine support check failed for all configurations');
174
201
  return false;
175
- } catch {
202
+ } catch (err) {
203
+ console.error('[BrowserDetector] Error checking Widevine support:', err);
176
204
  return false;
177
205
  }
178
206
  }
@@ -186,25 +214,45 @@ export class BrowserDetector {
186
214
  return false;
187
215
  }
188
216
 
189
- const config: MediaKeySystemConfiguration[] = [{
190
- initDataTypes: ['cenc'],
191
- videoCapabilities: [{
192
- contentType: 'video/mp4; codecs="avc1.42E01E"',
193
- }],
194
- }];
217
+ const configs: MediaKeySystemConfiguration[] = [
218
+ // Standard config
219
+ {
220
+ initDataTypes: ['cenc'],
221
+ videoCapabilities: [{
222
+ contentType: 'video/mp4; codecs="avc1.42E01E"',
223
+ robustness: 'SW_SECURE_CRYPTO'
224
+ }],
225
+ audioCapabilities: [{
226
+ contentType: 'audio/mp4; codecs="mp4a.40.2"',
227
+ robustness: 'SW_SECURE_CRYPTO'
228
+ }]
229
+ },
230
+ // More permissive config
231
+ {
232
+ initDataTypes: ['cenc'],
233
+ videoCapabilities: [{
234
+ contentType: 'video/mp4; codecs="avc1.42E01E"'
235
+ }]
236
+ }
237
+ ];
195
238
 
196
239
  for (const keySystem of KEY_SYSTEMS[DRMTypeEnum.PLAYREADY]) {
197
- try {
198
- await navigator.requestMediaKeySystemAccess(keySystem, config);
199
- return true;
200
- } catch (e) {
201
- // Try next key system
202
- continue;
240
+ for (const config of configs) {
241
+ try {
242
+ await navigator.requestMediaKeySystemAccess(keySystem, [config]);
243
+ console.log(`[BrowserDetector] PlayReady supported with system: ${keySystem} and config:`, config);
244
+ return true;
245
+ } catch (e) {
246
+ // Try next config
247
+ continue;
248
+ }
203
249
  }
204
250
  }
205
251
 
252
+ console.warn('[BrowserDetector] PlayReady support check failed for all configurations');
206
253
  return false;
207
- } catch {
254
+ } catch (err) {
255
+ console.error('[BrowserDetector] Error checking PlayReady support:', err);
208
256
  return false;
209
257
  }
210
258
  }