@granite-js/video 1.0.11 → 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 +14 -0
- package/android/src/main/java/run/granite/video/GraniteVideoView.kt +2 -2
- package/android/src/main/java/run/granite/video/provider/GraniteVideoProvider.kt +2 -2
- package/dist/module/GraniteVideo.js +46 -43
- package/dist/module/GraniteVideo.js.map +1 -1
- package/dist/module/GraniteVideoNativeComponent.ts +22 -3
- package/dist/module/types.js.map +1 -1
- package/dist/typescript/GraniteVideoNativeComponent.d.ts +19 -3
- package/dist/typescript/types.d.ts +2 -23
- package/ios/GraniteVideoProvider.swift +3 -2
- package/ios/GraniteVideoView.mm +14 -2
- package/package.json +1 -1
- package/src/GraniteVideo.tsx +62 -43
- package/src/GraniteVideoNativeComponent.ts +22 -3
- package/src/types.ts +2 -29
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
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
|
+
|
|
10
|
+
## 1.0.12
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- 61b8058: Add iOS native implementation for onVideoAudioFocusChanged event
|
|
15
|
+
- 61b8058: Improvement to Granite Video Props
|
|
16
|
+
|
|
3
17
|
## 1.0.11
|
|
4
18
|
|
|
5
19
|
## 1.0.10
|
|
@@ -76,8 +76,8 @@ class GraniteVideoView @JvmOverloads constructor(
|
|
|
76
76
|
uri = source["uri"] as? String,
|
|
77
77
|
type = source["type"] as? String,
|
|
78
78
|
startPosition = (source["startPosition"] as? Number)?.toDouble() ?: 0.0,
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
startTime = (source["startTime"] as? Number)?.toDouble() ?: 0.0,
|
|
80
|
+
endTime = (source["endTime"] as? Number)?.toDouble() ?: 0.0,
|
|
81
81
|
headers = headers,
|
|
82
82
|
drm = parseDrm(source["drm"] as? Map<String, Any>),
|
|
83
83
|
isNetwork = source["isNetwork"] as? Boolean,
|
|
@@ -34,8 +34,8 @@ data class GraniteVideoSource(
|
|
|
34
34
|
val uri: String? = null,
|
|
35
35
|
val type: String? = null,
|
|
36
36
|
val startPosition: Double = 0.0,
|
|
37
|
-
val
|
|
38
|
-
val
|
|
37
|
+
val startTime: Double = 0.0,
|
|
38
|
+
val endTime: Double = 0.0,
|
|
39
39
|
val headers: Map<String, String>? = null,
|
|
40
40
|
val drm: GraniteVideoDrmConfig? = null,
|
|
41
41
|
val isNetwork: Boolean? = null,
|
|
@@ -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":"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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,9 +91,9 @@ interface NativeSourceBufferConfig {
|
|
|
80
91
|
interface NativeVideoSource {
|
|
81
92
|
uri?: string;
|
|
82
93
|
type?: string;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
94
|
+
headers?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
|
|
95
|
+
startTime?: Double;
|
|
96
|
+
endTime?: Double;
|
|
86
97
|
isNetwork?: boolean;
|
|
87
98
|
isAsset?: boolean;
|
|
88
99
|
isLocalAssetFile?: 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,9 +65,9 @@ interface NativeSourceBufferConfig {
|
|
|
55
65
|
interface NativeVideoSource {
|
|
56
66
|
uri?: string;
|
|
57
67
|
type?: string;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
68
|
+
headers?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
|
|
69
|
+
startTime?: Double;
|
|
70
|
+
endTime?: Double;
|
|
61
71
|
isNetwork?: boolean;
|
|
62
72
|
isAsset?: boolean;
|
|
63
73
|
isLocalAssetFile?: 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,9 +70,8 @@ export interface VideoSource {
|
|
|
70
70
|
mainVer?: number;
|
|
71
71
|
patchVer?: number;
|
|
72
72
|
headers?: VideoSourceHeaders;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
cropEnd?: number;
|
|
73
|
+
startTime?: number;
|
|
74
|
+
endTime?: number;
|
|
76
75
|
drm?: DrmConfig;
|
|
77
76
|
textTracks?: TextTrack[];
|
|
78
77
|
metadata?: VideoMetadata;
|
|
@@ -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
|
*/
|
|
@@ -54,8 +54,8 @@ import AVFoundation
|
|
|
54
54
|
@objc public var uri: String?
|
|
55
55
|
@objc public var type: String?
|
|
56
56
|
@objc public var startPosition: Double = 0
|
|
57
|
-
@objc public var
|
|
58
|
-
@objc public var
|
|
57
|
+
@objc public var startTime: Double = 0
|
|
58
|
+
@objc public var endTime: Double = 0
|
|
59
59
|
@objc public var headers: [String: String]?
|
|
60
60
|
@objc public var drm: GraniteVideoDrmConfig?
|
|
61
61
|
|
|
@@ -141,6 +141,7 @@ import AVFoundation
|
|
|
141
141
|
@objc optional func videoDidBecomeIdle()
|
|
142
142
|
@objc optional func videoReadyForDisplay()
|
|
143
143
|
@objc optional func videoAudioBecomingNoisy()
|
|
144
|
+
@objc optional func videoAudioFocusChanged(hasAudioFocus: Bool)
|
|
144
145
|
@objc optional func videoFullscreenPlayerWillPresent()
|
|
145
146
|
@objc optional func videoFullscreenPlayerDidPresent()
|
|
146
147
|
@objc optional func videoFullscreenPlayerWillDismiss()
|
package/ios/GraniteVideoView.mm
CHANGED
|
@@ -244,8 +244,8 @@ using namespace facebook::react;
|
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
videoSource.startPosition = source.startPosition;
|
|
247
|
-
videoSource.
|
|
248
|
-
videoSource.
|
|
247
|
+
videoSource.startTime = source.startTime;
|
|
248
|
+
videoSource.endTime = source.endTime;
|
|
249
249
|
|
|
250
250
|
[_provider loadSource:videoSource];
|
|
251
251
|
|
|
@@ -534,6 +534,17 @@ using namespace facebook::react;
|
|
|
534
534
|
}
|
|
535
535
|
}
|
|
536
536
|
|
|
537
|
+
- (void)videoAudioFocusChangedWithHasAudioFocus:(BOOL)hasAudioFocus
|
|
538
|
+
{
|
|
539
|
+
if (_eventEmitter) {
|
|
540
|
+
auto emitter = std::static_pointer_cast<GraniteVideoViewEventEmitter const>(_eventEmitter);
|
|
541
|
+
facebook::react::GraniteVideoViewEventEmitter::OnVideoAudioFocusChanged event = {
|
|
542
|
+
.hasAudioFocus = hasAudioFocus
|
|
543
|
+
};
|
|
544
|
+
emitter->onVideoAudioFocusChanged(event);
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
|
|
537
548
|
- (void)videoFullscreenPlayerWillPresent
|
|
538
549
|
{
|
|
539
550
|
if (_eventEmitter) {
|
|
@@ -644,6 +655,7 @@ using namespace facebook::react;
|
|
|
644
655
|
{
|
|
645
656
|
[super prepareForRecycle];
|
|
646
657
|
[_provider unload];
|
|
658
|
+
_props = std::make_shared<const GraniteVideoViewProps>();
|
|
647
659
|
}
|
|
648
660
|
|
|
649
661
|
- (void)dealloc
|
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,9 +91,9 @@ interface NativeSourceBufferConfig {
|
|
|
80
91
|
interface NativeVideoSource {
|
|
81
92
|
uri?: string;
|
|
82
93
|
type?: string;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
94
|
+
headers?: ReadonlyArray<Readonly<NativeStringMapEntry>>;
|
|
95
|
+
startTime?: Double;
|
|
96
|
+
endTime?: Double;
|
|
86
97
|
isNetwork?: boolean;
|
|
87
98
|
isAsset?: boolean;
|
|
88
99
|
isLocalAssetFile?: 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,9 +104,8 @@ export interface VideoSource {
|
|
|
104
104
|
mainVer?: number;
|
|
105
105
|
patchVer?: number;
|
|
106
106
|
headers?: VideoSourceHeaders;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
cropEnd?: number;
|
|
107
|
+
startTime?: number;
|
|
108
|
+
endTime?: number;
|
|
110
109
|
drm?: DrmConfig;
|
|
111
110
|
textTracks?: TextTrack[];
|
|
112
111
|
metadata?: VideoMetadata;
|
|
@@ -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
|
*/
|