@pigeonmal/react-native-video 7.0.0-beta.2

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.
Files changed (705) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +163 -0
  3. package/ReactNativeVideo.podspec +59 -0
  4. package/android/CMakeLists.txt +29 -0
  5. package/android/build.gradle +255 -0
  6. package/android/fix-prefab.gradle +51 -0
  7. package/android/gradle.properties +13 -0
  8. package/android/media3-ffmpeg-decoder/build.gradle +2 -0
  9. package/android/media3-ffmpeg-decoder/ffmpeg.aar +0 -0
  10. package/android/src/main/AndroidManifest.xml +3 -0
  11. package/android/src/main/AndroidManifestNew.xml +3 -0
  12. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  13. package/android/src/main/java/com/twg/video/core/AudioFocusManager.kt +233 -0
  14. package/android/src/main/java/com/twg/video/core/VideoError.kt +105 -0
  15. package/android/src/main/java/com/twg/video/core/VideoManager.kt +284 -0
  16. package/android/src/main/java/com/twg/video/core/custom/MyRenderersFactory.java +78 -0
  17. package/android/src/main/java/com/twg/video/core/custom/MyTextRenderer.java +121 -0
  18. package/android/src/main/java/com/twg/video/core/custom/TextFilter.java +6 -0
  19. package/android/src/main/java/com/twg/video/core/custom/TextSynchronizer.java +7 -0
  20. package/android/src/main/java/com/twg/video/core/extensions/ResizeMode+AspectRatioFrameLayout.kt +20 -0
  21. package/android/src/main/java/com/twg/video/core/extensions/SubtitleType+toString.kt +14 -0
  22. package/android/src/main/java/com/twg/video/core/extensions/VideoPlaybackService+ServiceManagment.kt +59 -0
  23. package/android/src/main/java/com/twg/video/core/fragments/FullscreenVideoFragment.kt +265 -0
  24. package/android/src/main/java/com/twg/video/core/fragments/PictureInPictureHelperFragment.kt +85 -0
  25. package/android/src/main/java/com/twg/video/core/player/DRMManagerSpec.kt +23 -0
  26. package/android/src/main/java/com/twg/video/core/player/DataSourceFactoryUtils.kt +80 -0
  27. package/android/src/main/java/com/twg/video/core/player/MediaItemUtils.kt +152 -0
  28. package/android/src/main/java/com/twg/video/core/player/MediaSourceUtils.kt +85 -0
  29. package/android/src/main/java/com/twg/video/core/player/OnAudioFocusChangedListener.kt +25 -0
  30. package/android/src/main/java/com/twg/video/core/plugins/PluginsRegistry.kt +223 -0
  31. package/android/src/main/java/com/twg/video/core/plugins/ReactNativeVideoPlugin.kt +173 -0
  32. package/android/src/main/java/com/twg/video/core/recivers/AudioBecomingNoisyReceiver.kt +38 -0
  33. package/android/src/main/java/com/twg/video/core/services/playback/CustomMediaNotificationProvider.kt +151 -0
  34. package/android/src/main/java/com/twg/video/core/services/playback/VideoPlaybackCallback.kt +96 -0
  35. package/android/src/main/java/com/twg/video/core/services/playback/VideoPlaybackService.kt +219 -0
  36. package/android/src/main/java/com/twg/video/core/services/playback/VideoPlaybackServiceConnection.kt +59 -0
  37. package/android/src/main/java/com/twg/video/core/utils/PictureInPictureUtils.kt +153 -0
  38. package/android/src/main/java/com/twg/video/core/utils/SmallVideoPlayerOptimizer.kt +157 -0
  39. package/android/src/main/java/com/twg/video/core/utils/SourceLoader.kt +48 -0
  40. package/android/src/main/java/com/twg/video/core/utils/Threading.kt +75 -0
  41. package/android/src/main/java/com/twg/video/core/utils/TrackUtils.kt +305 -0
  42. package/android/src/main/java/com/twg/video/core/utils/VideoFileHelper.kt +51 -0
  43. package/android/src/main/java/com/twg/video/core/utils/VideoInformationUtils.kt +67 -0
  44. package/android/src/main/java/com/twg/video/core/utils/VideoOrientationUtils.kt +30 -0
  45. package/android/src/main/java/com/twg/video/hybrids/videoplayer/HybridVideoPlayer.kt +630 -0
  46. package/android/src/main/java/com/twg/video/hybrids/videoplayer/HybridVideoPlayerFactory.kt +16 -0
  47. package/android/src/main/java/com/twg/video/hybrids/videoplayereventemitter/HybridVideoPlayerEventEmitter.kt +154 -0
  48. package/android/src/main/java/com/twg/video/hybrids/videoplayersource/HybridVideoPlayerSource.kt +67 -0
  49. package/android/src/main/java/com/twg/video/hybrids/videoplayersource/HybridVideoPlayerSourceFactory.kt +31 -0
  50. package/android/src/main/java/com/twg/video/hybrids/videoviewviewmanager/HybridVideoViewViewManager.kt +187 -0
  51. package/android/src/main/java/com/twg/video/hybrids/videoviewviewmanager/HybridVideoViewViewManagerFactory.kt +13 -0
  52. package/android/src/main/java/com/twg/video/react/VideoPackage.kt +26 -0
  53. package/android/src/main/java/com/twg/video/react/VideoViewViewManager.kt +78 -0
  54. package/android/src/main/java/com/twg/video/view/VideoView.kt +565 -0
  55. package/android/src/main/res/layout/player_view_surface.xml +14 -0
  56. package/android/src/main/res/layout/player_view_texture.xml +15 -0
  57. package/android/src/paper/java/com/facebook/react/viewmanagers/RNCVideoViewManagerDelegate.java +32 -0
  58. package/android/src/paper/java/com/facebook/react/viewmanagers/RNCVideoViewManagerInterface.java +16 -0
  59. package/android/src/stubs/dash/androidx/media3/exoplayer/dash/DashMediaSource.kt +35 -0
  60. package/android/src/stubs/dash/androidx/media3/exoplayer/dash/DashUtil.kt +11 -0
  61. package/android/src/stubs/dash/androidx/media3/exoplayer/dash/manifest/AdaptationSet.kt +9 -0
  62. package/android/src/stubs/dash/androidx/media3/exoplayer/dash/manifest/DashManifest.kt +10 -0
  63. package/android/src/stubs/dash/androidx/media3/exoplayer/dash/manifest/Period.kt +7 -0
  64. package/android/src/stubs/dash/androidx/media3/exoplayer/dash/manifest/Representation.kt +8 -0
  65. package/android/src/stubs/hls/androidx/media3/exoplayer/hls/HlsMediaSource.kt +33 -0
  66. package/android/src/stubs/subs/androidx/media3/exoplayer/text/NonFinalTextRenderer.java +583 -0
  67. package/app.plugin.js +1 -0
  68. package/ios/Video-Bridging-Header.h +1 -0
  69. package/ios/core/Extensions/AVAsset+estimatedMemoryUsage.swift +51 -0
  70. package/ios/core/Extensions/AVAssetTrack+orientation.swift +41 -0
  71. package/ios/core/Extensions/AVPlayerItem+externalSubtitles.swift +35 -0
  72. package/ios/core/Extensions/AVPlayerItem+getBufferedDurration.swift +34 -0
  73. package/ios/core/Extensions/AVPlayerItem+setBufferConfig.swift +37 -0
  74. package/ios/core/Extensions/AVPlayerViewController+Fullscreen.swift +21 -0
  75. package/ios/core/Extensions/AVPlayerViewController+PictureInPicture.swift +24 -0
  76. package/ios/core/Extensions/AVURLAsset+getAssetInformation.swift +68 -0
  77. package/ios/core/Extensions/NSObject+PerformIfResponds.swift +30 -0
  78. package/ios/core/Extensions/ResizeMode+VideoGravity.swift +24 -0
  79. package/ios/core/HLSSubtitleInjector.swift +381 -0
  80. package/ios/core/NowPlayingInfoCenterManager.swift +323 -0
  81. package/ios/core/Plugins/PluginsRegistry.swift +102 -0
  82. package/ios/core/Plugins/ReactNativeVideoPlugin.swift +91 -0
  83. package/ios/core/Spec/DRMManagerSpec.swift +14 -0
  84. package/ios/core/Spec/NativeVideoPlayerSourceSpec.swift +36 -0
  85. package/ios/core/Spec/NativeVideoPlayerSpec.swift +42 -0
  86. package/ios/core/Utils/ExternalSubtitlesUtils.swift +119 -0
  87. package/ios/core/Utils/HLSManifestParser.swift +170 -0
  88. package/ios/core/Utils/Weak.swift +26 -0
  89. package/ios/core/VideoError.swift +169 -0
  90. package/ios/core/VideoFileHelper.swift +48 -0
  91. package/ios/core/VideoManager.swift +412 -0
  92. package/ios/core/VideoPlayerObserver.swift +294 -0
  93. package/ios/hybrids/VideoPlayer/HybridVideoPlayer+Events.swift +198 -0
  94. package/ios/hybrids/VideoPlayer/HybridVideoPlayer.swift +555 -0
  95. package/ios/hybrids/VideoPlayer/HybridVideoPlayerFactory.swift +15 -0
  96. package/ios/hybrids/VideoPlayerEmitter/HybridVideoPlayerEventEmitter.swift +203 -0
  97. package/ios/hybrids/VideoPlayerSource/HybridVideoPlayerSource.swift +166 -0
  98. package/ios/hybrids/VideoPlayerSource/HybridVideoPlayerSourceFactory.swift +30 -0
  99. package/ios/hybrids/VideoPlayerSource/SourceLoader.swift +83 -0
  100. package/ios/hybrids/VideoViewViewManager/HybridVideoViewViewManager.swift +266 -0
  101. package/ios/hybrids/VideoViewViewManager/HybridVideoViewViewManagerFactory.swift +14 -0
  102. package/ios/view/VideoComponentView.swift +274 -0
  103. package/ios/view/VideoComponentViewObserver.swift +144 -0
  104. package/ios/view/fabric/RCTVideoViewComponentView.h +10 -0
  105. package/ios/view/fabric/RCTVideoViewComponentView.mm +94 -0
  106. package/ios/view/fabric/RCTVideoViewViewManager.mm +14 -0
  107. package/ios/view/paper/RCTVideoViewComponentView.h +9 -0
  108. package/ios/view/paper/RCTVideoViewComponentView.mm +45 -0
  109. package/ios/view/paper/RCTVideoViewViewManager.m +18 -0
  110. package/lib/commonjs/core/VideoPlayer.js +276 -0
  111. package/lib/commonjs/core/VideoPlayer.js.map +1 -0
  112. package/lib/commonjs/core/VideoPlayerEvents.js +87 -0
  113. package/lib/commonjs/core/VideoPlayerEvents.js.map +1 -0
  114. package/lib/commonjs/core/hooks/useEvent.js +24 -0
  115. package/lib/commonjs/core/hooks/useEvent.js.map +1 -0
  116. package/lib/commonjs/core/hooks/useManagedInstance.js +79 -0
  117. package/lib/commonjs/core/hooks/useManagedInstance.js.map +1 -0
  118. package/lib/commonjs/core/hooks/useVideoPlayer.js +62 -0
  119. package/lib/commonjs/core/hooks/useVideoPlayer.js.map +1 -0
  120. package/lib/commonjs/core/types/BufferConfig.js +2 -0
  121. package/lib/commonjs/core/types/BufferConfig.js.map +1 -0
  122. package/lib/commonjs/core/types/DrmParams.js +2 -0
  123. package/lib/commonjs/core/types/DrmParams.js.map +1 -0
  124. package/lib/commonjs/core/types/Events.js +14 -0
  125. package/lib/commonjs/core/types/Events.js.map +1 -0
  126. package/lib/commonjs/core/types/IgnoreSilentSwitchMode.js +2 -0
  127. package/lib/commonjs/core/types/IgnoreSilentSwitchMode.js.map +1 -0
  128. package/lib/commonjs/core/types/MixAudioMode.js +2 -0
  129. package/lib/commonjs/core/types/MixAudioMode.js.map +1 -0
  130. package/lib/commonjs/core/types/PlayerTrack.js +13 -0
  131. package/lib/commonjs/core/types/PlayerTrack.js.map +1 -0
  132. package/lib/commonjs/core/types/ResizeMode.js +2 -0
  133. package/lib/commonjs/core/types/ResizeMode.js.map +1 -0
  134. package/lib/commonjs/core/types/Utils.js +2 -0
  135. package/lib/commonjs/core/types/Utils.js.map +1 -0
  136. package/lib/commonjs/core/types/VideoConfig.js +6 -0
  137. package/lib/commonjs/core/types/VideoConfig.js.map +1 -0
  138. package/lib/commonjs/core/types/VideoError.js +108 -0
  139. package/lib/commonjs/core/types/VideoError.js.map +1 -0
  140. package/lib/commonjs/core/types/VideoInformation.js +6 -0
  141. package/lib/commonjs/core/types/VideoInformation.js.map +1 -0
  142. package/lib/commonjs/core/types/VideoOrientation.js +2 -0
  143. package/lib/commonjs/core/types/VideoOrientation.js.map +1 -0
  144. package/lib/commonjs/core/types/VideoPlayerBase.js +6 -0
  145. package/lib/commonjs/core/types/VideoPlayerBase.js.map +1 -0
  146. package/lib/commonjs/core/types/VideoPlayerSourceBase.js +6 -0
  147. package/lib/commonjs/core/types/VideoPlayerSourceBase.js.map +1 -0
  148. package/lib/commonjs/core/types/VideoPlayerStatus.js +2 -0
  149. package/lib/commonjs/core/types/VideoPlayerStatus.js.map +1 -0
  150. package/lib/commonjs/core/utils/playerFactory.js +30 -0
  151. package/lib/commonjs/core/utils/playerFactory.js.map +1 -0
  152. package/lib/commonjs/core/utils/sourceFactory.js +146 -0
  153. package/lib/commonjs/core/utils/sourceFactory.js.map +1 -0
  154. package/lib/commonjs/core/video-view/NativeVideoView.js +18 -0
  155. package/lib/commonjs/core/video-view/NativeVideoView.js.map +1 -0
  156. package/lib/commonjs/core/video-view/VideoView.js +208 -0
  157. package/lib/commonjs/core/video-view/VideoView.js.map +1 -0
  158. package/lib/commonjs/expo-plugins/@types.js +2 -0
  159. package/lib/commonjs/expo-plugins/@types.js.map +1 -0
  160. package/lib/commonjs/expo-plugins/getPackageInfo.js +27 -0
  161. package/lib/commonjs/expo-plugins/getPackageInfo.js.map +1 -0
  162. package/lib/commonjs/expo-plugins/withAndroidExtensions.js +40 -0
  163. package/lib/commonjs/expo-plugins/withAndroidExtensions.js.map +1 -0
  164. package/lib/commonjs/expo-plugins/withAndroidNotificationControls.js +34 -0
  165. package/lib/commonjs/expo-plugins/withAndroidNotificationControls.js.map +1 -0
  166. package/lib/commonjs/expo-plugins/withAndroidPictureInPicture.js +23 -0
  167. package/lib/commonjs/expo-plugins/withAndroidPictureInPicture.js.map +1 -0
  168. package/lib/commonjs/expo-plugins/withBackgroundAudio.js +26 -0
  169. package/lib/commonjs/expo-plugins/withBackgroundAudio.js.map +1 -0
  170. package/lib/commonjs/expo-plugins/withReactNativeVideo.js +31 -0
  171. package/lib/commonjs/expo-plugins/withReactNativeVideo.js.map +1 -0
  172. package/lib/commonjs/expo-plugins/writeToPodfile.js +59 -0
  173. package/lib/commonjs/expo-plugins/writeToPodfile.js.map +1 -0
  174. package/lib/commonjs/index.js +61 -0
  175. package/lib/commonjs/index.js.map +1 -0
  176. package/lib/commonjs/package.json +1 -0
  177. package/lib/commonjs/spec/fabric/VideoViewNativeComponent.ts +17 -0
  178. package/lib/commonjs/spec/nitro/VideoPlayer.nitro.js +6 -0
  179. package/lib/commonjs/spec/nitro/VideoPlayer.nitro.js.map +1 -0
  180. package/lib/commonjs/spec/nitro/VideoPlayerEventEmitter.nitro.js +6 -0
  181. package/lib/commonjs/spec/nitro/VideoPlayerEventEmitter.nitro.js.map +1 -0
  182. package/lib/commonjs/spec/nitro/VideoPlayerSource.nitro.js +6 -0
  183. package/lib/commonjs/spec/nitro/VideoPlayerSource.nitro.js.map +1 -0
  184. package/lib/commonjs/spec/nitro/VideoViewViewManager.nitro.js +6 -0
  185. package/lib/commonjs/spec/nitro/VideoViewViewManager.nitro.js.map +1 -0
  186. package/lib/module/core/VideoPlayer.js +272 -0
  187. package/lib/module/core/VideoPlayer.js.map +1 -0
  188. package/lib/module/core/VideoPlayerEvents.js +82 -0
  189. package/lib/module/core/VideoPlayerEvents.js.map +1 -0
  190. package/lib/module/core/hooks/useEvent.js +19 -0
  191. package/lib/module/core/hooks/useEvent.js.map +1 -0
  192. package/lib/module/core/hooks/useManagedInstance.js +75 -0
  193. package/lib/module/core/hooks/useManagedInstance.js.map +1 -0
  194. package/lib/module/core/hooks/useVideoPlayer.js +57 -0
  195. package/lib/module/core/hooks/useVideoPlayer.js.map +1 -0
  196. package/lib/module/core/types/BufferConfig.js +2 -0
  197. package/lib/module/core/types/BufferConfig.js.map +1 -0
  198. package/lib/module/core/types/DrmParams.js +2 -0
  199. package/lib/module/core/types/DrmParams.js.map +1 -0
  200. package/lib/module/core/types/Events.js +10 -0
  201. package/lib/module/core/types/Events.js.map +1 -0
  202. package/lib/module/core/types/IgnoreSilentSwitchMode.js +2 -0
  203. package/lib/module/core/types/IgnoreSilentSwitchMode.js.map +1 -0
  204. package/lib/module/core/types/MixAudioMode.js +2 -0
  205. package/lib/module/core/types/MixAudioMode.js.map +1 -0
  206. package/lib/module/core/types/PlayerTrack.js +9 -0
  207. package/lib/module/core/types/PlayerTrack.js.map +1 -0
  208. package/lib/module/core/types/ResizeMode.js +2 -0
  209. package/lib/module/core/types/ResizeMode.js.map +1 -0
  210. package/lib/module/core/types/Utils.js +2 -0
  211. package/lib/module/core/types/Utils.js.map +1 -0
  212. package/lib/module/core/types/VideoConfig.js +4 -0
  213. package/lib/module/core/types/VideoConfig.js.map +1 -0
  214. package/lib/module/core/types/VideoError.js +100 -0
  215. package/lib/module/core/types/VideoError.js.map +1 -0
  216. package/lib/module/core/types/VideoInformation.js +4 -0
  217. package/lib/module/core/types/VideoInformation.js.map +1 -0
  218. package/lib/module/core/types/VideoOrientation.js +2 -0
  219. package/lib/module/core/types/VideoOrientation.js.map +1 -0
  220. package/lib/module/core/types/VideoPlayerBase.js +4 -0
  221. package/lib/module/core/types/VideoPlayerBase.js.map +1 -0
  222. package/lib/module/core/types/VideoPlayerSourceBase.js +4 -0
  223. package/lib/module/core/types/VideoPlayerSourceBase.js.map +1 -0
  224. package/lib/module/core/types/VideoPlayerStatus.js +2 -0
  225. package/lib/module/core/types/VideoPlayerStatus.js.map +1 -0
  226. package/lib/module/core/utils/playerFactory.js +25 -0
  227. package/lib/module/core/utils/playerFactory.js.map +1 -0
  228. package/lib/module/core/utils/sourceFactory.js +138 -0
  229. package/lib/module/core/utils/sourceFactory.js.map +1 -0
  230. package/lib/module/core/video-view/NativeVideoView.js +13 -0
  231. package/lib/module/core/video-view/NativeVideoView.js.map +1 -0
  232. package/lib/module/core/video-view/VideoView.js +203 -0
  233. package/lib/module/core/video-view/VideoView.js.map +1 -0
  234. package/lib/module/expo-plugins/@types.js +2 -0
  235. package/lib/module/expo-plugins/@types.js.map +1 -0
  236. package/lib/module/expo-plugins/getPackageInfo.js +23 -0
  237. package/lib/module/expo-plugins/getPackageInfo.js.map +1 -0
  238. package/lib/module/expo-plugins/withAndroidExtensions.js +35 -0
  239. package/lib/module/expo-plugins/withAndroidExtensions.js.map +1 -0
  240. package/lib/module/expo-plugins/withAndroidNotificationControls.js +29 -0
  241. package/lib/module/expo-plugins/withAndroidNotificationControls.js.map +1 -0
  242. package/lib/module/expo-plugins/withAndroidPictureInPicture.js +18 -0
  243. package/lib/module/expo-plugins/withAndroidPictureInPicture.js.map +1 -0
  244. package/lib/module/expo-plugins/withBackgroundAudio.js +22 -0
  245. package/lib/module/expo-plugins/withBackgroundAudio.js.map +1 -0
  246. package/lib/module/expo-plugins/withReactNativeVideo.js +27 -0
  247. package/lib/module/expo-plugins/withReactNativeVideo.js.map +1 -0
  248. package/lib/module/expo-plugins/writeToPodfile.js +53 -0
  249. package/lib/module/expo-plugins/writeToPodfile.js.map +1 -0
  250. package/lib/module/index.js +9 -0
  251. package/lib/module/index.js.map +1 -0
  252. package/lib/module/package.json +1 -0
  253. package/lib/module/spec/fabric/VideoViewNativeComponent.ts +17 -0
  254. package/lib/module/spec/nitro/VideoPlayer.nitro.js +4 -0
  255. package/lib/module/spec/nitro/VideoPlayer.nitro.js.map +1 -0
  256. package/lib/module/spec/nitro/VideoPlayerEventEmitter.nitro.js +4 -0
  257. package/lib/module/spec/nitro/VideoPlayerEventEmitter.nitro.js.map +1 -0
  258. package/lib/module/spec/nitro/VideoPlayerSource.nitro.js +4 -0
  259. package/lib/module/spec/nitro/VideoPlayerSource.nitro.js.map +1 -0
  260. package/lib/module/spec/nitro/VideoViewViewManager.nitro.js +4 -0
  261. package/lib/module/spec/nitro/VideoViewViewManager.nitro.js.map +1 -0
  262. package/lib/typescript/commonjs/package.json +1 -0
  263. package/lib/typescript/commonjs/src/core/VideoPlayer.d.ts +61 -0
  264. package/lib/typescript/commonjs/src/core/VideoPlayer.d.ts.map +1 -0
  265. package/lib/typescript/commonjs/src/core/VideoPlayerEvents.d.ts +22 -0
  266. package/lib/typescript/commonjs/src/core/VideoPlayerEvents.d.ts.map +1 -0
  267. package/lib/typescript/commonjs/src/core/hooks/useEvent.d.ts +11 -0
  268. package/lib/typescript/commonjs/src/core/hooks/useEvent.d.ts.map +1 -0
  269. package/lib/typescript/commonjs/src/core/hooks/useManagedInstance.d.ts +2 -0
  270. package/lib/typescript/commonjs/src/core/hooks/useManagedInstance.d.ts.map +1 -0
  271. package/lib/typescript/commonjs/src/core/hooks/useVideoPlayer.d.ts +16 -0
  272. package/lib/typescript/commonjs/src/core/hooks/useVideoPlayer.d.ts.map +1 -0
  273. package/lib/typescript/commonjs/src/core/types/BufferConfig.d.ts +97 -0
  274. package/lib/typescript/commonjs/src/core/types/BufferConfig.d.ts.map +1 -0
  275. package/lib/typescript/commonjs/src/core/types/DrmParams.d.ts +64 -0
  276. package/lib/typescript/commonjs/src/core/types/DrmParams.d.ts.map +1 -0
  277. package/lib/typescript/commonjs/src/core/types/Events.d.ts +218 -0
  278. package/lib/typescript/commonjs/src/core/types/Events.d.ts.map +1 -0
  279. package/lib/typescript/commonjs/src/core/types/IgnoreSilentSwitchMode.d.ts +2 -0
  280. package/lib/typescript/commonjs/src/core/types/IgnoreSilentSwitchMode.d.ts.map +1 -0
  281. package/lib/typescript/commonjs/src/core/types/MixAudioMode.d.ts +2 -0
  282. package/lib/typescript/commonjs/src/core/types/MixAudioMode.d.ts.map +1 -0
  283. package/lib/typescript/commonjs/src/core/types/PlayerTrack.d.ts +34 -0
  284. package/lib/typescript/commonjs/src/core/types/PlayerTrack.d.ts.map +1 -0
  285. package/lib/typescript/commonjs/src/core/types/ResizeMode.d.ts +10 -0
  286. package/lib/typescript/commonjs/src/core/types/ResizeMode.d.ts.map +1 -0
  287. package/lib/typescript/commonjs/src/core/types/Utils.d.ts +2 -0
  288. package/lib/typescript/commonjs/src/core/types/Utils.d.ts.map +1 -0
  289. package/lib/typescript/commonjs/src/core/types/VideoConfig.d.ts +137 -0
  290. package/lib/typescript/commonjs/src/core/types/VideoConfig.d.ts.map +1 -0
  291. package/lib/typescript/commonjs/src/core/types/VideoError.d.ts +27 -0
  292. package/lib/typescript/commonjs/src/core/types/VideoError.d.ts.map +1 -0
  293. package/lib/typescript/commonjs/src/core/types/VideoInformation.d.ts +37 -0
  294. package/lib/typescript/commonjs/src/core/types/VideoInformation.d.ts.map +1 -0
  295. package/lib/typescript/commonjs/src/core/types/VideoOrientation.d.ts +2 -0
  296. package/lib/typescript/commonjs/src/core/types/VideoOrientation.d.ts.map +1 -0
  297. package/lib/typescript/commonjs/src/core/types/VideoPlayerBase.d.ts +165 -0
  298. package/lib/typescript/commonjs/src/core/types/VideoPlayerBase.d.ts.map +1 -0
  299. package/lib/typescript/commonjs/src/core/types/VideoPlayerSourceBase.d.ts +17 -0
  300. package/lib/typescript/commonjs/src/core/types/VideoPlayerSourceBase.d.ts.map +1 -0
  301. package/lib/typescript/commonjs/src/core/types/VideoPlayerStatus.d.ts +9 -0
  302. package/lib/typescript/commonjs/src/core/types/VideoPlayerStatus.d.ts.map +1 -0
  303. package/lib/typescript/commonjs/src/core/utils/playerFactory.d.ts +2 -0
  304. package/lib/typescript/commonjs/src/core/utils/playerFactory.d.ts.map +1 -0
  305. package/lib/typescript/commonjs/src/core/utils/sourceFactory.d.ts +29 -0
  306. package/lib/typescript/commonjs/src/core/utils/sourceFactory.d.ts.map +1 -0
  307. package/lib/typescript/commonjs/src/core/video-view/NativeVideoView.d.ts +2 -0
  308. package/lib/typescript/commonjs/src/core/video-view/NativeVideoView.d.ts.map +1 -0
  309. package/lib/typescript/commonjs/src/core/video-view/VideoView.d.ts +85 -0
  310. package/lib/typescript/commonjs/src/core/video-view/VideoView.d.ts.map +1 -0
  311. package/lib/typescript/commonjs/src/expo-plugins/@types.d.ts +34 -0
  312. package/lib/typescript/commonjs/src/expo-plugins/@types.d.ts.map +1 -0
  313. package/lib/typescript/commonjs/src/expo-plugins/getPackageInfo.d.ts +5 -0
  314. package/lib/typescript/commonjs/src/expo-plugins/getPackageInfo.d.ts.map +1 -0
  315. package/lib/typescript/commonjs/src/expo-plugins/withAndroidExtensions.d.ts +8 -0
  316. package/lib/typescript/commonjs/src/expo-plugins/withAndroidExtensions.d.ts.map +1 -0
  317. package/lib/typescript/commonjs/src/expo-plugins/withAndroidNotificationControls.d.ts +3 -0
  318. package/lib/typescript/commonjs/src/expo-plugins/withAndroidNotificationControls.d.ts.map +1 -0
  319. package/lib/typescript/commonjs/src/expo-plugins/withAndroidPictureInPicture.d.ts +3 -0
  320. package/lib/typescript/commonjs/src/expo-plugins/withAndroidPictureInPicture.d.ts.map +1 -0
  321. package/lib/typescript/commonjs/src/expo-plugins/withBackgroundAudio.d.ts +7 -0
  322. package/lib/typescript/commonjs/src/expo-plugins/withBackgroundAudio.d.ts.map +1 -0
  323. package/lib/typescript/commonjs/src/expo-plugins/withReactNativeVideo.d.ts +5 -0
  324. package/lib/typescript/commonjs/src/expo-plugins/withReactNativeVideo.d.ts.map +1 -0
  325. package/lib/typescript/commonjs/src/expo-plugins/writeToPodfile.d.ts +2 -0
  326. package/lib/typescript/commonjs/src/expo-plugins/writeToPodfile.d.ts.map +1 -0
  327. package/lib/typescript/commonjs/src/index.d.ts +14 -0
  328. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  329. package/lib/typescript/commonjs/src/spec/fabric/VideoViewNativeComponent.d.ts +12 -0
  330. package/lib/typescript/commonjs/src/spec/fabric/VideoViewNativeComponent.d.ts.map +1 -0
  331. package/lib/typescript/commonjs/src/spec/nitro/VideoPlayer.nitro.d.ts +34 -0
  332. package/lib/typescript/commonjs/src/spec/nitro/VideoPlayer.nitro.d.ts.map +1 -0
  333. package/lib/typescript/commonjs/src/spec/nitro/VideoPlayerEventEmitter.nitro.d.ts +142 -0
  334. package/lib/typescript/commonjs/src/spec/nitro/VideoPlayerEventEmitter.nitro.d.ts.map +1 -0
  335. package/lib/typescript/commonjs/src/spec/nitro/VideoPlayerSource.nitro.d.ts +21 -0
  336. package/lib/typescript/commonjs/src/spec/nitro/VideoPlayerSource.nitro.d.ts.map +1 -0
  337. package/lib/typescript/commonjs/src/spec/nitro/VideoViewViewManager.nitro.d.ts +2 -0
  338. package/lib/typescript/commonjs/src/spec/nitro/VideoViewViewManager.nitro.d.ts.map +1 -0
  339. package/lib/typescript/module/package.json +1 -0
  340. package/lib/typescript/module/src/core/VideoPlayer.d.ts +61 -0
  341. package/lib/typescript/module/src/core/VideoPlayer.d.ts.map +1 -0
  342. package/lib/typescript/module/src/core/VideoPlayerEvents.d.ts +22 -0
  343. package/lib/typescript/module/src/core/VideoPlayerEvents.d.ts.map +1 -0
  344. package/lib/typescript/module/src/core/hooks/useEvent.d.ts +11 -0
  345. package/lib/typescript/module/src/core/hooks/useEvent.d.ts.map +1 -0
  346. package/lib/typescript/module/src/core/hooks/useManagedInstance.d.ts +2 -0
  347. package/lib/typescript/module/src/core/hooks/useManagedInstance.d.ts.map +1 -0
  348. package/lib/typescript/module/src/core/hooks/useVideoPlayer.d.ts +16 -0
  349. package/lib/typescript/module/src/core/hooks/useVideoPlayer.d.ts.map +1 -0
  350. package/lib/typescript/module/src/core/types/BufferConfig.d.ts +97 -0
  351. package/lib/typescript/module/src/core/types/BufferConfig.d.ts.map +1 -0
  352. package/lib/typescript/module/src/core/types/DrmParams.d.ts +64 -0
  353. package/lib/typescript/module/src/core/types/DrmParams.d.ts.map +1 -0
  354. package/lib/typescript/module/src/core/types/Events.d.ts +218 -0
  355. package/lib/typescript/module/src/core/types/Events.d.ts.map +1 -0
  356. package/lib/typescript/module/src/core/types/IgnoreSilentSwitchMode.d.ts +2 -0
  357. package/lib/typescript/module/src/core/types/IgnoreSilentSwitchMode.d.ts.map +1 -0
  358. package/lib/typescript/module/src/core/types/MixAudioMode.d.ts +2 -0
  359. package/lib/typescript/module/src/core/types/MixAudioMode.d.ts.map +1 -0
  360. package/lib/typescript/module/src/core/types/PlayerTrack.d.ts +34 -0
  361. package/lib/typescript/module/src/core/types/PlayerTrack.d.ts.map +1 -0
  362. package/lib/typescript/module/src/core/types/ResizeMode.d.ts +10 -0
  363. package/lib/typescript/module/src/core/types/ResizeMode.d.ts.map +1 -0
  364. package/lib/typescript/module/src/core/types/Utils.d.ts +2 -0
  365. package/lib/typescript/module/src/core/types/Utils.d.ts.map +1 -0
  366. package/lib/typescript/module/src/core/types/VideoConfig.d.ts +137 -0
  367. package/lib/typescript/module/src/core/types/VideoConfig.d.ts.map +1 -0
  368. package/lib/typescript/module/src/core/types/VideoError.d.ts +27 -0
  369. package/lib/typescript/module/src/core/types/VideoError.d.ts.map +1 -0
  370. package/lib/typescript/module/src/core/types/VideoInformation.d.ts +37 -0
  371. package/lib/typescript/module/src/core/types/VideoInformation.d.ts.map +1 -0
  372. package/lib/typescript/module/src/core/types/VideoOrientation.d.ts +2 -0
  373. package/lib/typescript/module/src/core/types/VideoOrientation.d.ts.map +1 -0
  374. package/lib/typescript/module/src/core/types/VideoPlayerBase.d.ts +165 -0
  375. package/lib/typescript/module/src/core/types/VideoPlayerBase.d.ts.map +1 -0
  376. package/lib/typescript/module/src/core/types/VideoPlayerSourceBase.d.ts +17 -0
  377. package/lib/typescript/module/src/core/types/VideoPlayerSourceBase.d.ts.map +1 -0
  378. package/lib/typescript/module/src/core/types/VideoPlayerStatus.d.ts +9 -0
  379. package/lib/typescript/module/src/core/types/VideoPlayerStatus.d.ts.map +1 -0
  380. package/lib/typescript/module/src/core/utils/playerFactory.d.ts +2 -0
  381. package/lib/typescript/module/src/core/utils/playerFactory.d.ts.map +1 -0
  382. package/lib/typescript/module/src/core/utils/sourceFactory.d.ts +29 -0
  383. package/lib/typescript/module/src/core/utils/sourceFactory.d.ts.map +1 -0
  384. package/lib/typescript/module/src/core/video-view/NativeVideoView.d.ts +2 -0
  385. package/lib/typescript/module/src/core/video-view/NativeVideoView.d.ts.map +1 -0
  386. package/lib/typescript/module/src/core/video-view/VideoView.d.ts +85 -0
  387. package/lib/typescript/module/src/core/video-view/VideoView.d.ts.map +1 -0
  388. package/lib/typescript/module/src/expo-plugins/@types.d.ts +34 -0
  389. package/lib/typescript/module/src/expo-plugins/@types.d.ts.map +1 -0
  390. package/lib/typescript/module/src/expo-plugins/getPackageInfo.d.ts +5 -0
  391. package/lib/typescript/module/src/expo-plugins/getPackageInfo.d.ts.map +1 -0
  392. package/lib/typescript/module/src/expo-plugins/withAndroidExtensions.d.ts +8 -0
  393. package/lib/typescript/module/src/expo-plugins/withAndroidExtensions.d.ts.map +1 -0
  394. package/lib/typescript/module/src/expo-plugins/withAndroidNotificationControls.d.ts +3 -0
  395. package/lib/typescript/module/src/expo-plugins/withAndroidNotificationControls.d.ts.map +1 -0
  396. package/lib/typescript/module/src/expo-plugins/withAndroidPictureInPicture.d.ts +3 -0
  397. package/lib/typescript/module/src/expo-plugins/withAndroidPictureInPicture.d.ts.map +1 -0
  398. package/lib/typescript/module/src/expo-plugins/withBackgroundAudio.d.ts +7 -0
  399. package/lib/typescript/module/src/expo-plugins/withBackgroundAudio.d.ts.map +1 -0
  400. package/lib/typescript/module/src/expo-plugins/withReactNativeVideo.d.ts +5 -0
  401. package/lib/typescript/module/src/expo-plugins/withReactNativeVideo.d.ts.map +1 -0
  402. package/lib/typescript/module/src/expo-plugins/writeToPodfile.d.ts +2 -0
  403. package/lib/typescript/module/src/expo-plugins/writeToPodfile.d.ts.map +1 -0
  404. package/lib/typescript/module/src/index.d.ts +14 -0
  405. package/lib/typescript/module/src/index.d.ts.map +1 -0
  406. package/lib/typescript/module/src/spec/fabric/VideoViewNativeComponent.d.ts +12 -0
  407. package/lib/typescript/module/src/spec/fabric/VideoViewNativeComponent.d.ts.map +1 -0
  408. package/lib/typescript/module/src/spec/nitro/VideoPlayer.nitro.d.ts +34 -0
  409. package/lib/typescript/module/src/spec/nitro/VideoPlayer.nitro.d.ts.map +1 -0
  410. package/lib/typescript/module/src/spec/nitro/VideoPlayerEventEmitter.nitro.d.ts +142 -0
  411. package/lib/typescript/module/src/spec/nitro/VideoPlayerEventEmitter.nitro.d.ts.map +1 -0
  412. package/lib/typescript/module/src/spec/nitro/VideoPlayerSource.nitro.d.ts +21 -0
  413. package/lib/typescript/module/src/spec/nitro/VideoPlayerSource.nitro.d.ts.map +1 -0
  414. package/lib/typescript/module/src/spec/nitro/VideoViewViewManager.nitro.d.ts +2 -0
  415. package/lib/typescript/module/src/spec/nitro/VideoViewViewManager.nitro.d.ts.map +1 -0
  416. package/nitro.json +28 -0
  417. package/nitrogen/generated/android/ReactNativeVideo+autolinking.cmake +94 -0
  418. package/nitrogen/generated/android/ReactNativeVideo+autolinking.gradle +27 -0
  419. package/nitrogen/generated/android/ReactNativeVideoOnLoad.cpp +98 -0
  420. package/nitrogen/generated/android/ReactNativeVideoOnLoad.hpp +25 -0
  421. package/nitrogen/generated/android/c++/JAllPlayerTracks.hpp +125 -0
  422. package/nitrogen/generated/android/c++/JBandwidthData.hpp +65 -0
  423. package/nitrogen/generated/android/c++/JBufferConfig.hpp +101 -0
  424. package/nitrogen/generated/android/c++/JCustomVideoMetadata.hpp +74 -0
  425. package/nitrogen/generated/android/c++/JExternalAudio.hpp +80 -0
  426. package/nitrogen/generated/android/c++/JExternalForcedType.hpp +59 -0
  427. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.hpp +126 -0
  428. package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
  429. package/nitrogen/generated/android/c++/JFunc_void_BandwidthData.hpp +78 -0
  430. package/nitrogen/generated/android/c++/JFunc_void_TimedMetadata.hpp +81 -0
  431. package/nitrogen/generated/android/c++/JFunc_void_VideoPlayerStatus.hpp +77 -0
  432. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +75 -0
  433. package/nitrogen/generated/android/c++/JFunc_void_double.hpp +75 -0
  434. package/nitrogen/generated/android/c++/JFunc_void_onLoadData.hpp +88 -0
  435. package/nitrogen/generated/android/c++/JFunc_void_onLoadStartData.hpp +82 -0
  436. package/nitrogen/generated/android/c++/JFunc_void_onPlaybackStateChangeData.hpp +77 -0
  437. package/nitrogen/generated/android/c++/JFunc_void_onProgressData.hpp +77 -0
  438. package/nitrogen/generated/android/c++/JFunc_void_onVolumeChangeData.hpp +77 -0
  439. package/nitrogen/generated/android/c++/JFunc_void_std__vector_std__string_.hpp +95 -0
  440. package/nitrogen/generated/android/c++/JHybridVideoPlayerEventEmitterSpec.cpp +221 -0
  441. package/nitrogen/generated/android/c++/JHybridVideoPlayerEventEmitterSpec.hpp +83 -0
  442. package/nitrogen/generated/android/c++/JHybridVideoPlayerFactorySpec.cpp +59 -0
  443. package/nitrogen/generated/android/c++/JHybridVideoPlayerFactorySpec.hpp +65 -0
  444. package/nitrogen/generated/android/c++/JHybridVideoPlayerSourceFactorySpec.cpp +113 -0
  445. package/nitrogen/generated/android/c++/JHybridVideoPlayerSourceFactorySpec.hpp +66 -0
  446. package/nitrogen/generated/android/c++/JHybridVideoPlayerSourceSpec.cpp +131 -0
  447. package/nitrogen/generated/android/c++/JHybridVideoPlayerSourceSpec.hpp +66 -0
  448. package/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.cpp +307 -0
  449. package/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.hpp +102 -0
  450. package/nitrogen/generated/android/c++/JHybridVideoViewViewManagerFactorySpec.cpp +55 -0
  451. package/nitrogen/generated/android/c++/JHybridVideoViewViewManagerFactorySpec.hpp +65 -0
  452. package/nitrogen/generated/android/c++/JHybridVideoViewViewManagerSpec.cpp +184 -0
  453. package/nitrogen/generated/android/c++/JHybridVideoViewViewManagerSpec.hpp +89 -0
  454. package/nitrogen/generated/android/c++/JIgnoreSilentSwitchMode.hpp +62 -0
  455. package/nitrogen/generated/android/c++/JListenerSubscription.hpp +67 -0
  456. package/nitrogen/generated/android/c++/JLivePlaybackParams.hpp +73 -0
  457. package/nitrogen/generated/android/c++/JMixAudioMode.hpp +65 -0
  458. package/nitrogen/generated/android/c++/JNativeDrmParams.hpp +111 -0
  459. package/nitrogen/generated/android/c++/JNativeExternalSubtitle.hpp +71 -0
  460. package/nitrogen/generated/android/c++/JNativeVideoConfig.hpp +174 -0
  461. package/nitrogen/generated/android/c++/JOnGetLicensePayload.hpp +69 -0
  462. package/nitrogen/generated/android/c++/JPlayerTrack.hpp +70 -0
  463. package/nitrogen/generated/android/c++/JResizeMode.hpp +65 -0
  464. package/nitrogen/generated/android/c++/JResolution.hpp +61 -0
  465. package/nitrogen/generated/android/c++/JSourceType.hpp +59 -0
  466. package/nitrogen/generated/android/c++/JSubtitleType.hpp +68 -0
  467. package/nitrogen/generated/android/c++/JSurfaceType.hpp +59 -0
  468. package/nitrogen/generated/android/c++/JTimedMetadata.hpp +78 -0
  469. package/nitrogen/generated/android/c++/JTimedMetadataObject.hpp +61 -0
  470. package/nitrogen/generated/android/c++/JTrackType.hpp +62 -0
  471. package/nitrogen/generated/android/c++/JVariant_NullType_HybridVideoPlayerSourceSpec.cpp +26 -0
  472. package/nitrogen/generated/android/c++/JVariant_NullType_HybridVideoPlayerSourceSpec.hpp +72 -0
  473. package/nitrogen/generated/android/c++/JVideoInformation.hpp +86 -0
  474. package/nitrogen/generated/android/c++/JVideoOrientation.hpp +74 -0
  475. package/nitrogen/generated/android/c++/JVideoPlayerStatus.hpp +65 -0
  476. package/nitrogen/generated/android/c++/JVideoPlayerTrack.hpp +78 -0
  477. package/nitrogen/generated/android/c++/JonLoadData.hpp +87 -0
  478. package/nitrogen/generated/android/c++/JonLoadStartData.hpp +65 -0
  479. package/nitrogen/generated/android/c++/JonPlaybackStateChangeData.hpp +61 -0
  480. package/nitrogen/generated/android/c++/JonProgressData.hpp +61 -0
  481. package/nitrogen/generated/android/c++/JonVolumeChangeData.hpp +61 -0
  482. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/AllPlayerTracks.kt +44 -0
  483. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/BandwidthData.kt +44 -0
  484. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/BufferConfig.kt +68 -0
  485. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/CustomVideoMetadata.kt +50 -0
  486. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ExternalAudio.kt +44 -0
  487. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ExternalForcedType.kt +21 -0
  488. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.kt +80 -0
  489. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void.kt +80 -0
  490. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_BandwidthData.kt +80 -0
  491. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_TimedMetadata.kt +80 -0
  492. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_VideoPlayerStatus.kt +80 -0
  493. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_bool.kt +80 -0
  494. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_double.kt +80 -0
  495. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onLoadData.kt +80 -0
  496. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onLoadStartData.kt +80 -0
  497. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onPlaybackStateChangeData.kt +80 -0
  498. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onProgressData.kt +80 -0
  499. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onVolumeChangeData.kt +80 -0
  500. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_std__vector_std__string_.kt +80 -0
  501. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerEventEmitterSpec.kt +219 -0
  502. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerFactorySpec.kt +57 -0
  503. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSourceFactorySpec.kt +61 -0
  504. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSourceSpec.kt +64 -0
  505. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSpec.kt +187 -0
  506. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoViewViewManagerFactorySpec.kt +57 -0
  507. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoViewViewManagerSpec.kt +171 -0
  508. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/IgnoreSilentSwitchMode.kt +22 -0
  509. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ListenerSubscription.kt +42 -0
  510. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/LivePlaybackParams.kt +50 -0
  511. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/MixAudioMode.kt +23 -0
  512. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeDrmParams.kt +60 -0
  513. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeExternalSubtitle.kt +47 -0
  514. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeVideoConfig.kt +68 -0
  515. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/OnGetLicensePayload.kt +47 -0
  516. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/PlayerTrack.kt +47 -0
  517. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ReactNativeVideoOnLoad.kt +35 -0
  518. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ResizeMode.kt +23 -0
  519. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Resolution.kt +41 -0
  520. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/SourceType.kt +21 -0
  521. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/SubtitleType.kt +24 -0
  522. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/SurfaceType.kt +21 -0
  523. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/TimedMetadata.kt +38 -0
  524. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/TimedMetadataObject.kt +41 -0
  525. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/TrackType.kt +22 -0
  526. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Variant_NullType_HybridVideoPlayerSourceSpec.kt +59 -0
  527. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoInformation.kt +59 -0
  528. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoOrientation.kt +26 -0
  529. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoPlayerStatus.kt +23 -0
  530. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoPlayerTrack.kt +53 -0
  531. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onLoadData.kt +53 -0
  532. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onLoadStartData.kt +41 -0
  533. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onPlaybackStateChangeData.kt +41 -0
  534. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onProgressData.kt +41 -0
  535. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onVolumeChangeData.kt +41 -0
  536. package/nitrogen/generated/ios/ReactNativeVideo+autolinking.rb +60 -0
  537. package/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Bridge.cpp +272 -0
  538. package/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Bridge.hpp +1119 -0
  539. package/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Umbrella.hpp +177 -0
  540. package/nitrogen/generated/ios/ReactNativeVideoAutolinking.mm +49 -0
  541. package/nitrogen/generated/ios/ReactNativeVideoAutolinking.swift +55 -0
  542. package/nitrogen/generated/ios/c++/HybridVideoPlayerEventEmitterSpecSwift.cpp +11 -0
  543. package/nitrogen/generated/ios/c++/HybridVideoPlayerEventEmitterSpecSwift.hpp +269 -0
  544. package/nitrogen/generated/ios/c++/HybridVideoPlayerFactorySpecSwift.cpp +11 -0
  545. package/nitrogen/generated/ios/c++/HybridVideoPlayerFactorySpecSwift.hpp +81 -0
  546. package/nitrogen/generated/ios/c++/HybridVideoPlayerSourceFactorySpecSwift.cpp +11 -0
  547. package/nitrogen/generated/ios/c++/HybridVideoPlayerSourceFactorySpecSwift.hpp +125 -0
  548. package/nitrogen/generated/ios/c++/HybridVideoPlayerSourceSpecSwift.cpp +11 -0
  549. package/nitrogen/generated/ios/c++/HybridVideoPlayerSourceSpecSwift.hpp +125 -0
  550. package/nitrogen/generated/ios/c++/HybridVideoPlayerSpecSwift.cpp +11 -0
  551. package/nitrogen/generated/ios/c++/HybridVideoPlayerSpecSwift.hpp +265 -0
  552. package/nitrogen/generated/ios/c++/HybridVideoViewViewManagerFactorySpecSwift.cpp +11 -0
  553. package/nitrogen/generated/ios/c++/HybridVideoViewViewManagerFactorySpecSwift.hpp +78 -0
  554. package/nitrogen/generated/ios/c++/HybridVideoViewViewManagerSpecSwift.cpp +11 -0
  555. package/nitrogen/generated/ios/c++/HybridVideoViewViewManagerSpecSwift.hpp +211 -0
  556. package/nitrogen/generated/ios/swift/AllPlayerTracks.swift +94 -0
  557. package/nitrogen/generated/ios/swift/BandwidthData.swift +82 -0
  558. package/nitrogen/generated/ios/swift/BufferConfig.swift +278 -0
  559. package/nitrogen/generated/ios/swift/CustomVideoMetadata.swift +175 -0
  560. package/nitrogen/generated/ios/swift/ExternalAudio.swift +116 -0
  561. package/nitrogen/generated/ios/swift/ExternalForcedType.swift +40 -0
  562. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.swift +62 -0
  563. package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  564. package/nitrogen/generated/ios/swift/Func_void_BandwidthData.swift +47 -0
  565. package/nitrogen/generated/ios/swift/Func_void_TimedMetadata.swift +47 -0
  566. package/nitrogen/generated/ios/swift/Func_void_VideoInformation.swift +47 -0
  567. package/nitrogen/generated/ios/swift/Func_void_VideoPlayerStatus.swift +47 -0
  568. package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
  569. package/nitrogen/generated/ios/swift/Func_void_double.swift +47 -0
  570. package/nitrogen/generated/ios/swift/Func_void_onLoadData.swift +47 -0
  571. package/nitrogen/generated/ios/swift/Func_void_onLoadStartData.swift +47 -0
  572. package/nitrogen/generated/ios/swift/Func_void_onPlaybackStateChangeData.swift +47 -0
  573. package/nitrogen/generated/ios/swift/Func_void_onProgressData.swift +47 -0
  574. package/nitrogen/generated/ios/swift/Func_void_onVolumeChangeData.swift +47 -0
  575. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
  576. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_std__string__.swift +67 -0
  577. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
  578. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift +47 -0
  579. package/nitrogen/generated/ios/swift/HybridVideoPlayerEventEmitterSpec.swift +74 -0
  580. package/nitrogen/generated/ios/swift/HybridVideoPlayerEventEmitterSpec_cxx.swift +442 -0
  581. package/nitrogen/generated/ios/swift/HybridVideoPlayerFactorySpec.swift +56 -0
  582. package/nitrogen/generated/ios/swift/HybridVideoPlayerFactorySpec_cxx.swift +138 -0
  583. package/nitrogen/generated/ios/swift/HybridVideoPlayerSourceFactorySpec.swift +57 -0
  584. package/nitrogen/generated/ios/swift/HybridVideoPlayerSourceFactorySpec_cxx.swift +149 -0
  585. package/nitrogen/generated/ios/swift/HybridVideoPlayerSourceSpec.swift +57 -0
  586. package/nitrogen/generated/ios/swift/HybridVideoPlayerSourceSpec_cxx.swift +150 -0
  587. package/nitrogen/generated/ios/swift/HybridVideoPlayerSpec.swift +82 -0
  588. package/nitrogen/generated/ios/swift/HybridVideoPlayerSpec_cxx.swift +475 -0
  589. package/nitrogen/generated/ios/swift/HybridVideoViewViewManagerFactorySpec.swift +56 -0
  590. package/nitrogen/generated/ios/swift/HybridVideoViewViewManagerFactorySpec_cxx.swift +134 -0
  591. package/nitrogen/generated/ios/swift/HybridVideoViewViewManagerSpec.swift +73 -0
  592. package/nitrogen/generated/ios/swift/HybridVideoViewViewManagerSpec_cxx.swift +383 -0
  593. package/nitrogen/generated/ios/swift/IgnoreSilentSwitchMode.swift +44 -0
  594. package/nitrogen/generated/ios/swift/ListenerSubscription.swift +47 -0
  595. package/nitrogen/generated/ios/swift/LivePlaybackParams.swift +140 -0
  596. package/nitrogen/generated/ios/swift/MixAudioMode.swift +48 -0
  597. package/nitrogen/generated/ios/swift/NativeDrmParams.swift +287 -0
  598. package/nitrogen/generated/ios/swift/NativeExternalSubtitle.swift +69 -0
  599. package/nitrogen/generated/ios/swift/NativeVideoConfig.swift +345 -0
  600. package/nitrogen/generated/ios/swift/OnGetLicensePayload.swift +69 -0
  601. package/nitrogen/generated/ios/swift/PlayerTrack.swift +88 -0
  602. package/nitrogen/generated/ios/swift/ResizeMode.swift +48 -0
  603. package/nitrogen/generated/ios/swift/Resolution.swift +47 -0
  604. package/nitrogen/generated/ios/swift/SourceType.swift +40 -0
  605. package/nitrogen/generated/ios/swift/SubtitleType.swift +52 -0
  606. package/nitrogen/generated/ios/swift/SurfaceType.swift +40 -0
  607. package/nitrogen/generated/ios/swift/TimedMetadata.swift +48 -0
  608. package/nitrogen/generated/ios/swift/TimedMetadataObject.swift +47 -0
  609. package/nitrogen/generated/ios/swift/TrackType.swift +44 -0
  610. package/nitrogen/generated/ios/swift/Variant_NullType__any_HybridVideoPlayerSourceSpec_.swift +18 -0
  611. package/nitrogen/generated/ios/swift/VideoInformation.swift +113 -0
  612. package/nitrogen/generated/ios/swift/VideoOrientation.swift +60 -0
  613. package/nitrogen/generated/ios/swift/VideoPlayerStatus.swift +48 -0
  614. package/nitrogen/generated/ios/swift/VideoPlayerTrack.swift +110 -0
  615. package/nitrogen/generated/ios/swift/onLoadData.swift +91 -0
  616. package/nitrogen/generated/ios/swift/onLoadStartData.swift +57 -0
  617. package/nitrogen/generated/ios/swift/onPlaybackStateChangeData.swift +47 -0
  618. package/nitrogen/generated/ios/swift/onProgressData.swift +47 -0
  619. package/nitrogen/generated/ios/swift/onVolumeChangeData.swift +47 -0
  620. package/nitrogen/generated/shared/c++/AllPlayerTracks.hpp +88 -0
  621. package/nitrogen/generated/shared/c++/BandwidthData.hpp +83 -0
  622. package/nitrogen/generated/shared/c++/BufferConfig.hpp +120 -0
  623. package/nitrogen/generated/shared/c++/CustomVideoMetadata.hpp +92 -0
  624. package/nitrogen/generated/shared/c++/ExternalAudio.hpp +85 -0
  625. package/nitrogen/generated/shared/c++/ExternalForcedType.hpp +76 -0
  626. package/nitrogen/generated/shared/c++/HybridVideoPlayerEventEmitterSpec.cpp +39 -0
  627. package/nitrogen/generated/shared/c++/HybridVideoPlayerEventEmitterSpec.hpp +108 -0
  628. package/nitrogen/generated/shared/c++/HybridVideoPlayerFactorySpec.cpp +21 -0
  629. package/nitrogen/generated/shared/c++/HybridVideoPlayerFactorySpec.hpp +67 -0
  630. package/nitrogen/generated/shared/c++/HybridVideoPlayerSourceFactorySpec.cpp +22 -0
  631. package/nitrogen/generated/shared/c++/HybridVideoPlayerSourceFactorySpec.hpp +69 -0
  632. package/nitrogen/generated/shared/c++/HybridVideoPlayerSourceSpec.cpp +23 -0
  633. package/nitrogen/generated/shared/c++/HybridVideoPlayerSourceSpec.hpp +69 -0
  634. package/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.cpp +59 -0
  635. package/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.hpp +128 -0
  636. package/nitrogen/generated/shared/c++/HybridVideoViewViewManagerFactorySpec.cpp +21 -0
  637. package/nitrogen/generated/shared/c++/HybridVideoViewViewManagerFactorySpec.hpp +64 -0
  638. package/nitrogen/generated/shared/c++/HybridVideoViewViewManagerSpec.cpp +46 -0
  639. package/nitrogen/generated/shared/c++/HybridVideoViewViewManagerSpec.hpp +99 -0
  640. package/nitrogen/generated/shared/c++/IgnoreSilentSwitchMode.hpp +80 -0
  641. package/nitrogen/generated/shared/c++/ListenerSubscription.hpp +75 -0
  642. package/nitrogen/generated/shared/c++/LivePlaybackParams.hpp +91 -0
  643. package/nitrogen/generated/shared/c++/MixAudioMode.hpp +84 -0
  644. package/nitrogen/generated/shared/c++/NativeDrmParams.hpp +105 -0
  645. package/nitrogen/generated/shared/c++/NativeExternalSubtitle.hpp +89 -0
  646. package/nitrogen/generated/shared/c++/NativeVideoConfig.hpp +135 -0
  647. package/nitrogen/generated/shared/c++/OnGetLicensePayload.hpp +87 -0
  648. package/nitrogen/generated/shared/c++/PlayerTrack.hpp +88 -0
  649. package/nitrogen/generated/shared/c++/ResizeMode.hpp +84 -0
  650. package/nitrogen/generated/shared/c++/Resolution.hpp +79 -0
  651. package/nitrogen/generated/shared/c++/SourceType.hpp +76 -0
  652. package/nitrogen/generated/shared/c++/SubtitleType.hpp +88 -0
  653. package/nitrogen/generated/shared/c++/SurfaceType.hpp +76 -0
  654. package/nitrogen/generated/shared/c++/TimedMetadata.hpp +77 -0
  655. package/nitrogen/generated/shared/c++/TimedMetadataObject.hpp +79 -0
  656. package/nitrogen/generated/shared/c++/TrackType.hpp +63 -0
  657. package/nitrogen/generated/shared/c++/VideoInformation.hpp +104 -0
  658. package/nitrogen/generated/shared/c++/VideoOrientation.hpp +96 -0
  659. package/nitrogen/generated/shared/c++/VideoPlayerStatus.hpp +84 -0
  660. package/nitrogen/generated/shared/c++/VideoPlayerTrack.hpp +96 -0
  661. package/nitrogen/generated/shared/c++/onLoadData.hpp +99 -0
  662. package/nitrogen/generated/shared/c++/onLoadStartData.hpp +84 -0
  663. package/nitrogen/generated/shared/c++/onPlaybackStateChangeData.hpp +79 -0
  664. package/nitrogen/generated/shared/c++/onProgressData.hpp +79 -0
  665. package/nitrogen/generated/shared/c++/onVolumeChangeData.hpp +79 -0
  666. package/package.json +155 -0
  667. package/react-native.config.js +19 -0
  668. package/src/core/VideoPlayer.ts +326 -0
  669. package/src/core/VideoPlayerEvents.ts +142 -0
  670. package/src/core/hooks/useEvent.ts +24 -0
  671. package/src/core/hooks/useManagedInstance.ts +96 -0
  672. package/src/core/hooks/useVideoPlayer.ts +73 -0
  673. package/src/core/types/BufferConfig.ts +103 -0
  674. package/src/core/types/DrmParams.ts +65 -0
  675. package/src/core/types/Events.ts +276 -0
  676. package/src/core/types/IgnoreSilentSwitchMode.ts +1 -0
  677. package/src/core/types/MixAudioMode.ts +1 -0
  678. package/src/core/types/PlayerTrack.ts +39 -0
  679. package/src/core/types/ResizeMode.ts +9 -0
  680. package/src/core/types/Utils.ts +1 -0
  681. package/src/core/types/VideoConfig.ts +165 -0
  682. package/src/core/types/VideoError.ts +174 -0
  683. package/src/core/types/VideoInformation.ts +44 -0
  684. package/src/core/types/VideoOrientation.ts +8 -0
  685. package/src/core/types/VideoPlayerBase.ts +193 -0
  686. package/src/core/types/VideoPlayerSourceBase.ts +19 -0
  687. package/src/core/types/VideoPlayerStatus.ts +8 -0
  688. package/src/core/utils/playerFactory.ts +33 -0
  689. package/src/core/utils/sourceFactory.ts +171 -0
  690. package/src/core/video-view/NativeVideoView.tsx +18 -0
  691. package/src/core/video-view/VideoView.tsx +406 -0
  692. package/src/expo-plugins/@types.ts +37 -0
  693. package/src/expo-plugins/getPackageInfo.ts +23 -0
  694. package/src/expo-plugins/withAndroidExtensions.ts +46 -0
  695. package/src/expo-plugins/withAndroidNotificationControls.ts +43 -0
  696. package/src/expo-plugins/withAndroidPictureInPicture.ts +31 -0
  697. package/src/expo-plugins/withBackgroundAudio.ts +26 -0
  698. package/src/expo-plugins/withReactNativeVideo.ts +32 -0
  699. package/src/expo-plugins/writeToPodfile.ts +74 -0
  700. package/src/index.tsx +27 -0
  701. package/src/spec/fabric/VideoViewNativeComponent.ts +17 -0
  702. package/src/spec/nitro/VideoPlayer.nitro.ts +38 -0
  703. package/src/spec/nitro/VideoPlayerEventEmitter.nitro.ts +196 -0
  704. package/src/spec/nitro/VideoPlayerSource.nitro.ts +18 -0
  705. package/src/spec/nitro/VideoViewViewManager.nitro.ts +92 -0
