@granite-js/video 1.0.12 → 1.0.13

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @granite-js/video
2
2
 
3
+ ## 1.0.13
4
+
5
+ ### Patch Changes
6
+
7
+ - 4218c46: Fix Fabric view recycling bug where video fails to play when remounted with the same source URI
8
+ - dcffed6: fix: make @granite-js/video compatible with react-native-video@6.0.0
9
+
3
10
  ## 1.0.12
4
11
 
5
12
  ### Patch Changes
@@ -7,6 +7,24 @@ import { jsx as _jsx } from "react/jsx-runtime";
7
7
  const {
8
8
  GraniteVideoModule
9
9
  } = NativeModules;
10
+ function toNativeStringMapEntries(value) {
11
+ if (value === undefined) {
12
+ return undefined;
13
+ }
14
+ return Object.entries(value).map(([name, value]) => ({
15
+ name,
16
+ value
17
+ }));
18
+ }
19
+ function normalizeDrm(drm) {
20
+ if (!drm) {
21
+ return undefined;
22
+ }
23
+ return {
24
+ ...drm,
25
+ headers: toNativeStringMapEntries(drm.headers)
26
+ };
27
+ }
10
28
 
11
29
  // For Fabric (New Architecture), the component is always available through codegenNativeComponent
12
30
  // We don't need to check UIManager.getViewManagerConfig which is Old Architecture only
@@ -27,11 +45,19 @@ function normalizeCmcd(cmcd) {
27
45
  }
28
46
  return {
29
47
  mode: cmcd.mode ?? 1,
30
- request: cmcd.request,
31
- // passes as Record through ReadableMap
32
- session: cmcd.session,
33
- object: cmcd.object,
34
- status: cmcd.status
48
+ request: toNativeStringMapEntries(cmcd.request),
49
+ session: toNativeStringMapEntries(cmcd.session),
50
+ object: toNativeStringMapEntries(cmcd.object),
51
+ status: toNativeStringMapEntries(cmcd.status)
52
+ };
53
+ }
54
+ function normalizeAd(ad) {
55
+ if (!ad) {
56
+ return undefined;
57
+ }
58
+ return {
59
+ ...ad,
60
+ adTagParameters: ad.type === 'ssai' ? toNativeStringMapEntries(ad.adTagParameters) : undefined
35
61
  };
36
62
  }
37
63
  function normalizeSource(source) {
@@ -39,9 +65,15 @@ function normalizeSource(source) {
39
65
  // require() - not yet supported in native
40
66
  return undefined;
41
67
  }
68
+ const drm = normalizeDrm(source.drm);
69
+ const cmcd = normalizeCmcd(source.cmcd);
70
+ const ad = normalizeAd(source.ad);
42
71
  return {
43
72
  ...source,
44
- cmcd: normalizeCmcd(source.cmcd)
73
+ headers: toNativeStringMapEntries(source.headers),
74
+ drm,
75
+ cmcd,
76
+ ad
45
77
  };
46
78
  }
47
79
  function normalizeSelectedTrack(track) {
@@ -62,34 +94,6 @@ function normalizeSelectedVideoTrack(track) {
62
94
  value: track.value
63
95
  };
64
96
  }
