@granite-js/video 1.0.12 → 1.0.14
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 +13 -0
- package/android/src/main/java/run/granite/video/GraniteVideoView.kt +0 -1
- package/android/src/main/java/run/granite/video/provider/GraniteVideoProvider.kt +0 -1
- package/android/src/media3/java/run/granite/video/provider/media3/ExoPlayerProvider.kt +3 -3
- package/android/src/test/java/run/granite/video/GraniteVideoViewRobolectricTest.kt +0 -2
- package/android/src/test/java/run/granite/video/helpers/FakeGraniteVideoProvider.kt +1 -1
- package/dist/module/GraniteVideo.js +46 -43
- package/dist/module/GraniteVideo.js.map +1 -1
- package/dist/module/GraniteVideoNativeComponent.ts +20 -1
- package/dist/module/types.js.map +1 -1
- package/dist/typescript/GraniteVideoNativeComponent.d.ts +17 -1
- package/dist/typescript/types.d.ts +0 -21
- package/ios/GraniteVideoProvider.swift +0 -1
- package/ios/GraniteVideoView.mm +1 -2
- package/ios/Providers/AVPlayerProvider.swift +3 -3
- package/package.json +1 -1
- package/src/GraniteVideo.tsx +62 -43
- package/src/GraniteVideoNativeComponent.ts +20 -1
- package/src/types.ts +0 -27
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @granite-js/video
|
|
2
2
|
|
|
3
|
+
## 1.0.14
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 4263c41: fix: video native prop
|
|
8
|
+
|
|
9
|
+
## 1.0.13
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 4218c46: Fix Fabric view recycling bug where video fails to play when remounted with the same source URI
|
|
14
|
+
- dcffed6: fix: make @granite-js/video compatible with react-native-video@6.0.0
|
|
15
|
+
|
|
3
16
|
## 1.0.12
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
|
@@ -75,7 +75,6 @@ class GraniteVideoView @JvmOverloads constructor(
|
|
|
75
75
|
val videoSource = GraniteVideoSource(
|
|
76
76
|
uri = source["uri"] as? String,
|
|
77
77
|
type = source["type"] as? String,
|
|
78
|
-
startPosition = (source["startPosition"] as? Number)?.toDouble() ?: 0.0,
|
|
79
78
|
startTime = (source["startTime"] as? Number)?.toDouble() ?: 0.0,
|
|
80
79
|
endTime = (source["endTime"] as? Number)?.toDouble() ?: 0.0,
|
|
81
80
|
headers = headers,
|
|
@@ -33,7 +33,6 @@ enum class GraniteVideoAudioOutput {
|
|
|
33
33
|
data class GraniteVideoSource(
|
|
34
34
|
val uri: String? = null,
|
|
35
35
|
val type: String? = null,
|
|
36
|
-
val startPosition: Double = 0.0,
|
|
37
36
|
val startTime: Double = 0.0,
|
|
38
37
|
val endTime: Double = 0.0,
|
|
39
38
|
val headers: Map<String, String>? = null,
|
|
@@ -163,9 +163,9 @@ class ExoPlayerProvider(
|
|
|
163
163
|
player?.setMediaSource(mediaSource)
|
|
164
164
|
player?.prepare()
|
|
165
165
|
|
|
166
|
-
// Seek to start
|
|
167
|
-
if (source.
|
|
168
|
-
player?.seekTo(source.
|
|
166
|
+
// Seek to start time if specified
|
|
167
|
+
if (source.startTime > 0) {
|
|
168
|
+
player?.seekTo(source.startTime.toLong())
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
|
|
@@ -111,7 +111,6 @@ class GraniteVideoViewRobolectricTest {
|
|
|
111
111
|
val source = mapOf(
|
|
112
112
|
"uri" to "https://example.com/video.mp4",
|
|
113
113
|
"type" to "mp4",
|
|
114
|
-
"startPosition" to 10.0,
|
|
115
114
|
"headers" to mapOf("Authorization" to "Bearer token")
|
|
116
115
|
)
|
|
117
116
|
view.setSource(source)
|
|
@@ -120,7 +119,6 @@ class GraniteVideoViewRobolectricTest {
|
|
|
120
119
|
mockProvider.loadSource(match<GraniteVideoSource> {
|
|
121
120
|
it.uri == "https://example.com/video.mp4" &&
|
|
122
121
|
it.type == "mp4" &&
|
|
123
|
-
it.startPosition == 10.0 &&
|
|
124
122
|
it.headers?.get("Authorization") == "Bearer token"
|
|
125
123
|
})
|
|
126
124
|
}
|
|
@@ -40,7 +40,7 @@ class FakeGraniteVideoProvider(
|
|
|
40
40
|
override fun loadSource(source: GraniteVideoSource) {
|
|
41
41
|
lastLoadedSource = source
|
|
42
42
|
_duration = 0.0
|
|
43
|
-
_currentTime = source.
|
|
43
|
+
_currentTime = source.startTime
|
|
44
44
|
delegate?.onLoadStart(
|
|
45
45
|
isNetwork = source.uri?.startsWith("http") == true,
|
|
46
46
|
type = source.type ?: "unknown",
|
|
@@ -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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,MAAM,EAAEC,mBAAmB,EAAEC,WAAW,QAAQ,OAAO;AACnF,SACEC,QAAQ,EACRC,UAAU,EACVC,IAAI,EACJC,KAAK,EACLC,cAAc,EACdC,aAAa,QAIR,cAAc;AACrB,OAAOC,sBAAsB,IAC3BC,QAAQ,QAkBH,+BAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQvC,MAAM;EAAEC;AAAmB,CAAC,GAAGL,aAAa;AAE5C,SAASM,wBAAwBA,CAC/BC,KAA8B,EAC8B;EAC5D,IAAIA,KAAK,KAAKC,SAAS,EAAE;IACvB,OAAOA,SAAS;EAClB;EAEA,OAAOC,MAAM,CAACC,OAAO,CAACH,KAAK,CAAC,CAACI,GAAG,CAAC,CAAC,CAACC,IAAI,EAAEL,KAAK,CAAC,MAAM;IACnDK,IAAI;IACJL;EACF,CAAC,CAAC,CAAC;AACL;AAEA,SAASM,YAAYA,CAACC,GAAsB,EAAkC;EAC5E,IAAI,CAACA,GAAG,EAAE;IACR,OAAON,SAAS;EAClB;EAEA,OAAO;IACL,GAAGM,GAAG;IACNC,OAAO,EAAET,wBAAwB,CAACQ,GAAG,CAACC,OAAO;EAC/C,CAAC;AACH;;AAEA;AACA;;AAEA;AACA,SAASC,aAAaA,CAACC,IAAyB,EAAE;EAChD,IAAIA,IAAI,KAAKT,SAAS,IAAIS,IAAI,KAAK,IAAI,EAAE;IACvC,OAAOT,SAAS;EAClB;EACA,IAAI,OAAOS,IAAI,KAAK,SAAS,EAAE;IAC7B,IAAI,CAACA,IAAI,EAAE;MACT,OAAOT,SAAS;IAClB;IACA;IACA,OAAO;MAAEU,IAAI,EAAE;IAAE,CAAC;EACpB;EAEA,OAAO;IACLA,IAAI,EAAED,IAAI,CAACC,IAAI,IAAI,CAAC;IACpBC,OAAO,EAAEb,wBAAwB,CAACW,IAAI,CAACE,OAAO,CAAC;IAC/CC,OAAO,EAAEd,wBAAwB,CAACW,IAAI,CAACG,OAAO,CAAC;IAC/CC,MAAM,EAAEf,wBAAwB,CAACW,IAAI,CAACI,MAAM,CAAC;IAC7CC,MAAM,EAAEhB,wBAAwB,CAACW,IAAI,CAACK,MAAM;EAC9C,CAAC;AACH;AAEA,SAASC,WAAWA,CAACC,EAAqB,EAAwD;EAChG,IAAI,CAACA,EAAE,EAAE;IACP,OAAOhB,SAAS;EAClB;EAEA,OAAO;IACL,GAAGgB,EAAE;IACLC,eAAe,EAAED,EAAE,CAACE,IAAI,KAAK,MAAM,GAAGpB,wBAAwB,CAACkB,EAAE,CAACC,eAAe,CAAC,GAAGjB;EACvF,CAAC;AACH;AAEA,SAASmB,eAAeA,CAACC,MAA4B,EAAqC;EACxF,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B;IACA,OAAOpB,SAAS;EAClB;EAEA,MAAMM,GAAG,GAAGD,YAAY,CAACe,MAAM,CAACd,GAAG,CAAC;EACpC,MAAMG,IAAI,GAAGD,aAAa,CAACY,MAAM,CAACX,IAAI,CAAC;EACvC,MAAMO,EAAE,GAAGD,WAAW,CAACK,MAAM,CAACJ,EAAE,CAAC;EAEjC,OAAO;IACL,GAAGI,MAAM;IACTb,OAAO,EAAET,wBAAwB,CAACsB,MAAM,CAACb,OAAO,CAAC;IACjDD,GAAG;IACHG,IAAI;IACJO;EACF,CAAC;AACH;AAEA,SAASK,sBAAsBA,CAC7BC,KAAwC,EACO;EAC/C,IAAI,CAACA,KAAK,EAAE;IACV,OAAOtB,SAAS;EAClB;EACA,OAAO;IACLkB,IAAI,EAAEI,KAAK,CAACJ,IAAI;IAChBnB,KAAK,EAAEuB,KAAK,CAACvB,KAAK,EAAEwB,QAAQ,CAAC;EAC/B,CAAC;AACH;AAEA,SAASC,2BAA2BA,CAClCF,KAAwC,EACO;EAC/C,IAAI,CAACA,KAAK,EAAE;IACV,OAAOtB,SAAS;EAClB;EACA,OAAO;IACLkB,IAAI,EAAEI,KAAK,CAACJ,IAAI;IAChBnB,KAAK,EAAEuB,KAAK,CAACvB;EACf,CAAC;AACH;AAEA,SAAS0B,YAAYA,CAACC,MAA6B,EAAsB;EACvE,IAAI,CAACA,MAAM,EAAE;IACX,OAAO1B,SAAS;EAClB;EACA,IAAI,OAAO0B,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAOA,MAAM;EACf;EACA,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAI,KAAK,IAAIA,MAAM,IAAIA,MAAM,CAACC,GAAG,EAAE;IAC/D,OAAOD,MAAM,CAACC,GAAG;EACnB;EACA,MAAMC,QAAQ,GAAGtC,KAAK,CAACuC,kBAAkB,CAACH,MAAa,CAAC;EACxD,OAAOE,QAAQ,EAAED,GAAG;AACtB;AAEA,MAAMG,SAAS,gBAAG/C,UAAU,CAAuB,CAACgD,KAAK,EAAEC,GAAG,KAAK;EACjE,MAAM;IACJ;IACAC,MAAM;IACN;IACAC,KAAK;IACL;IACAC,sBAAsB;IACtB;IACAf,MAAM;IACN;IACAM,MAAM;IACNU,gBAAgB,GAAG,SAAS;IAC5B;IACAC,MAAM,GAAG,KAAK;IACdC,KAAK,GAAG,KAAK;IACbC,MAAM,GAAG,GAAG;IACZC,IAAI,GAAG,GAAG;IACVC,MAAM,GAAG,KAAK;IACdC,gBAAgB,GAAG,KAAK;IACxBC,gBAAgB,GAAG,KAAK;IACxBC,oCAAoC,GAAG,IAAI;IAC3CC,YAAY;IACZ;IACAC,UAAU,GAAG,SAAS;IACtBC,QAAQ,GAAG,SAAS;IACpBC,cAAc,GAAG,KAAK;IACtBC,aAAa,GAAG,KAAK;IACrB;IACAC,YAAY;IACZC,iBAAiB,GAAG,CAAC;IACrBC,UAAU;IACVC,8BAA8B;IAC9B;IACAC,kBAAkB;IAClBC,iBAAiB;IACjBC,kBAAkB;IAClBC,UAAU;IACV;IACAnD,GAAG;IACHoD,8BAA8B;IAC9B;IACAC,QAAQ;IACRC,UAAU;IACV;IACAC,QAAQ,GAAG,KAAK;IAChBC,wBAAwB,GAAG,KAAK;IAChCC,YAAY,GAAG,KAAK;IACpBC,sBAAsB,GAAG,KAAK;IAC9BC,SAAS,GAAG,IAAI;IAChBC,eAAe,GAAG,KAAK;IACvBC,uCAAuC,GAAG,IAAI;IAC9C;IACAC,UAAU,GAAG,KAAK;IAClBC,oBAAoB,GAAG,IAAI;IAC3BC,qBAAqB,GAAG,KAAK;IAC7B;IACAC,gBAAgB,GAAG,KAAK;IACxB;IACAC,gBAAgB;IAChBC,sBAAsB,GAAG,IAAI;IAC7BC,WAAW,GAAG,SAAS;IACvBC,kBAAkB,GAAG,SAAS;IAC9BC,aAAa,GAAG,SAAS;IACzB;IACAC,KAAK;IACL;IACAC,WAAW;IACXC,MAAM;IACNC,OAAO;IACPC,UAAU;IACVC,MAAM;IACNC,KAAK;IACLC,QAAQ;IACRC,iBAAiB;IACjBC,sBAAsB;IACtBC,oBAAoB;IACpBC,cAAc;IACdC,MAAM;IACNC,iBAAiB;IACjBC,mBAAmB;IACnBC,oBAAoB;IACpBC,6BAA6B;IAC7BC,4BAA4B;IAC5BC,6BAA6B;IAC7BC,4BAA4B;IAC5BC,+BAA+B;IAC/BC,6CAA6C;IAC7CC,0BAA0B;IAC1BC,wBAAwB;IACxBC,aAAa;IACbC;EACF,CAAC,GAAGvE,KAAK;EAET,MAAMwE,SAAS,GAAGvH,MAAM,CAAkD,IAAI,CAAC;;EAE/E;EACAC,mBAAmB,CAAC+C,GAAG,EAAE,OAAO;IAC9BwE,IAAI,EAAEA,CAACC,IAAY,EAAEC,SAAkB,KAAK;MAC1C,IAAIH,SAAS,CAACI,OAAO,EAAE;QACrBjH,QAAQ,CAAC8G,IAAI,CAACD,SAAS,CAACI,OAAO,EAAEF,IAAI,EAAEC,SAAS,IAAI,CAAC,CAAC;MACxD;IACF,CAAC;IACDE,KAAK,EAAEA,CAAA,KAAM;MACX,IAAIL,SAAS,CAACI,OAAO,EAAE;QACrBjH,QAAQ,CAACkH,KAAK,CAACL,SAAS,CAACI,OAAO,CAAC;MACnC;IACF,CAAC;IACDE,MAAM,EAAEA,CAAA,KAAM;MACZ,IAAIN,SAAS,CAACI,OAAO,EAAE;QACrBjH,QAAQ,CAACmH,MAAM,CAACN,SAAS,CAACI,OAAO,CAAC;MACpC;IACF,CAAC;IACDG,SAAS,EAAGC,GAAW,IAAK;MAC1B,IAAIR,SAAS,CAACI,OAAO,EAAE;QACrBjH,QAAQ,CAACsH,YAAY,CAACT,SAAS,CAACI,OAAO,EAAEI,GAAG,CAAC;MAC/C;IACF,CAAC;IACDE,aAAa,EAAGC,EAAW,IAAK;MAC9B,IAAIX,SAAS,CAACI,OAAO,EAAE;QACrBjH,QAAQ,CAACuH,aAAa,CAACV,SAAS,CAACI,OAAO,EAAEO,EAAE,CAAC;MAC/C;IACF,CAAC;IACDC,uBAAuB,EAAEA,CAAA,KAAM;MAC7B,IAAIZ,SAAS,CAACI,OAAO,EAAE;QACrBjH,QAAQ,CAACuH,aAAa,CAACV,SAAS,CAACI,OAAO,EAAE,IAAI,CAAC;MACjD;IACF,CAAC;IACDS,uBAAuB,EAAEA,CAAA,KAAM;MAC7B,IAAIb,SAAS,CAACI,OAAO,EAAE;QACrBjH,QAAQ,CAACuH,aAAa,CAACV,SAAS,CAACI,OAAO,EAAE,KAAK,CAAC;MAClD;IACF,CAAC;IACDU,qBAAqB,EAAEA,CAAA,KAAM;MAC3B,IAAId,SAAS,CAACI,OAAO,EAAE;QACrBjH,QAAQ,CAAC2H,qBAAqB,CAACd,SAAS,CAACI,OAAO,CAAC;MACnD;IACF,CAAC;IACDW,oBAAoB,EAAEA,CAAA,KAAM;MAC1B,IAAIf,SAAS,CAACI,OAAO,EAAE;QACrBjH,QAAQ,CAAC4H,oBAAoB,CAACf,SAAS,CAACI,OAAO,CAAC;MAClD;IACF,CAAC;IACDY,SAAS,EAAGC,SAAsB,IAAK;MACrC,IAAIjB,SAAS,CAACI,OAAO,IAAIa,SAAS,CAAC7F,GAAG,EAAE;QACtCjC,QAAQ,CAAC+H,UAAU,CAAClB,SAAS,CAACI,OAAO,EAAEa,SAAS,CAAC7F,GAAG,CAAC;MACvD;IACF,CAAC;IACD+F,kBAAkB,EAAE,MAAAA,CAAA,KAAY;MAC9B,MAAMC,MAAM,GAAGpI,cAAc,CAACgH,SAAS,CAACI,OAAO,CAAC;MAChD,IAAIgB,MAAM,IAAI9H,kBAAkB,EAAE6H,kBAAkB,EAAE;QACpD,OAAO7H,kBAAkB,CAAC6H,kBAAkB,CAACC,MAAM,CAAC;MACtD;MACA,OAAO,CAAC;IACV,CAAC;IACDC,IAAI,EAAE,MAAOC,OAA2B,IAAK;MAC3C,MAAMF,MAAM,GAAGpI,cAAc,CAACgH,SAAS,CAACI,OAAO,CAAC;MAChD,IAAIgB,MAAM,IAAI9H,kBAAkB,EAAE+H,IAAI,EAAE;QACtC,OAAO/H,kBAAkB,CAAC+H,IAAI,CAACD,MAAM,EAAEE,OAAO,IAAI,CAAC,CAAC,CAAC;MACvD;MACA,OAAO;QAAElG,GAAG,EAAE;MAAG,CAAC;IACpB,CAAC;IACDmG,oDAAoD,EAAEA,CAAA,KAAM;MAC1D;IAAA;EAEJ,CAAC,CAAC,CAAC;;EAEH;EACA,MAAMC,eAAe,GAAG7I,WAAW,CAChC8I,KAAkD,IAAK;IACtDlD,WAAW,GAAGkD,KAAK,CAACC,WAAW,CAAC;EAClC,CAAC,EACD,CAACnD,WAAW,CACd,CAAC;EAED,MAAMoD,UAAU,GAAGhJ,WAAW,CAC3B8I,KAA6C,IAAK;IACjD,MAAMC,WAAW,GAAGD,KAAK,CAACC,WAAW;IACrC,MAAME,QAAQ,GAAG;MACf,GAAGF,WAAW;MACdG,WAAW,EAAE;QACX,GAAGH,WAAW,CAACG,WAAW;QAC1BC,WAAW,EAAEJ,WAAW,CAACG,WAAW,CAACC;MACvC;IACF,CAAe;IACftD,MAAM,GAAGoD,QAAQ,CAAC;EACpB,CAAC,EACD,CAACpD,MAAM,CACT,CAAC;EAED,MAAMuD,WAAW,GAAGpJ,WAAW,CAC5B8I,KAA8C,IAAK;IAClDhD,OAAO,GAAGgD,KAAK,CAACC,WAAW,CAAC;EAC9B,CAAC,EACD,CAACjD,OAAO,CACV,CAAC;EAED,MAAMuD,cAAc,GAAGrJ,WAAW,CAC/B8I,KAAiD,IAAK;IACrD/C,UAAU,GAAG+C,KAAK,CAACC,WAAW,CAAC;EACjC,CAAC,EACD,CAAChD,UAAU,CACb,CAAC;EAED,MAAMuD,UAAU,GAAGtJ,WAAW,CAC3B8I,KAA6C,IAAK;IACjD9C,MAAM,GAAG8C,KAAK,CAACC,WAAW,CAAC;EAC7B,CAAC,EACD,CAAC/C,MAAM,CACT,CAAC;EAED,MAAMuD,SAAS,GAAGvJ,WAAW,CAAC,MAAM;IAClCiG,KAAK,GAAG,CAAC;EACX,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,MAAMuD,YAAY,GAAGxJ,WAAW,CAC7B8I,KAA+C,IAAK;IACnD5C,QAAQ,GAAG4C,KAAK,CAACC,WAAW,CAAC;EAC/B,CAAC,EACD,CAAC7C,QAAQ,CACX,CAAC;EAED,MAAMuD,qBAAqB,GAAGzJ,WAAW,CACtC8I,KAAwD,IAAK;IAC5D3C,iBAAiB,GAAG2C,KAAK,CAACC,WAAW,CAAC;EACxC,CAAC,EACD,CAAC5C,iBAAiB,CACpB,CAAC;EAED,MAAMuD,0BAA0B,GAAG1J,WAAW,CAC3C8I,KAA6D,IAAK;IACjE1C,sBAAsB,GAAG0C,KAAK,CAACC,WAAW,CAAC;EAC7C,CAAC,EACD,CAAC3C,sBAAsB,CACzB,CAAC;EAED,MAAMuD,wBAAwB,GAAG3J,WAAW,CACzC8I,KAA2D,IAAK;IAC/DzC,oBAAoB,GAAGyC,KAAK,CAACC,WAAW,CAAC;EAC3C,CAAC,EACD,CAAC1C,oBAAoB,CACvB,CAAC;EAED,MAAMuD,kBAAkB,GAAG5J,WAAW,CACnC8I,KAAqD,IAAK;IACzDxC,cAAc,GAAGwC,KAAK,CAACC,WAAW,CAAC;EACrC,CAAC,EACD,CAACzC,cAAc,CACjB,CAAC;EAED,MAAMuD,UAAU,GAAG7J,WAAW,CAAC,MAAM;IACnCuG,MAAM,GAAG,CAAC;EACZ,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ,MAAMuD,qBAAqB,GAAG9J,WAAW,CAAC,MAAM;IAC9CwG,iBAAiB,GAAG,CAAC;EACvB,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvB,MAAMuD,uBAAuB,GAAG/J,WAAW,CACxC8I,KAA0D,IAAK;IAC9DrC,mBAAmB,GAAGqC,KAAK,CAACC,WAAW,CAAC;EAC1C,CAAC,EACD,CAACtC,mBAAmB,CACtB,CAAC;EAED,MAAMuD,wBAAwB,GAAGhK,WAAW,CAAC,MAAM;IACjD0G,oBAAoB,GAAG,CAAC;EAC1B,CAAC,EAAE,CAACA,oBAAoB,CAAC,CAAC;EAE1B,MAAMuD,iCAAiC,GAAGjK,WAAW,CAAC,MAAM;IAC1D2G,6BAA6B,GAAG,CAAC;EACnC,CAAC,EAAE,CAACA,6BAA6B,CAAC,CAAC;EAEnC,MAAMuD,gCAAgC,GAAGlK,WAAW,CAAC,MAAM;IACzD4G,4BAA4B,GAAG,CAAC;EAClC,CAAC,EAAE,CAACA,4BAA4B,CAAC,CAAC;EAElC,MAAMuD,iCAAiC,GAAGnK,WAAW,CAAC,MAAM;IAC1D6G,6BAA6B,GAAG,CAAC;EACnC,CAAC,EAAE,CAACA,6BAA6B,CAAC,CAAC;EAEnC,MAAMuD,gCAAgC,GAAGpK,WAAW,CAAC,MAAM;IACzD8G,4BAA4B,GAAG,CAAC;EAClC,CAAC,EAAE,CAACA,4BAA4B,CAAC,CAAC;EAElC,MAAMuD,mCAAmC,GAAGrK,WAAW,CACpD8I,KAAsE,IAAK;IAC1E/B,+BAA+B,GAAG+B,KAAK,CAACC,WAAW,CAAC;EACtD,CAAC,EACD,CAAChC,+BAA+B,CAClC,CAAC;EAED,MAAMuD,iDAAiD,GAAGtK,WAAW,CAAC,MAAM;IAC1EgH,6CAA6C,GAAG,CAAC;EACnD,CAAC,EAAE,CAACA,6CAA6C,CAAC,CAAC;EAEnD,MAAMuD,8BAA8B,GAAGvK,WAAW,CAC/C8I,KAAiE,IAAK;IACrE7B,0BAA0B,GAAG6B,KAAK,CAACC,WAAW,CAAC;EACjD,CAAC,EACD,CAAC9B,0BAA0B,CAC7B,CAAC;EAED,MAAMuD,4BAA4B,GAAGxK,WAAW,CAC7C8I,KAA+D,IAAK;IACnE5B,wBAAwB,GAAG4B,KAAK,CAACC,WAAW,CAAC;EAC/C,CAAC,EACD,CAAC7B,wBAAwB,CAC3B,CAAC;EAED,MAAMuD,iBAAiB,GAAGzK,WAAW,CAClC8I,KAAoD,IAAK;IACxD3B,aAAa,GAAG2B,KAAK,CAACC,WAAW,CAAC;EACpC,CAAC,EACD,CAAC5B,aAAa,CAChB,CAAC;EAED,MAAMuD,iBAAiB,GAAG1K,WAAW,CAClC8I,KAA6C,IAAK;IACjD1B,aAAa,GAAG0B,KAAK,CAACC,WAAW,CAAC;EACpC,CAAC,EACD,CAAC3B,aAAa,CAChB,CAAC;;EAED;EACA,MAAMuD,cAAoC,GAAG,CAACC,MAAM,CAACC,SAAS,EAAE7H,KAAK,CAAC;EAEtE,oBACEtC,IAAA,CAACP,IAAI;IAAC6C,KAAK,EAAE2H,cAAe;IAAC5H,MAAM,EAAEA,MAAO;IAAA+H,QAAA,eAC1CpK,IAAA,CAACH,sBAAsB;MACrBuC,GAAG,EAAEuE,SAAU;MACfrE,KAAK,EAAE4H,MAAM,CAACG,KAAM;MACpB9H,sBAAsB,EAAEA,sBAAuB;MAC/Cf,MAAM,EAAED,eAAe,CAACC,MAAM,CAAE;MAChCM,MAAM,EAAED,YAAY,CAACC,MAAM,CAAE;MAC7BU,gBAAgB,EAAEA,gBAAiB;MACnCC,MAAM,EAAEA,MAAO;MACfC,KAAK,EAAEA,KAAM;MACbC,MAAM,EAAEA,MAAO;MACfC,IAAI,EAAEA,IAAK;MACXC,MAAM,EAAEA,MAAO;MACfC,gBAAgB,EAAEA,gBAAiB;MACnCC,gBAAgB,EAAEA,gBAAiB;MACnCC,oCAAoC,EAAEA,oCAAqC;MAC3EC,YAAY,EAAEA,YAAa;MAC3BC,UAAU,EAAEA,UAAW;MACvBC,QAAQ,EAAEA,QAAS;MACnBC,cAAc,EAAEA,cAAe;MAC/BC,aAAa,EAAEA,aAAc;MAC7BC,YAAY,EAAEA,YAAa;MAC3BC,iBAAiB,EAAEA,iBAAkB;MACrCC,UAAU,EAAEA,UAAW;MACvBC,8BAA8B,EAAEA,8BAA+B;MAC/DC,kBAAkB,EAAEjC,sBAAsB,CAACiC,kBAAkB,CAAE;MAC/DC,iBAAiB,EAAElC,sBAAsB,CAACkC,iBAAiB,CAAE;MAC7DC,kBAAkB,EAAEhC,2BAA2B,CAACgC,kBAAkB,CAAE;MACpEC,UAAU,EAAEA,UAAW;MACvBnD,GAAG,EAAED,YAAY,CAACC,GAAG,CAAE;MACvBoD,8BAA8B,EAAEA,8BAA+B;MAC/DC,QAAQ,EAAEA,QAAS;MACnBC,UAAU,EAAEA,UAAW;MACvBC,QAAQ,EAAEA,QAAS;MACnBC,wBAAwB,EAAEA,wBAAyB;MACnDC,YAAY,EAAEA,YAAa;MAC3BC,sBAAsB,EAAEA,sBAAuB;MAC/CC,SAAS,EAAEA,SAAU;MACrBC,eAAe,EAAEA,eAAgB;MACjCC,uCAAuC,EAAEA,uCAAwC;MACjFC,UAAU,EAAEA,UAAW;MACvBC,oBAAoB,EAAEA,oBAAqB;MAC3CC,qBAAqB,EAAEA,qBAAsB;MAC7CC,gBAAgB,EAAEA,gBAAiB;MACnCC,gBAAgB,EAAEA,gBAAiB;MACnCC,sBAAsB,EAAEA,sBAAuB;MAC/CC,WAAW,EAAEA,WAAY;MACzBC,kBAAkB,EAAEA,kBAAmB;MACvCC,aAAa,EAAEA,aAAc;MAC7BsF,WAAW,EAAErF,KAAK,EAAEsF,MAAO;MAC3BC,iBAAiB,EAAEvF,KAAK,EAAEwF,MAAO;MACjCC,gBAAgB,EAAEvC,eAAgB;MAClCwC,WAAW,EAAErC,UAAW;MACxBsC,YAAY,EAAElC,WAAY;MAC1BmC,eAAe,EAAElC,cAAe;MAChCmC,WAAW,EAAElC,UAAW;MACxBmC,UAAU,EAAElC,SAAU;MACtBmC,aAAa,EAAElC,YAAa;MAC5BmC,sBAAsB,EAAElC,qBAAsB;MAC9CmC,2BAA2B,EAAElC,0BAA2B;MACxDmC,yBAAyB,EAAElC,wBAAyB;MACpDmC,mBAAmB,EAAElC,kBAAmB;MACxCmC,WAAW,EAAElC,UAAW;MACxBmC,sBAAsB,EAAElC,qBAAsB;MAC9CmC,wBAAwB,EAAElC,uBAAwB;MAClDmC,yBAAyB,EAAElC,wBAAyB;MACpDmC,kCAAkC,EAAElC,iCAAkC;MACtEmC,iCAAiC,EAAElC,gCAAiC;MACpEmC,kCAAkC,EAAElC,iCAAkC;MACtEmC,iCAAiC,EAAElC,gCAAiC;MACpEmC,oCAAoC,EAAElC,mCAAoC;MAC1EmC,kDAAkD,EAAElC,iDAAkD;MACtGmC,+BAA+B,EAAElC,8BAA+B;MAChEmC,6BAA6B,EAAElC,4BAA6B;MAC5DmC,kBAAkB,EAAElC,iBAAkB;MACtCrD,aAAa,EAAEsD;IAAkB,CAClC;EAAC,CACE,CAAC;AAEX,CAAC,CAAC;AAEF9H,SAAS,CAACgK,WAAW,GAAG,OAAO;;AAE/B;;AAKA;AACA;AACChK,SAAS,CAAoBiK,WAAW,GAAG,IAAI;AAEhD,OAAO,MAAMC,KAAK,GAAGlK,SAA2B;AAEhD,MAAMgI,MAAM,GAAG1K,UAAU,CAAC6M,MAAM,CAAC;EAC/BlC,SAAS,EAAE;IACTmC,QAAQ,EAAE;EACZ,CAAC;EACDjC,KAAK,EAAE;IACL,GAAG7K,UAAU,CAAC+M;EAChB;AACF,CAAC,CAAC;;AAEF;AACA,OAAO,eAAeC,UAAUA,CAAA,EAAkB;EAChD,IAAIvM,kBAAkB,EAAEuM,UAAU,EAAE;IAClC,OAAOvM,kBAAkB,CAACuM,UAAU,CAAC,CAAC;EACxC;AACF;AAEA,OAAO,eAAeC,gBAAgBA,CAAA,EAAoB;EACxD,IAAIlN,QAAQ,CAACmN,EAAE,KAAK,SAAS,IAAIzM,kBAAkB,EAAEwM,gBAAgB,EAAE;IACrE,OAAOxM,kBAAkB,CAACwM,gBAAgB,CAAC,CAAC;EAC9C;EACA,OAAO,CAAC;AACV;AAEA,OAAO,eAAeE,gBAAgBA,CAACC,QAAgB,EAAEC,KAAa,EAAEC,MAAc,EAAoB;EACxG,IAAI7M,kBAAkB,EAAE0M,gBAAgB,EAAE;IACxC,OAAO1M,kBAAkB,CAAC0M,gBAAgB,CAACC,QAAQ,EAAEC,KAAK,EAAEC,MAAM,CAAC;EACrE;EACA,OAAO,KAAK;AACd;AAEA,OAAO,eAAeC,eAAeA,CAAA,EAAqB;EACxD,IAAI9M,kBAAkB,EAAE8M,eAAe,EAAE;IACvC,OAAO9M,kBAAkB,CAAC8M,eAAe,CAAC,CAAC;EAC7C;EACA,OAAO,KAAK;AACd","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
|
-
|
|
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/dist/module/types.js.map
CHANGED
|
@@ -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;;
|
|
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
|
-
|
|
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
|
*/
|
|
@@ -53,7 +53,6 @@ import AVFoundation
|
|
|
53
53
|
@objc public class GraniteVideoSource: NSObject {
|
|
54
54
|
@objc public var uri: String?
|
|
55
55
|
@objc public var type: String?
|
|
56
|
-
@objc public var startPosition: Double = 0
|
|
57
56
|
@objc public var startTime: Double = 0
|
|
58
57
|
@objc public var endTime: Double = 0
|
|
59
58
|
@objc public var headers: [String: String]?
|
package/ios/GraniteVideoView.mm
CHANGED
|
@@ -243,7 +243,6 @@ using namespace facebook::react;
|
|
|
243
243
|
videoSource.type = [NSString stringWithUTF8String:source.type.c_str()];
|
|
244
244
|
}
|
|
245
245
|
|
|
246
|
-
videoSource.startPosition = source.startPosition;
|
|
247
246
|
videoSource.startTime = source.startTime;
|
|
248
247
|
videoSource.endTime = source.endTime;
|
|
249
248
|
|
|
@@ -655,6 +654,7 @@ using namespace facebook::react;
|
|
|
655
654
|
{
|
|
656
655
|
[super prepareForRecycle];
|
|
657
656
|
[_provider unload];
|
|
657
|
+
_props = std::make_shared<const GraniteVideoViewProps>();
|
|
658
658
|
}
|
|
659
659
|
|
|
660
660
|
- (void)dealloc
|
|
@@ -669,4 +669,3 @@ Class<RCTComponentViewProtocol> GraniteVideoViewCls(void)
|
|
|
669
669
|
{
|
|
670
670
|
return GraniteVideoView.class;
|
|
671
671
|
}
|
|
672
|
-
|
|
@@ -236,9 +236,9 @@ private class AVPlayerContainerView: UIView {
|
|
|
236
236
|
// Replace current item
|
|
237
237
|
player.replaceCurrentItem(with: item)
|
|
238
238
|
|
|
239
|
-
// Set start
|
|
240
|
-
if source.
|
|
241
|
-
let seekTime = CMTime(seconds: source.
|
|
239
|
+
// Set start time if specified
|
|
240
|
+
if source.startTime > 0 {
|
|
241
|
+
let seekTime = CMTime(seconds: source.startTime, preferredTimescale: CMTimeScale(NSEC_PER_SEC))
|
|
242
242
|
player.seek(to: seekTime)
|
|
243
243
|
}
|
|
244
244
|
|
package/package.json
CHANGED
package/src/GraniteVideo.tsx
CHANGED
|
@@ -30,10 +30,39 @@ import NativeGraniteVideoView, {
|
|
|
30
30
|
OnVideoAspectRatioEvent,
|
|
31
31
|
TransferEndEvent,
|
|
32
32
|
} from './GraniteVideoNativeComponent';
|
|
33
|
-
import type {
|
|
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,
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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={
|
|
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
|
-
|
|
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
|
*/
|