@@ -0,0 +1,184 @@
1
+ ///
2
+ /// JHybridVideoViewViewManagerSpec.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include "JHybridVideoViewViewManagerSpec.hpp"
9
+
10
+ // Forward declaration of `HybridVideoPlayerSpec` to properly resolve imports.
11
+ namespace margelo::nitro::video { class HybridVideoPlayerSpec; }
12
+ // Forward declaration of `ResizeMode` to properly resolve imports.
13
+ namespace margelo::nitro::video { enum class ResizeMode; }
14
+ // Forward declaration of `SurfaceType` to properly resolve imports.
15
+ namespace margelo::nitro::video { enum class SurfaceType; }
16
+ // Forward declaration of `ListenerSubscription` to properly resolve imports.
17
+ namespace margelo::nitro::video { struct ListenerSubscription; }
18
+
19
+ #include <memory>
20
+ #include "HybridVideoPlayerSpec.hpp"
21
+ #include <optional>
22
+ #include "JHybridVideoPlayerSpec.hpp"
23
+ #include "ResizeMode.hpp"
24
+ #include "JResizeMode.hpp"
25
+ #include "SurfaceType.hpp"
26
+ #include "JSurfaceType.hpp"
27
+ #include "ListenerSubscription.hpp"
28
+ #include "JListenerSubscription.hpp"
29
+ #include <functional>
30
+ #include "JFunc_void.hpp"
31
+ #include <NitroModules/JNICallable.hpp>
32
+ #include "JFunc_void_bool.hpp"
33
+
34
+ namespace margelo::nitro::video {
35
+
36
+ jni::local_ref<JHybridVideoViewViewManagerSpec::jhybriddata> JHybridVideoViewViewManagerSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
37
+ return makeCxxInstance(jThis);
38
+ }
39
+
40
+ void JHybridVideoViewViewManagerSpec::registerNatives() {
41
+ registerHybrid({
42
+ makeNativeMethod("initHybrid", JHybridVideoViewViewManagerSpec::initHybrid),
43
+ });
44
+ }
45
+
46
+ size_t JHybridVideoViewViewManagerSpec::getExternalMemorySize() noexcept {
47
+ static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
48
+ return method(_javaPart);
49
+ }
50
+
51
+ void JHybridVideoViewViewManagerSpec::dispose() noexcept {
52
+ static const auto method = javaClassStatic()->getMethod<void()>("dispose");
53
+ method(_javaPart);
54
+ }
55
+
56
+ std::string JHybridVideoViewViewManagerSpec::toString() {
57
+ static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
58
+ auto javaString = method(_javaPart);
59
+ return javaString->toStdString();
60
+ }
61
+
62
+ // Properties
63
+ std::optional<std::shared_ptr<HybridVideoPlayerSpec>> JHybridVideoViewViewManagerSpec::getPlayer() {
64
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridVideoPlayerSpec::javaobject>()>("getPlayer");
65
+ auto __result = method(_javaPart);
66
+ return __result != nullptr ? std::make_optional(__result->cthis()->shared_cast<JHybridVideoPlayerSpec>()) : std::nullopt;
67
+ }
68
+ void JHybridVideoViewViewManagerSpec::setPlayer(const std::optional<std::shared_ptr<HybridVideoPlayerSpec>>& player) {
69
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JHybridVideoPlayerSpec::javaobject> /* player */)>("setPlayer");
70
+ method(_javaPart, player.has_value() ? std::dynamic_pointer_cast<JHybridVideoPlayerSpec>(player.value())->getJavaPart() : nullptr);
71
+ }
72
+ bool JHybridVideoViewViewManagerSpec::getControls() {
73
+ static const auto method = javaClassStatic()->getMethod<jboolean()>("getControls");
74
+ auto __result = method(_javaPart);
75
+ return static_cast<bool>(__result);
76
+ }
77
+ void JHybridVideoViewViewManagerSpec::setControls(bool controls) {
78
+ static const auto method = javaClassStatic()->getMethod<void(jboolean /* controls */)>("setControls");
79
+ method(_javaPart, controls);
80
+ }
81
+ bool JHybridVideoViewViewManagerSpec::getPictureInPicture() {
82
+ static const auto method = javaClassStatic()->getMethod<jboolean()>("getPictureInPicture");
83
+ auto __result = method(_javaPart);
84
+ return static_cast<bool>(__result);
85
+ }
86
+ void JHybridVideoViewViewManagerSpec::setPictureInPicture(bool pictureInPicture) {
87
+ static const auto method = javaClassStatic()->getMethod<void(jboolean /* pictureInPicture */)>("setPictureInPicture");
88
+ method(_javaPart, pictureInPicture);
89
+ }
90
+ bool JHybridVideoViewViewManagerSpec::getAutoEnterPictureInPicture() {
91
+ static const auto method = javaClassStatic()->getMethod<jboolean()>("getAutoEnterPictureInPicture");
92
+ auto __result = method(_javaPart);
93
+ return static_cast<bool>(__result);
94
+ }
95
+ void JHybridVideoViewViewManagerSpec::setAutoEnterPictureInPicture(bool autoEnterPictureInPicture) {
96
+ static const auto method = javaClassStatic()->getMethod<void(jboolean /* autoEnterPictureInPicture */)>("setAutoEnterPictureInPicture");
97
+ method(_javaPart, autoEnterPictureInPicture);
98
+ }
99
+ ResizeMode JHybridVideoViewViewManagerSpec::getResizeMode() {
100
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JResizeMode>()>("getResizeMode");
101
+ auto __result = method(_javaPart);
102
+ return __result->toCpp();
103
+ }
104
+ void JHybridVideoViewViewManagerSpec::setResizeMode(ResizeMode resizeMode) {
105
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JResizeMode> /* resizeMode */)>("setResizeMode");
106
+ method(_javaPart, JResizeMode::fromCpp(resizeMode));
107
+ }
108
+ bool JHybridVideoViewViewManagerSpec::getKeepScreenAwake() {
109
+ static const auto method = javaClassStatic()->getMethod<jboolean()>("getKeepScreenAwake");
110
+ auto __result = method(_javaPart);
111
+ return static_cast<bool>(__result);
112
+ }
113
+ void JHybridVideoViewViewManagerSpec::setKeepScreenAwake(bool keepScreenAwake) {
114
+ static const auto method = javaClassStatic()->getMethod<void(jboolean /* keepScreenAwake */)>("setKeepScreenAwake");
115
+ method(_javaPart, keepScreenAwake);
116
+ }
117
+ SurfaceType JHybridVideoViewViewManagerSpec::getSurfaceType() {
118
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JSurfaceType>()>("getSurfaceType");
119
+ auto __result = method(_javaPart);
120
+ return __result->toCpp();
121
+ }
122
+ void JHybridVideoViewViewManagerSpec::setSurfaceType(SurfaceType surfaceType) {
123
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JSurfaceType> /* surfaceType */)>("setSurfaceType");
124
+ method(_javaPart, JSurfaceType::fromCpp(surfaceType));
125
+ }
126
+
127
+ // Methods
128
+ void JHybridVideoViewViewManagerSpec::enterFullscreen() {
129
+ static const auto method = javaClassStatic()->getMethod<void()>("enterFullscreen");
130
+ method(_javaPart);
131
+ }
132
+ void JHybridVideoViewViewManagerSpec::exitFullscreen() {
133
+ static const auto method = javaClassStatic()->getMethod<void()>("exitFullscreen");
134
+ method(_javaPart);
135
+ }
136
+ void JHybridVideoViewViewManagerSpec::enterPictureInPicture() {
137
+ static const auto method = javaClassStatic()->getMethod<void()>("enterPictureInPicture");
138
+ method(_javaPart);
139
+ }
140
+ void JHybridVideoViewViewManagerSpec::exitPictureInPicture() {
141
+ static const auto method = javaClassStatic()->getMethod<void()>("exitPictureInPicture");
142
+ method(_javaPart);
143
+ }
144
+ bool JHybridVideoViewViewManagerSpec::canEnterPictureInPicture() {
145
+ static const auto method = javaClassStatic()->getMethod<jboolean()>("canEnterPictureInPicture");
146
+ auto __result = method(_javaPart);
147
+ return static_cast<bool>(__result);
148
+ }
149
+ ListenerSubscription JHybridVideoViewViewManagerSpec::addOnPictureInPictureChangeListener(const std::function<void(bool /* isInPictureInPicture */)>& listener) {
150
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JListenerSubscription>(jni::alias_ref<JFunc_void_bool::javaobject> /* listener */)>("addOnPictureInPictureChangeListener_cxx");
151
+ auto __result = method(_javaPart, JFunc_void_bool_cxx::fromCpp(listener));
152
+ return __result->toCpp();
153
+ }
154
+ ListenerSubscription JHybridVideoViewViewManagerSpec::addOnFullscreenChangeListener(const std::function<void(bool /* fullscreen */)>& listener) {
155
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JListenerSubscription>(jni::alias_ref<JFunc_void_bool::javaobject> /* listener */)>("addOnFullscreenChangeListener_cxx");
156
+ auto __result = method(_javaPart, JFunc_void_bool_cxx::fromCpp(listener));
157
+ return __result->toCpp();
158
+ }
159
+ ListenerSubscription JHybridVideoViewViewManagerSpec::addWillEnterFullscreenListener(const std::function<void()>& listener) {
160
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JListenerSubscription>(jni::alias_ref<JFunc_void::javaobject> /* listener */)>("addWillEnterFullscreenListener_cxx");
161
+ auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(listener));
162
+ return __result->toCpp();
163
+ }
164
+ ListenerSubscription JHybridVideoViewViewManagerSpec::addWillExitFullscreenListener(const std::function<void()>& listener) {
165
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JListenerSubscription>(jni::alias_ref<JFunc_void::javaobject> /* listener */)>("addWillExitFullscreenListener_cxx");
166
+ auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(listener));
167
+ return __result->toCpp();
168
+ }
169
+ ListenerSubscription JHybridVideoViewViewManagerSpec::addWillEnterPictureInPictureListener(const std::function<void()>& listener) {
170
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JListenerSubscription>(jni::alias_ref<JFunc_void::javaobject> /* listener */)>("addWillEnterPictureInPictureListener_cxx");
171
+ auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(listener));
172
+ return __result->toCpp();
173
+ }
174
+ ListenerSubscription JHybridVideoViewViewManagerSpec::addWillExitPictureInPictureListener(const std::function<void()>& listener) {
175
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JListenerSubscription>(jni::alias_ref<JFunc_void::javaobject> /* listener */)>("addWillExitPictureInPictureListener_cxx");
176
+ auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(listener));
177
+ return __result->toCpp();
178
+ }
179
+ void JHybridVideoViewViewManagerSpec::clearAllListeners() {
180
+ static const auto method = javaClassStatic()->getMethod<void()>("clearAllListeners");
181
+ method(_javaPart);
182
+ }
183
+
184
+ } // namespace margelo::nitro::video
@@ -0,0 +1,89 @@
1
+ ///
2
+ /// HybridVideoViewViewManagerSpec.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <NitroModules/JHybridObject.hpp>
11
+ #include <fbjni/fbjni.h>
12
+ #include "HybridVideoViewViewManagerSpec.hpp"
13
+
14
+
15
+
16
+
17
+ namespace margelo::nitro::video {
18
+
19
+ using namespace facebook;
20
+
21
+ class JHybridVideoViewViewManagerSpec: public jni::HybridClass<JHybridVideoViewViewManagerSpec, JHybridObject>,
22
+ public virtual HybridVideoViewViewManagerSpec {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoViewViewManagerSpec;";
25
+ static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
26
+ static void registerNatives();
27
+
28
+ protected:
29
+ // C++ constructor (called from Java via `initHybrid()`)
30
+ explicit JHybridVideoViewViewManagerSpec(jni::alias_ref<jhybridobject> jThis) :
31
+ HybridObject(HybridVideoViewViewManagerSpec::TAG),
32
+ HybridBase(jThis),
33
+ _javaPart(jni::make_global(jThis)) {}
34
+
35
+ public:
36
+ ~JHybridVideoViewViewManagerSpec() override {
37
+ // Hermes GC can destroy JS objects on a non-JNI Thread.
38
+ jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
39
+ }
40
+
41
+ public:
42
+ size_t getExternalMemorySize() noexcept override;
43
+ void dispose() noexcept override;
44
+ std::string toString() override;
45
+
46
+ public:
47
+ inline const jni::global_ref<JHybridVideoViewViewManagerSpec::javaobject>& getJavaPart() const noexcept {
48
+ return _javaPart;
49
+ }
50
+
51
+ public:
52
+ // Properties
53
+ std::optional<std::shared_ptr<HybridVideoPlayerSpec>> getPlayer() override;
54
+ void setPlayer(const std::optional<std::shared_ptr<HybridVideoPlayerSpec>>& player) override;
55
+ bool getControls() override;
56
+ void setControls(bool controls) override;
57
+ bool getPictureInPicture() override;
58
+ void setPictureInPicture(bool pictureInPicture) override;
59
+ bool getAutoEnterPictureInPicture() override;
60
+ void setAutoEnterPictureInPicture(bool autoEnterPictureInPicture) override;
61
+ ResizeMode getResizeMode() override;
62
+ void setResizeMode(ResizeMode resizeMode) override;
63
+ bool getKeepScreenAwake() override;
64
+ void setKeepScreenAwake(bool keepScreenAwake) override;
65
+ SurfaceType getSurfaceType() override;
66
+ void setSurfaceType(SurfaceType surfaceType) override;
67
+
68
+ public:
69
+ // Methods
70
+ void enterFullscreen() override;
71
+ void exitFullscreen() override;
72
+ void enterPictureInPicture() override;
73
+ void exitPictureInPicture() override;
74
+ bool canEnterPictureInPicture() override;
75
+ ListenerSubscription addOnPictureInPictureChangeListener(const std::function<void(bool /* isInPictureInPicture */)>& listener) override;
76
+ ListenerSubscription addOnFullscreenChangeListener(const std::function<void(bool /* fullscreen */)>& listener) override;
77
+ ListenerSubscription addWillEnterFullscreenListener(const std::function<void()>& listener) override;
78
+ ListenerSubscription addWillExitFullscreenListener(const std::function<void()>& listener) override;
79
+ ListenerSubscription addWillEnterPictureInPictureListener(const std::function<void()>& listener) override;
80
+ ListenerSubscription addWillExitPictureInPictureListener(const std::function<void()>& listener) override;
81
+ void clearAllListeners() override;
82
+
83
+ private:
84
+ friend HybridBase;
85
+ using HybridBase::HybridBase;
86
+ jni::global_ref<JHybridVideoViewViewManagerSpec::javaobject> _javaPart;
87
+ };
88
+
89
+ } // namespace margelo::nitro::video
@@ -0,0 +1,62 @@
1
+ ///
2
+ /// JIgnoreSilentSwitchMode.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "IgnoreSilentSwitchMode.hpp"
12
+
13
+ namespace margelo::nitro::video {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "IgnoreSilentSwitchMode" and the the Kotlin enum "IgnoreSilentSwitchMode".
19
+ */
20
+ struct JIgnoreSilentSwitchMode final: public jni::JavaClass<JIgnoreSilentSwitchMode> {
21
+ public:
22
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/IgnoreSilentSwitchMode;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum IgnoreSilentSwitchMode.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ IgnoreSilentSwitchMode toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<IgnoreSilentSwitchMode>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JIgnoreSilentSwitchMode> fromCpp(IgnoreSilentSwitchMode value) {
43
+ static const auto clazz = javaClassStatic();
44
+ static const auto fieldAUTO = clazz->getStaticField<JIgnoreSilentSwitchMode>("AUTO");
45
+ static const auto fieldIGNORE = clazz->getStaticField<JIgnoreSilentSwitchMode>("IGNORE");
46
+ static const auto fieldOBEY = clazz->getStaticField<JIgnoreSilentSwitchMode>("OBEY");
47
+
48
+ switch (value) {
49
+ case IgnoreSilentSwitchMode::AUTO:
50
+ return clazz->getStaticFieldValue(fieldAUTO);
51
+ case IgnoreSilentSwitchMode::IGNORE:
52
+ return clazz->getStaticFieldValue(fieldIGNORE);
53
+ case IgnoreSilentSwitchMode::OBEY:
54
+ return clazz->getStaticFieldValue(fieldOBEY);
55
+ default:
56
+ std::string stringValue = std::to_string(static_cast<int>(value));
57
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
58
+ }
59
+ }
60
+ };
61
+
62
+ } // namespace margelo::nitro::video
@@ -0,0 +1,67 @@
1
+ ///
2
+ /// JListenerSubscription.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "ListenerSubscription.hpp"
12
+
13
+ #include "JFunc_void.hpp"
14
+ #include <NitroModules/JNICallable.hpp>
15
+ #include <functional>
16
+
17
+ namespace margelo::nitro::video {
18
+
19
+ using namespace facebook;
20
+
21
+ /**
22
+ * The C++ JNI bridge between the C++ struct "ListenerSubscription" and the the Kotlin data class "ListenerSubscription".
23
+ */
24
+ struct JListenerSubscription final: public jni::JavaClass<JListenerSubscription> {
25
+ public:
26
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/ListenerSubscription;";
27
+
28
+ public:
29
+ /**
30
+ * Convert this Java/Kotlin-based struct to the C++ struct ListenerSubscription by copying all values to C++.
31
+ */
32
+ [[maybe_unused]]
33
+ [[nodiscard]]
34
+ ListenerSubscription toCpp() const {
35
+ static const auto clazz = javaClassStatic();
36
+ static const auto fieldRemove = clazz->getField<JFunc_void::javaobject>("remove");
37
+ jni::local_ref<JFunc_void::javaobject> remove = this->getFieldValue(fieldRemove);
38
+ return ListenerSubscription(
39
+ [&]() -> std::function<void()> {
40
+ if (remove->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
41
+ auto downcast = jni::static_ref_cast<JFunc_void_cxx::javaobject>(remove);
42
+ return downcast->cthis()->getFunction();
43
+ } else {
44
+ auto removeRef = jni::make_global(remove);
45
+ return JNICallable<JFunc_void, void()>(std::move(removeRef));
46
+ }
47
+ }()
48
+ );
49
+ }
50
+
51
+ public:
52
+ /**
53
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
54
+ */
55
+ [[maybe_unused]]
56
+ static jni::local_ref<JListenerSubscription::javaobject> fromCpp(const ListenerSubscription& value) {
57
+ using JSignature = JListenerSubscription(jni::alias_ref<JFunc_void::javaobject>);
58
+ static const auto clazz = javaClassStatic();
59
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
60
+ return create(
61
+ clazz,
62
+ JFunc_void_cxx::fromCpp(value.remove)
63
+ );
64
+ }
65
+ };
66
+
67
+ } // namespace margelo::nitro::video
@@ -0,0 +1,73 @@
1
+ ///
2
+ /// JLivePlaybackParams.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "LivePlaybackParams.hpp"
12
+
13
+ #include <optional>
14
+
15
+ namespace margelo::nitro::video {
16
+
17
+ using namespace facebook;
18
+
19
+ /**
20
+ * The C++ JNI bridge between the C++ struct "LivePlaybackParams" and the the Kotlin data class "LivePlaybackParams".
21
+ */
22
+ struct JLivePlaybackParams final: public jni::JavaClass<JLivePlaybackParams> {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/LivePlaybackParams;";
25
+
26
+ public:
27
+ /**
28
+ * Convert this Java/Kotlin-based struct to the C++ struct LivePlaybackParams by copying all values to C++.
29
+ */
30
+ [[maybe_unused]]
31
+ [[nodiscard]]
32
+ LivePlaybackParams toCpp() const {
33
+ static const auto clazz = javaClassStatic();
34
+ static const auto fieldMinPlaybackSpeed = clazz->getField<jni::JDouble>("minPlaybackSpeed");
35
+ jni::local_ref<jni::JDouble> minPlaybackSpeed = this->getFieldValue(fieldMinPlaybackSpeed);
36
+ static const auto fieldMaxPlaybackSpeed = clazz->getField<jni::JDouble>("maxPlaybackSpeed");
37
+ jni::local_ref<jni::JDouble> maxPlaybackSpeed = this->getFieldValue(fieldMaxPlaybackSpeed);
38
+ static const auto fieldMaxOffsetMs = clazz->getField<jni::JDouble>("maxOffsetMs");
39
+ jni::local_ref<jni::JDouble> maxOffsetMs = this->getFieldValue(fieldMaxOffsetMs);
40
+ static const auto fieldMinOffsetMs = clazz->getField<jni::JDouble>("minOffsetMs");
41
+ jni::local_ref<jni::JDouble> minOffsetMs = this->getFieldValue(fieldMinOffsetMs);
42
+ static const auto fieldTargetOffsetMs = clazz->getField<jni::JDouble>("targetOffsetMs");
43
+ jni::local_ref<jni::JDouble> targetOffsetMs = this->getFieldValue(fieldTargetOffsetMs);
44
+ return LivePlaybackParams(
45
+ minPlaybackSpeed != nullptr ? std::make_optional(minPlaybackSpeed->value()) : std::nullopt,
46
+ maxPlaybackSpeed != nullptr ? std::make_optional(maxPlaybackSpeed->value()) : std::nullopt,
47
+ maxOffsetMs != nullptr ? std::make_optional(maxOffsetMs->value()) : std::nullopt,
48
+ minOffsetMs != nullptr ? std::make_optional(minOffsetMs->value()) : std::nullopt,
49
+ targetOffsetMs != nullptr ? std::make_optional(targetOffsetMs->value()) : std::nullopt
50
+ );
51
+ }
52
+
53
+ public:
54
+ /**
55
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
56
+ */
57
+ [[maybe_unused]]
58
+ static jni::local_ref<JLivePlaybackParams::javaobject> fromCpp(const LivePlaybackParams& value) {
59
+ using JSignature = JLivePlaybackParams(jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>);
60
+ static const auto clazz = javaClassStatic();
61
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
62
+ return create(
63
+ clazz,
64
+ value.minPlaybackSpeed.has_value() ? jni::JDouble::valueOf(value.minPlaybackSpeed.value()) : nullptr,
65
+ value.maxPlaybackSpeed.has_value() ? jni::JDouble::valueOf(value.maxPlaybackSpeed.value()) : nullptr,
66
+ value.maxOffsetMs.has_value() ? jni::JDouble::valueOf(value.maxOffsetMs.value()) : nullptr,
67
+ value.minOffsetMs.has_value() ? jni::JDouble::valueOf(value.minOffsetMs.value()) : nullptr,
68
+ value.targetOffsetMs.has_value() ? jni::JDouble::valueOf(value.targetOffsetMs.value()) : nullptr
69
+ );
70
+ }
71
+ };
72
+
73
+ } // namespace margelo::nitro::video
@@ -0,0 +1,65 @@
1
+ ///
2
+ /// JMixAudioMode.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "MixAudioMode.hpp"
12
+
13
+ namespace margelo::nitro::video {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "MixAudioMode" and the the Kotlin enum "MixAudioMode".
19
+ */
20
+ struct JMixAudioMode final: public jni::JavaClass<JMixAudioMode> {
21
+ public:
22
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/MixAudioMode;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum MixAudioMode.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ MixAudioMode toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<MixAudioMode>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JMixAudioMode> fromCpp(MixAudioMode value) {
43
+ static const auto clazz = javaClassStatic();
44
+ static const auto fieldMIXWITHOTHERS = clazz->getStaticField<JMixAudioMode>("MIXWITHOTHERS");
45
+ static const auto fieldDONOTMIX = clazz->getStaticField<JMixAudioMode>("DONOTMIX");
46
+ static const auto fieldDUCKOTHERS = clazz->getStaticField<JMixAudioMode>("DUCKOTHERS");
47
+ static const auto fieldAUTO = clazz->getStaticField<JMixAudioMode>("AUTO");
48
+
49
+ switch (value) {
50
+ case MixAudioMode::MIXWITHOTHERS:
51
+ return clazz->getStaticFieldValue(fieldMIXWITHOTHERS);
52
+ case MixAudioMode::DONOTMIX:
53
+ return clazz->getStaticFieldValue(fieldDONOTMIX);
54
+ case MixAudioMode::DUCKOTHERS:
55
+ return clazz->getStaticFieldValue(fieldDUCKOTHERS);
56
+ case MixAudioMode::AUTO:
57
+ return clazz->getStaticFieldValue(fieldAUTO);
58
+ default:
59
+ std::string stringValue = std::to_string(static_cast<int>(value));
60
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
61
+ }
62
+ }
63
+ };
64
+
65
+ } // namespace margelo::nitro::video
@@ -0,0 +1,111 @@
1
+ ///
2
+ /// JNativeDrmParams.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "NativeDrmParams.hpp"
12
+
13
+ #include "JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.hpp"
14
+ #include "JOnGetLicensePayload.hpp"
15
+ #include "OnGetLicensePayload.hpp"
16
+ #include <NitroModules/JNICallable.hpp>
17
+ #include <NitroModules/JPromise.hpp>
18
+ #include <NitroModules/Promise.hpp>
19
+ #include <functional>
20
+ #include <optional>
21
+ #include <string>
22
+ #include <unordered_map>
23
+
24
+ namespace margelo::nitro::video {
25
+
26
+ using namespace facebook;
27
+
28
+ /**
29
+ * The C++ JNI bridge between the C++ struct "NativeDrmParams" and the the Kotlin data class "NativeDrmParams".
30
+ */
31
+ struct JNativeDrmParams final: public jni::JavaClass<JNativeDrmParams> {
32
+ public:
33
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/NativeDrmParams;";
34
+
35
+ public:
36
+ /**
37
+ * Convert this Java/Kotlin-based struct to the C++ struct NativeDrmParams by copying all values to C++.
38
+ */
39
+ [[maybe_unused]]
40
+ [[nodiscard]]
41
+ NativeDrmParams toCpp() const {
42
+ static const auto clazz = javaClassStatic();
43
+ static const auto fieldType = clazz->getField<jni::JString>("type");
44
+ jni::local_ref<jni::JString> type = this->getFieldValue(fieldType);
45
+ static const auto fieldLicenseUrl = clazz->getField<jni::JString>("licenseUrl");
46
+ jni::local_ref<jni::JString> licenseUrl = this->getFieldValue(fieldLicenseUrl);
47
+ static const auto fieldCertificateUrl = clazz->getField<jni::JString>("certificateUrl");
48
+ jni::local_ref<jni::JString> certificateUrl = this->getFieldValue(fieldCertificateUrl);
49
+ static const auto fieldContentId = clazz->getField<jni::JString>("contentId");
50
+ jni::local_ref<jni::JString> contentId = this->getFieldValue(fieldContentId);
51
+ static const auto fieldLicenseHeaders = clazz->getField<jni::JMap<jni::JString, jni::JString>>("licenseHeaders");
52
+ jni::local_ref<jni::JMap<jni::JString, jni::JString>> licenseHeaders = this->getFieldValue(fieldLicenseHeaders);
53
+ static const auto fieldMultiSession = clazz->getField<jni::JBoolean>("multiSession");
54
+ jni::local_ref<jni::JBoolean> multiSession = this->getFieldValue(fieldMultiSession);
55
+ static const auto fieldGetLicense = clazz->getField<JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload::javaobject>("getLicense");
56
+ jni::local_ref<JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload::javaobject> getLicense = this->getFieldValue(fieldGetLicense);
57
+ return NativeDrmParams(
58
+ type != nullptr ? std::make_optional(type->toStdString()) : std::nullopt,
59
+ licenseUrl != nullptr ? std::make_optional(licenseUrl->toStdString()) : std::nullopt,
60
+ certificateUrl != nullptr ? std::make_optional(certificateUrl->toStdString()) : std::nullopt,
61
+ contentId != nullptr ? std::make_optional(contentId->toStdString()) : std::nullopt,
62
+ licenseHeaders != nullptr ? std::make_optional([&]() {
63
+ std::unordered_map<std::string, std::string> __map;
64
+ __map.reserve(licenseHeaders->size());
65
+ for (const auto& __entry : *licenseHeaders) {
66
+ __map.emplace(__entry.first->toStdString(), __entry.second->toStdString());
67
+ }
68
+ return __map;
69
+ }()) : std::nullopt,
70
+ multiSession != nullptr ? std::make_optional(static_cast<bool>(multiSession->value())) : std::nullopt,
71
+ getLicense != nullptr ? std::make_optional([&]() -> std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::string>>>>(const OnGetLicensePayload& /* payload */)> {
72
+ if (getLicense->isInstanceOf(JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload_cxx::javaClassStatic())) [[likely]] {
73
+ auto downcast = jni::static_ref_cast<JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload_cxx::javaobject>(getLicense);
74
+ return downcast->cthis()->getFunction();
75
+ } else {
76
+ auto getLicenseRef = jni::make_global(getLicense);
77
+ return JNICallable<JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload, std::shared_ptr<Promise<std::shared_ptr<Promise<std::string>>>>(OnGetLicensePayload)>(std::move(getLicenseRef));
78
+ }
79
+ }()) : std::nullopt
80
+ );
81
+ }
82
+
83
+ public:
84
+ /**
85
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
86
+ */
87
+ [[maybe_unused]]
88
+ static jni::local_ref<JNativeDrmParams::javaobject> fromCpp(const NativeDrmParams& value) {
89
+ using JSignature = JNativeDrmParams(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JMap<jni::JString, jni::JString>>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload::javaobject>);
90
+ static const auto clazz = javaClassStatic();
91
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
92
+ return create(
93
+ clazz,
94
+ value.type.has_value() ? jni::make_jstring(value.type.value()) : nullptr,
95
+ value.licenseUrl.has_value() ? jni::make_jstring(value.licenseUrl.value()) : nullptr,
96
+ value.certificateUrl.has_value() ? jni::make_jstring(value.certificateUrl.value()) : nullptr,
97
+ value.contentId.has_value() ? jni::make_jstring(value.contentId.value()) : nullptr,
98
+ value.licenseHeaders.has_value() ? [&]() -> jni::local_ref<jni::JMap<jni::JString, jni::JString>> {
99
+ auto __map = jni::JHashMap<jni::JString, jni::JString>::create(value.licenseHeaders.value().size());
100
+ for (const auto& __entry : value.licenseHeaders.value()) {
101
+ __map->put(jni::make_jstring(__entry.first), jni::make_jstring(__entry.second));
102
+ }
103
+ return __map;
104
+ }() : nullptr,
105
+ value.multiSession.has_value() ? jni::JBoolean::valueOf(value.multiSession.value()) : nullptr,
106
+ value.getLicense.has_value() ? JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload_cxx::fromCpp(value.getLicense.value()) : nullptr
107
+ );
108
+ }
109
+ };
110
+
111
+ } // namespace margelo::nitro::video