65
- function normalizeDrm(drm) {
66
- if (!drm) {
67
- return undefined;
68
- }
69
- return {
70
- type: drm.type,
71
- licenseServer: drm.licenseServer,
72
- contentId: drm.contentId,
73
- certificateUrl: drm.certificateUrl,
74
- base64Certificate: drm.base64Certificate
75
- };
76
- }
77
-
78
- // Note: `live` is only available via source-embedded bufferConfig (NativeSourceBufferConfig),
79
- // not via the top-level bufferConfig prop (NativeBufferConfig).
80
- function normalizeBufferConfig(config) {
81
- if (!config) {
82
- return undefined;
83
- }
84
- return {
85
- minBufferMs: config.minBufferMs,
86
- maxBufferMs: config.maxBufferMs,
87
- bufferForPlaybackMs: config.bufferForPlaybackMs,
88
- bufferForPlaybackAfterRebufferMs: config.bufferForPlaybackAfterRebufferMs,
89
- backBufferDurationMs: config.backBufferDurationMs,
90
- cacheSizeMB: config.cacheSizeMB
91
- };
92
- }
93
97
  function getPosterUri(poster) {
94
98
  if (!poster) {
95
99
  return undefined;
@@ -109,6 +113,8 @@ const VideoBase = /*#__PURE__*/forwardRef((props, ref) => {
109
113
  testID,
110
114
  // Style
111
115
  style,
116
+ // Progress
117
+ progressUpdateInterval,
112
118
  // Source
113
119
  source,
114
120
  // Poster
@@ -138,6 +144,7 @@ const VideoBase = /*#__PURE__*/forwardRef((props, ref) => {
138
144
  selectedAudioTrack,
139
145
  selectedTextTrack,
140
146
  selectedVideoTrack,
147
+ textTracks,
141
148
  // DRM
142
149
  drm,
143
150
  localSourceEncryptionKeyScheme,
@@ -279,10 +286,7 @@ const VideoBase = /*#__PURE__*/forwardRef((props, ref) => {
279
286
  naturalSize: {
280
287
  ...nativeEvent.naturalSize,
281
288
  orientation: nativeEvent.naturalSize.orientation
282
- },
283
- audioTracks: [],
284
- textTracks: [],
285
- videoTracks: []
289
+ }
286
290
  };
287
291
  onLoad?.(loadData);
288
292
  }, [onLoad]);
@@ -363,10 +367,8 @@ const VideoBase = /*#__PURE__*/forwardRef((props, ref) => {
363
367
  testID: testID,
364
368
  children: /*#__PURE__*/_jsx(NativeGraniteVideoView, {
365
369
  ref: nativeRef,
366
- style: styles.video
367
- // Cast needed: normalizeSource includes fields (drm.headers, cmcd.request/session/object/status,
368
- // ad.adTagParameters) that bypass Codegen typing and pass through ReadableMap directly.
369
- ,
370
+ style: styles.video,
371
+ progressUpdateInterval: progressUpdateInterval,
370
372
  source: normalizeSource(source),
371
373
  poster: getPosterUri(poster),
372
374
  posterResizeMode: posterResizeMode,
@@ -383,13 +385,14 @@ const VideoBase = /*#__PURE__*/forwardRef((props, ref) => {
383
385
  viewType: viewType,
384
386
  useTextureView: useTextureView,
385
387
  useSecureView: useSecureView,
386
- bufferConfig: normalizeBufferConfig(bufferConfig),
388
+ bufferConfig: bufferConfig,
387
389
  minLoadRetryCount: minLoadRetryCount,
388
390
  maxBitRate: maxBitRate,
389
391
  preferredForwardBufferDuration: preferredForwardBufferDuration,
390
392
  selectedAudioTrack: normalizeSelectedTrack(selectedAudioTrack),
391
393
  selectedTextTrack: normalizeSelectedTrack(selectedTextTrack),
392
394
  selectedVideoTrack: normalizeSelectedVideoTrack(selectedVideoTrack),
395
+ textTracks: textTracks,
393
396
  drm: normalizeDrm(drm),
394
397
  localSourceEncryptionKeyScheme: localSourceEncryptionKeyScheme,
395
398
  adTagUrl: adTagUrl,
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","useRef","useImperativeHandle","useCallback","Platform","StyleSheet","View","Image","findNodeHandle","NativeModules","NativeGraniteVideoView","Commands","jsx","_jsx","GraniteVideoModule","normalizeCmcd","cmcd","undefined","mode","request","session","object","status","normalizeSource","source","normalizeSelectedTrack","track","type","value","toString","normalizeSelectedVideoTrack","normalizeDrm","drm","licenseServer","contentId","certificateUrl","base64Certificate","normalizeBufferConfig","config","minBufferMs","maxBufferMs","bufferForPlaybackMs","bufferForPlaybackAfterRebufferMs","backBufferDurationMs","cacheSizeMB","getPosterUri","poster","uri","resolved","resolveAssetSource","VideoBase","props","ref","testID","style","posterResizeMode","paused","muted","volume","rate","repeat","playInBackground","playWhenInactive","automaticallyWaitsToMinimizeStalling","shutterColor","resizeMode","viewType","useTextureView","useSecureView","bufferConfig","minLoadRetryCount","maxBitRate","preferredForwardBufferDuration","selectedAudioTrack","selectedTextTrack","selectedVideoTrack","localSourceEncryptionKeyScheme","adTagUrl","adLanguage","controls","showNotificationControls","disableFocus","disableDisconnectError","focusable","hideShutterView","preventsDisplaySleepDuringVideoPlayback","fullscreen","fullscreenAutorotate","fullscreenOrientation","pictureInPicture","contentStartTime","allowsExternalPlayback","audioOutput","ignoreSilentSwitch","mixWithOthers","debug","onLoadStart","onLoad","onError","onProgress","onSeek","onEnd","onBuffer","onBandwidthUpdate","onPlaybackStateChanged","onPlaybackRateChange","onVolumeChange","onIdle","onReadyForDisplay","onAudioFocusChanged","onAudioBecomingNoisy","onFullscreenPlayerWillPresent","onFullscreenPlayerDidPresent","onFullscreenPlayerWillDismiss","onFullscreenPlayerDidDismiss","onPictureInPictureStatusChanged","onRestoreUserInterfaceForPictureInPictureStop","onControlsVisibilityChange","onExternalPlaybackChange","onAspectRatio","onTransferEnd","nativeRef","seek","time","tolerance","current","pause","resume","setVolume","vol","adjustVolume","setFullScreen","fs","presentFullscreenPlayer","dismissFullscreenPlayer","enterPictureInPicture","exitPictureInPicture","setSource","newSource","loadSource","getCurrentPosition","handle","save","options","restoreUserInterfaceForPictureInPictureStopCompleted","handleLoadStart","event","nativeEvent","handleLoad","loadData","naturalSize","orientation","audioTracks","textTracks","videoTracks","handleError","handleProgress","handleSeek","handleEnd","handleBuffer","handleBandwidthUpdate","handlePlaybackStateChanged","handlePlaybackRateChange","handleVolumeChange","handleIdle","handleReadyForDisplay","handleAudioFocusChanged","handleAudioBecomingNoisy","handleFullscreenPlayerWillPresent","handleFullscreenPlayerDidPresent","handleFullscreenPlayerWillDismiss","handleFullscreenPlayerDidDismiss","handlePictureInPictureStatusChanged","handleRestoreUserInterfaceForPictureInPictureStop","handleControlsVisibilityChange","handleExternalPlaybackChange","handleAspectRatio","handleTransferEnd","containerStyle","styles","container","children","video","enableDebug","enable","enableDebugThread","thread","onVideoLoadStart","onVideoLoad","onVideoError","onVideoProgress","onVideoSeek","onVideoEnd","onVideoBuffer","onVideoBandwidthUpdate","onVideoPlaybackStateChanged","onVideoPlaybackRateChange","onVideoVolumeChange","onVideoIdle","onVideoReadyForDisplay","onVideoAudioFocusChanged","onVideoAudioBecomingNoisy","onVideoFullscreenPlayerWillPresent","onVideoFullscreenPlayerDidPresent","onVideoFullscreenPlayerWillDismiss","onVideoFullscreenPlayerDidDismiss","onVideoPictureInPictureStatusChanged","onVideoRestoreUserInterfaceForPictureInPictureStop","onVideoControlsVisibilityChange","onVideoExternalPlaybackChange","onVideoAspectRatio","displayName","isAvailable","Video","create","overflow","absoluteFillObject","clearCache","getWidevineLevel","OS","isCodecSupported","mimeType","width","height","isHEVCSupported"],"sourceRoot":"../../src","sources":["GraniteVideo.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","forwardRef","useRef","useImperativeHandle","useCallback","Platform","StyleSheet","View","Image","findNodeHandle","NativeModules","NativeGraniteVideoView","Commands","jsx","_jsx","GraniteVideoModule","toNativeStringMapEntries","value","undefined","Object","entries","map","name","normalizeDrm","drm","headers","normalizeCmcd","cmcd","mode","request","session","object","status","normalizeAd","ad","adTagParameters","type","normalizeSource","source","normalizeSelectedTrack","track","toString","normalizeSelectedVideoTrack","getPosterUri","poster","uri","resolved","resolveAssetSource","VideoBase","props","ref","testID","style","progressUpdateInterval","posterResizeMode","paused","muted","volume","rate","repeat","playInBackground","playWhenInactive","automaticallyWaitsToMinimizeStalling","shutterColor","resizeMode","viewType","useTextureView","useSecureView","bufferConfig","minLoadRetryCount","maxBitRate","preferredForwardBufferDuration","selectedAudioTrack","selectedTextTrack","selectedVideoTrack","textTracks","localSourceEncryptionKeyScheme","adTagUrl","adLanguage","controls","showNotificationControls","disableFocus","disableDisconnectError","focusable","hideShutterView","preventsDisplaySleepDuringVideoPlayback","fullscreen","fullscreenAutorotate","fullscreenOrientation","pictureInPicture","contentStartTime","allowsExternalPlayback","audioOutput","ignoreSilentSwitch","mixWithOthers","debug","onLoadStart","onLoad","onError","onProgress","onSeek","onEnd","onBuffer","onBandwidthUpdate","onPlaybackStateChanged","onPlaybackRateChange","onVolumeChange","onIdle","onReadyForDisplay","onAudioFocusChanged","onAudioBecomingNoisy","onFullscreenPlayerWillPresent","onFullscreenPlayerDidPresent","onFullscreenPlayerWillDismiss","onFullscreenPlayerDidDismiss","onPictureInPictureStatusChanged","onRestoreUserInterfaceForPictureInPictureStop","onControlsVisibilityChange","onExternalPlaybackChange","onAspectRatio","onTransferEnd","nativeRef","seek","time","tolerance","current","pause","resume","setVolume","vol","adjustVolume","setFullScreen","fs","presentFullscreenPlayer","dismissFullscreenPlayer","enterPictureInPicture","exitPictureInPicture","setSource","newSource","loadSource","getCurrentPosition","handle","save","options","restoreUserInterfaceForPictureInPictureStopCompleted","handleLoadStart","event","nativeEvent","handleLoad","loadData","naturalSize","orientation","handleError","handleProgress","handleSeek","handleEnd","handleBuffer","handleBandwidthUpdate","handlePlaybackStateChanged","handlePlaybackRateChange","handleVolumeChange","handleIdle","handleReadyForDisplay","handleAudioFocusChanged","handleAudioBecomingNoisy","handleFullscreenPlayerWillPresent","handleFullscreenPlayerDidPresent","handleFullscreenPlayerWillDismiss","handleFullscreenPlayerDidDismiss","handlePictureInPictureStatusChanged","handleRestoreUserInterfaceForPictureInPictureStop","handleControlsVisibilityChange","handleExternalPlaybackChange","handleAspectRatio","handleTransferEnd","containerStyle","styles","container","children","video","enableDebug","enable","enableDebugThread","thread","onVideoLoadStart","onVideoLoad","onVideoError","onVideoProgress","onVideoSeek","onVideoEnd","onVideoBuffer","onVideoBandwidthUpdate","onVideoPlaybackStateChanged","onVideoPlaybackRateChange","onVideoVolumeChange","onVideoIdle","onVideoReadyForDisplay","onVideoAudioFocusChanged","onVideoAudioBecomingNoisy","onVideoFullscreenPlayerWillPresent","onVideoFullscreenPlayerDidPresent","onVideoFullscreenPlayerWillDismiss","onVideoFullscreenPlayerDidDismiss","onVideoPictureInPictureStatusChanged","onVideoRestoreUserInterfaceForPictureInPictureStop","onVideoControlsVisibilityChange","onVideoExternalPlaybackChange","onVideoAspectRatio","displayName","isAvailable","Video","create","overflow","absoluteFillObject","clearCache","getWidevineLevel","OS","isCodecSupported","mimeType","width","height","isHEVCSupported"],"sourceRoot":"../../src","sources":["GraniteVideo.tsx"],"mappings":"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","ignoreList":[]}
@@ -20,10 +20,16 @@ interface NativeVideoMetadata {
20
20
  imageUri?: string;
21
21
  }
22
22
 
23
+ interface NativeStringMapEntry {
24
+ name: string;
25
+ value: string;
26
+ }
27
+
23
28
  // Native DRM config (source-embedded DRM)
24
29
  interface NativeSourceDrmConfig {
25
30
  type?: string;
26
31
  licenseServer?: string;
32
+ headers?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
27
33
  contentId?: string;
28
34
  certificateUrl?: string;
29
35
  base64Certificate?: boolean;
@@ -34,6 +40,10 @@ interface NativeSourceDrmConfig {
34
40
  // Native CMCD config
35
41
  interface NativeCmcdConfiguration {
36
42
  mode?: Int32;
43
+ request?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
44
+ session?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
45
+ object?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
46
+ status?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
37
47
  }
38
48
 
39
49
  // Native text track
@@ -54,6 +64,7 @@ interface NativeAdsConfig {
54
64
  videoId?: string;
55
65
  assetKey?: string;
56
66
  format?: string;
67
+ adTagParameters?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
57
68
  fallbackUri?: string;
58
69
  }
59
70
 
@@ -80,7 +91,7 @@ interface NativeSourceBufferConfig {
80
91
  interface NativeVideoSource {
81
92
  uri?: string;
82
93
  type?: string;
83
- startPosition?: Double;
94
+ headers?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
84
95
  startTime?: Double;
85
96
  endTime?: Double;
86
97
  isNetwork?: boolean;
@@ -107,6 +118,7 @@ interface NativeBufferConfig {
107
118
  bufferForPlaybackAfterRebufferMs?: Int32;
108
119
  backBufferDurationMs?: Int32;
109
120
  cacheSizeMB?: Int32;
121
+ live?: NativeBufferConfigLive;
110
122
  }
111
123
 
112
124
  interface NativeSelectedTrack {
@@ -122,9 +134,12 @@ interface NativeSelectedVideoTrack {
122
134
  interface NativeDrmConfig {
123
135
  type?: string;
124
136
  licenseServer?: string;
137
+ headers?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
125
138
  contentId?: string;
126
139
  certificateUrl?: string;
127
140
  base64Certificate?: boolean;
141
+ multiDrm?: boolean;
142
+ localSourceEncryptionKeyScheme?: string;
128
143
  }
129
144
 
130
145
  export type OnVideoLoadStartEvent = Readonly<{
@@ -216,6 +231,9 @@ export type TransferEndEvent = Readonly<{
216
231
  }>;
217
232
 
218
233
  export interface NativeProps extends ViewProps {
234
+ // Progress
235
+ progressUpdateInterval?: Double;
236
+
219
237
  // Source
220
238
  source?: NativeVideoSource;
221
239
 
@@ -250,6 +268,7 @@ export interface NativeProps extends ViewProps {
250
268
  selectedAudioTrack?: NativeSelectedTrack;
251
269
  selectedTextTrack?: NativeSelectedTrack;
252
270
  selectedVideoTrack?: NativeSelectedVideoTrack;
271
+ textTracks?: ReadonlyArray<Readonly<NativeTextTrack>>;
253
272
 
254
273
  // DRM
255
274
  drm?: NativeDrmConfig;
@@ -1 +1 @@
1
- {"version":3,"names":["CmcdMode"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AAmBA;AACA;AACA;;AAwCA;AACA,WAAYA,QAAQ,0BAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;;AAiBpB;;AAqDA;AACA;AACA;;AAeA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;;AAQA;AACA;AACA;;AA6EA;AACA;AACA;;AAkBA;AACA;AACA;;AAsOA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["CmcdMode"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AAmBA;AACA;AACA;;AAwCA;AACA,WAAYA,QAAQ,0BAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;;AAiBpB;;AAoDA;AACA;AACA;;AAeA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;;AAQA;AACA;AACA;;AA0DA;AACA;AACA;;AAkBA;AACA;AACA;;AA+NA;AACA;AACA","ignoreList":[]}
@@ -7,9 +7,14 @@ interface NativeVideoMetadata {
7
7
  artist?: string;
8
8
  imageUri?: string;
9
9
  }
10
+ interface NativeStringMapEntry {
11
+ name: string;
12
+ value: string;
13
+ }
10
14
  interface NativeSourceDrmConfig {
11
15
  type?: string;
12
16
  licenseServer?: string;
17
+ headers?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
13
18
  contentId?: string;
14
19
  certificateUrl?: string;
15
20
  base64Certificate?: boolean;
@@ -18,6 +23,10 @@ interface NativeSourceDrmConfig {
18
23
  }
19
24
  interface NativeCmcdConfiguration {
20
25
  mode?: Int32;
26
+ request?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
27
+ session?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
28
+ object?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
29
+ status?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
21
30
  }
22
31
  interface NativeTextTrack {
23
32
  title: string;
@@ -34,6 +43,7 @@ interface NativeAdsConfig {
34
43
  videoId?: string;
35
44
  assetKey?: string;
36
45
  format?: string;
46
+ adTagParameters?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
37
47
  fallbackUri?: string;
38
48
  }
39
49
  interface NativeBufferConfigLive {
@@ -55,7 +65,7 @@ interface NativeSourceBufferConfig {
55
65
  interface NativeVideoSource {
56
66
  uri?: string;
57
67
  type?: string;
58
- startPosition?: Double;
68
+ headers?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
59
69
  startTime?: Double;
60
70
  endTime?: Double;
61
71
  isNetwork?: boolean;
@@ -81,6 +91,7 @@ interface NativeBufferConfig {
81
91
  bufferForPlaybackAfterRebufferMs?: Int32;
82
92
  backBufferDurationMs?: Int32;
83
93
  cacheSizeMB?: Int32;
94
+ live?: NativeBufferConfigLive;
84
95
  }
85
96
  interface NativeSelectedTrack {
86
97
  type?: string;
@@ -93,9 +104,12 @@ interface NativeSelectedVideoTrack {
93
104
  interface NativeDrmConfig {
94
105
  type?: string;
95
106
  licenseServer?: string;
107
+ headers?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
96
108
  contentId?: string;
97
109
  certificateUrl?: string;
98
110
  base64Certificate?: boolean;
111
+ multiDrm?: boolean;
112
+ localSourceEncryptionKeyScheme?: string;
99
113
  }
100
114
  export type OnVideoLoadStartEvent = Readonly<{
101
115
  isNetwork: boolean;
@@ -170,6 +184,7 @@ export type TransferEndEvent = Readonly<{
170
184
  bytesTransferred: Double;
171
185
  }>;
172
186
  export interface NativeProps extends ViewProps {
187
+ progressUpdateInterval?: Double;
173
188
  source?: NativeVideoSource;
174
189
  poster?: string;
175
190
  posterResizeMode?: WithDefault<string, 'contain'>;
@@ -193,6 +208,7 @@ export interface NativeProps extends ViewProps {
193
208
  selectedAudioTrack?: NativeSelectedTrack;
194
209
  selectedTextTrack?: NativeSelectedTrack;
195
210
  selectedVideoTrack?: NativeSelectedVideoTrack;
211
+ textTracks?: ReadonlyArray<Readonly<NativeTextTrack>>;
196
212
  drm?: NativeDrmConfig;
197
213
  localSourceEncryptionKeyScheme?: string;
198
214
  adTagUrl?: string;
@@ -70,7 +70,6 @@ export interface VideoSource {
70
70
  mainVer?: number;
71
71
  patchVer?: number;
72
72
  headers?: VideoSourceHeaders;
73
- startPosition?: number;
74
73
  startTime?: number;
75
74
  endTime?: number;
76
75
  drm?: DrmConfig;
@@ -151,23 +150,8 @@ export interface OnTimedMetadataData {
151
150
  identifier: string;
152
151
  }>;
153
152
  }
154
- export interface OnAudioTracksData {
155
- audioTracks: AudioTrack[];
156
- }
157
- export interface OnTextTracksData {
158
- textTracks: TextTrackInfo[];
159
- }
160
- export interface OnTextTrackDataChangedData {
161
- subtitleTracks: string;
162
- }
163
- export interface OnVideoTracksData {
164
- videoTracks: VideoTrackInfo[];
165
- }
166
153
  export interface OnReceiveAdEventData {
167
154
  event: string;
168
- data?: {
169
- [key: string]: string | number | boolean;
170
- };
171
155
  }
172
156
  export interface OnTransferEndData {
173
157
  uri: string;
@@ -301,11 +285,6 @@ export interface VideoProps {
301
285
  * Callback when video is ready for display
302
286
  */
303
287
  onReadyForDisplay?: () => void;
304
- onAudioTracks?: (data: OnAudioTracksData) => void;
305
- onTextTracks?: (data: OnTextTracksData) => void;
306
- onTextTrackDataChanged?: (data: OnTextTrackDataChangedData) => void;
307
- onVideoTracks?: (data: OnVideoTracksData) => void;
308
- onTimedMetadata?: (data: OnTimedMetadataData) => void;
309
288
  /**
310
289
  * Callback when video aspect ratio changes
311
290
  */
@@ -655,6 +655,7 @@ using namespace facebook::react;
655
655
  {
656
656
  [super prepareForRecycle];
657
657
  [_provider unload];
658
+ _props = std::make_shared<const GraniteVideoViewProps>();
658
659
  }
659
660
 
660
661
  - (void)dealloc
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@granite-js/video",
3
- "version": "1.0.12",
3
+ "version": "1.0.13",
4
4
  "description": "Pluggable video component for React Native with provider selection",
5
5
  "type": "module",
6
6
  "main": "./dist/module/index.js",
@@ -30,10 +30,39 @@ import NativeGraniteVideoView, {
30
30
  OnVideoAspectRatioEvent,
31
31
  TransferEndEvent,
32
32
  } from './GraniteVideoNativeComponent';
33
- import type { VideoRef, VideoSource, VideoProps, OnLoadData } from './types';
33
+ import type {
34
+ VideoRef,
35
+ VideoSource,
36
+ VideoProps,
37
+ OnLoadData,
38
+ } from './types';
34
39
 
35
40
  const { GraniteVideoModule } = NativeModules;
36
41
 
42
+ function toNativeStringMapEntries(
43
+ value?: Record<string, string>
44
+ ): ReadonlyArray<{ name: string; value: string }> | undefined {
45
+ if (value === undefined) {
46
+ return undefined;
47
+ }
48
+
49
+ return Object.entries(value).map(([name, value]) => ({
50
+ name,
51
+ value,
52
+ }));
53
+ }
54
+
55
+ function normalizeDrm(drm: VideoProps['drm']): NativeProps['drm'] | undefined {
56
+ if (!drm) {
57
+ return undefined;
58
+ }
59
+
60
+ return {
61
+ ...drm,
62
+ headers: toNativeStringMapEntries(drm.headers),
63
+ };
64
+ }
65
+
37
66
  // For Fabric (New Architecture), the component is always available through codegenNativeComponent
38
67
  // We don't need to check UIManager.getViewManagerConfig which is Old Architecture only
39
68
 
@@ -49,12 +78,24 @@ function normalizeCmcd(cmcd: VideoSource['cmcd']) {
49
78
  // When true, use MODE_QUERY_PARAMETER as default
50
79
  return { mode: 1 };
51
80
  }
81
+
52
82
  return {
53
83
  mode: cmcd.mode ?? 1,
54
- request: cmcd.request, // passes as Record through ReadableMap
55
- session: cmcd.session,
56
- object: cmcd.object,
57
- status: cmcd.status,
84
+ request: toNativeStringMapEntries(cmcd.request),
85
+ session: toNativeStringMapEntries(cmcd.session),
86
+ object: toNativeStringMapEntries(cmcd.object),
87
+ status: toNativeStringMapEntries(cmcd.status),
88
+ };
89
+ }
90
+
91
+ function normalizeAd(ad: VideoSource['ad']): NonNullable<NativeProps['source']>['ad'] | undefined {
92
+ if (!ad) {
93
+ return undefined;
94
+ }
95
+
96
+ return {
97
+ ...ad,
98
+ adTagParameters: ad.type === 'ssai' ? toNativeStringMapEntries(ad.adTagParameters) : undefined,
58
99
  };
59
100
  }
60
101
 
@@ -64,9 +105,16 @@ function normalizeSource(source: VideoSource | number): NativeProps['source'] |
64
105
  return undefined;
65
106
  }
66
107
 
108
+ const drm = normalizeDrm(source.drm);
109
+ const cmcd = normalizeCmcd(source.cmcd);
110
+ const ad = normalizeAd(source.ad);
111
+
67
112
  return {
68
113
  ...source,
69
- cmcd: normalizeCmcd(source.cmcd),
114
+ headers: toNativeStringMapEntries(source.headers),
115
+ drm,
116
+ cmcd,
117
+ ad,
70
118
  };
71
119
  }
72
120
 
@@ -94,35 +142,6 @@ function normalizeSelectedVideoTrack(
94
142
  };
95
143
  }
96
144
 
97
- function normalizeDrm(drm?: VideoProps['drm']): NativeProps['drm'] | undefined {
98
- if (!drm) {
99
- return undefined;
100
- }
101
- return {
102
- type: drm.type,
103
- licenseServer: drm.licenseServer,
104
- contentId: drm.contentId,
105
- certificateUrl: drm.certificateUrl,
106
- base64Certificate: drm.base64Certificate,
107
- };
108
- }
109
-
110
- // Note: `live` is only available via source-embedded bufferConfig (NativeSourceBufferConfig),
111
- // not via the top-level bufferConfig prop (NativeBufferConfig).
112
- function normalizeBufferConfig(config?: VideoProps['bufferConfig']): NativeProps['bufferConfig'] | undefined {
113
- if (!config) {
114
- return undefined;
115
- }
116
- return {
117
- minBufferMs: config.minBufferMs,
118
- maxBufferMs: config.maxBufferMs,
119
- bufferForPlaybackMs: config.bufferForPlaybackMs,
120
- bufferForPlaybackAfterRebufferMs: config.bufferForPlaybackAfterRebufferMs,
121
- backBufferDurationMs: config.backBufferDurationMs,
122
- cacheSizeMB: config.cacheSizeMB,
123
- };
124
- }
125
-
126
145
  function getPosterUri(poster?: VideoProps['poster']): string | undefined {
127
146
  if (!poster) {
128
147
  return undefined;
@@ -143,6 +162,8 @@ const VideoBase = forwardRef<VideoRef, VideoProps>((props, ref) => {
143
162
  testID,
144
163
  // Style
145
164
  style,
165
+ // Progress
166
+ progressUpdateInterval,
146
167
  // Source
147
168
  source,
148
169
  // Poster
@@ -172,6 +193,7 @@ const VideoBase = forwardRef<VideoRef, VideoProps>((props, ref) => {
172
193
  selectedAudioTrack,
173
194
  selectedTextTrack,
174
195
  selectedVideoTrack,
196
+ textTracks,
175
197
  // DRM
176
198
  drm,
177
199
  localSourceEncryptionKeyScheme,
@@ -312,16 +334,13 @@ const VideoBase = forwardRef<VideoRef, VideoProps>((props, ref) => {
312
334
  const handleLoad = useCallback(
313
335
  (event: NativeSyntheticEvent<OnVideoLoadEvent>) => {
314
336
  const nativeEvent = event.nativeEvent;
315
- const loadData: OnLoadData = {
337
+ const loadData = {
316
338
  ...nativeEvent,
317
339
  naturalSize: {
318
340
  ...nativeEvent.naturalSize,
319
341
  orientation: nativeEvent.naturalSize.orientation as OnLoadData['naturalSize']['orientation'],
320
342
  },
321
- audioTracks: [],
322
- textTracks: [],
323
- videoTracks: [],
324
- };
343
+ } as OnLoadData;
325
344
  onLoad?.(loadData);
326
345
  },
327
346
  [onLoad]
@@ -469,8 +488,7 @@ const VideoBase = forwardRef<VideoRef, VideoProps>((props, ref) => {
469
488
  <NativeGraniteVideoView
470
489
  ref={nativeRef}
471
490
  style={styles.video}
472
- // Cast needed: normalizeSource includes fields (drm.headers, cmcd.request/session/object/status,
473
- // ad.adTagParameters) that bypass Codegen typing and pass through ReadableMap directly.
491
+ progressUpdateInterval={progressUpdateInterval}
474
492
  source={normalizeSource(source)}
475
493
  poster={getPosterUri(poster)}
476
494
  posterResizeMode={posterResizeMode}
@@ -487,13 +505,14 @@ const VideoBase = forwardRef<VideoRef, VideoProps>((props, ref) => {
487
505
  viewType={viewType}
488
506
  useTextureView={useTextureView}
489
507
  useSecureView={useSecureView}
490
- bufferConfig={normalizeBufferConfig(bufferConfig)}
508
+ bufferConfig={bufferConfig}
491
509
  minLoadRetryCount={minLoadRetryCount}
492
510
  maxBitRate={maxBitRate}
493
511
  preferredForwardBufferDuration={preferredForwardBufferDuration}
494
512
  selectedAudioTrack={normalizeSelectedTrack(selectedAudioTrack)}
495
513
  selectedTextTrack={normalizeSelectedTrack(selectedTextTrack)}
496
514
  selectedVideoTrack={normalizeSelectedVideoTrack(selectedVideoTrack)}
515
+ textTracks={textTracks}
497
516
  drm={normalizeDrm(drm)}
498
517
  localSourceEncryptionKeyScheme={localSourceEncryptionKeyScheme}
499
518
  adTagUrl={adTagUrl}
@@ -20,10 +20,16 @@ interface NativeVideoMetadata {
20
20
  imageUri?: string;
21
21
  }
22
22
 
23
+ interface NativeStringMapEntry {
24
+ name: string;
25
+ value: string;
26
+ }
27
+
23
28
  // Native DRM config (source-embedded DRM)
24
29
  interface NativeSourceDrmConfig {
25
30
  type?: string;
26
31
  licenseServer?: string;
32
+ headers?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
27
33
  contentId?: string;
28
34
  certificateUrl?: string;
29
35
  base64Certificate?: boolean;
@@ -34,6 +40,10 @@ interface NativeSourceDrmConfig {
34
40
  // Native CMCD config
35
41
  interface NativeCmcdConfiguration {
36
42
  mode?: Int32;
43
+ request?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
44
+ session?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
45
+ object?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
46
+ status?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
37
47
  }
38
48
 
39
49
  // Native text track
@@ -54,6 +64,7 @@ interface NativeAdsConfig {
54
64
  videoId?: string;
55
65
  assetKey?: string;
56
66
  format?: string;
67
+ adTagParameters?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
57
68
  fallbackUri?: string;
58
69
  }
59
70
 
@@ -80,7 +91,7 @@ interface NativeSourceBufferConfig {
80
91
  interface NativeVideoSource {
81
92
  uri?: string;
82
93
  type?: string;
83
- startPosition?: Double;
94
+ headers?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
84
95
  startTime?: Double;
85
96
  endTime?: Double;
86
97
  isNetwork?: boolean;
@@ -107,6 +118,7 @@ interface NativeBufferConfig {
107
118
  bufferForPlaybackAfterRebufferMs?: Int32;
108
119
  backBufferDurationMs?: Int32;
109
120
  cacheSizeMB?: Int32;
121
+ live?: NativeBufferConfigLive;
110
122
  }
111
123
 
112
124
  interface NativeSelectedTrack {
@@ -122,9 +134,12 @@ interface NativeSelectedVideoTrack {
122
134
  interface NativeDrmConfig {
123
135
  type?: string;
124
136
  licenseServer?: string;
137
+ headers?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
125
138
  contentId?: string;
126
139
  certificateUrl?: string;
127
140
  base64Certificate?: boolean;
141
+ multiDrm?: boolean;
142
+ localSourceEncryptionKeyScheme?: string;
128
143
  }
129
144
 
130
145
  export type OnVideoLoadStartEvent = Readonly<{
@@ -216,6 +231,9 @@ export type TransferEndEvent = Readonly<{
216
231
  }>;
217
232
 
218
233
  export interface NativeProps extends ViewProps {
234
+ // Progress
235
+ progressUpdateInterval?: Double;
236
+
219
237
  // Source
220
238
  source?: NativeVideoSource;
221
239
 
@@ -250,6 +268,7 @@ export interface NativeProps extends ViewProps {
250
268
  selectedAudioTrack?: NativeSelectedTrack;
251
269
  selectedTextTrack?: NativeSelectedTrack;
252
270
  selectedVideoTrack?: NativeSelectedVideoTrack;
271
+ textTracks?: ReadonlyArray<Readonly<NativeTextTrack>>;
253
272
 
254
273
  // DRM
255
274
  drm?: NativeDrmConfig;
package/src/types.ts CHANGED
@@ -104,7 +104,6 @@ export interface VideoSource {
104
104
  mainVer?: number;
105
105
  patchVer?: number;
106
106
  headers?: VideoSourceHeaders;
107
- startPosition?: number;
108
107
  startTime?: number;
109
108
  endTime?: number;
110
109
  drm?: DrmConfig;
@@ -220,27 +219,8 @@ export interface OnTimedMetadataData {
220
219
  }>;
221
220
  }
222
221
 
223
- export interface OnAudioTracksData {
224
- audioTracks: AudioTrack[];
225
- }
226
-
227
- export interface OnTextTracksData {
228
- textTracks: TextTrackInfo[];
229
- }
230
-
231
- export interface OnTextTrackDataChangedData {
232
- subtitleTracks: string;
233
- }
234
-
235
- export interface OnVideoTracksData {
236
- videoTracks: VideoTrackInfo[];
237
- }
238
-
239
222
  export interface OnReceiveAdEventData {
240
223
  event: string;
241
- data?: {
242
- [key: string]: string | number | boolean;
243
- };
244
224
  }
245
225
 
246
226
  export interface OnTransferEndData {
@@ -427,13 +407,6 @@ export interface VideoProps {
427
407
  */
428
408
  onReadyForDisplay?: () => void;
429
409
 
430
- // Track Events
431
- onAudioTracks?: (data: OnAudioTracksData) => void;
432
- onTextTracks?: (data: OnTextTracksData) => void;
433
- onTextTrackDataChanged?: (data: OnTextTrackDataChangedData) => void;
434
- onVideoTracks?: (data: OnVideoTracksData) => void;
435
- onTimedMetadata?: (data: OnTimedMetadataData) => void;
436
-
437
410
  /**
438
411
  * Callback when video aspect ratio changes
439
412
  */