From a01d203bcbafc91d733cf19b01e1f84b0fa73212 Mon Sep 17 00:00:00 2001 From: Marc Rousavy Date: Wed, 18 Mar 2026 22:44:49 +0100 Subject: [PATCH] chore: Upgrade to Nitro 0.35.0 (#4849) * chore: Upgrade to Nitro 0.35.0 * Replace `bigint` with `UInt64` * chore: Regenerate specs now for Nitro 0.35.0 * fix: Use Int64 as it can be -1 * Remove unnecessary patches * fix: change duration type to number * fix: avoid mutating VideoInformation fields after init * chore: regenerate specs with new duration type * fix: use Double for duration in VideoInformation * docs: react-native-nitro-modules version * chore: update react-native-nitro-modules version (rnv & drm) --------- Co-authored-by: fnwk --- bun.lock | 21 +- docs/docs/fundamentals/installation.md | 4 +- example/package.json | 2 +- example/patches/nitrogen+0.31.10.patch | 18 -- ...eact-native-nitro-modules+0.26.2.patch.old | 26 -- .../react-native-nitro-modules+0.31.10.patch | 31 -- packages/drm-plugin/README.md | 2 +- .../ReactNativeVideoDrm+autolinking.cmake | 2 +- .../ReactNativeVideoDrm+autolinking.gradle | 2 +- .../android/ReactNativeVideoDrmOnLoad.cpp | 46 +-- .../android/ReactNativeVideoDrmOnLoad.hpp | 19 +- .../android/c++/JHybridPluginManagerSpec.cpp | 47 +-- .../android/c++/JHybridPluginManagerSpec.hpp | 42 ++- .../nitro/videodrm/HybridPluginManagerSpec.kt | 35 +-- .../videodrm/ReactNativeVideoDrmOnLoad.kt | 2 +- .../ios/ReactNativeVideoDrm+autolinking.rb | 4 +- .../ReactNativeVideoDrm-Swift-Cxx-Bridge.cpp | 2 +- .../ReactNativeVideoDrm-Swift-Cxx-Bridge.hpp | 2 +- ...ReactNativeVideoDrm-Swift-Cxx-Umbrella.hpp | 2 +- .../ios/ReactNativeVideoDrmAutolinking.mm | 2 +- .../ios/ReactNativeVideoDrmAutolinking.swift | 17 +- .../ios/c++/HybridPluginManagerSpecSwift.cpp | 2 +- .../ios/c++/HybridPluginManagerSpecSwift.hpp | 8 +- .../ios/swift/HybridPluginManagerSpec.swift | 7 +- .../swift/HybridPluginManagerSpec_cxx.swift | 11 +- .../shared/c++/HybridPluginManagerSpec.cpp | 2 +- .../shared/c++/HybridPluginManagerSpec.hpp | 2 +- packages/drm-plugin/package.json | 6 +- .../AVURLAsset+getAssetInformation.swift | 72 +++-- .../ReactNativeVideo+autolinking.cmake | 2 +- .../ReactNativeVideo+autolinking.gradle | 2 +- .../android/ReactNativeVideoOnLoad.cpp | 130 ++++---- .../android/ReactNativeVideoOnLoad.hpp | 19 +- .../generated/android/c++/JBandwidthData.hpp | 2 +- .../generated/android/c++/JBufferConfig.hpp | 2 +- .../android/c++/JCustomVideoMetadata.hpp | 2 +- ...se_std__string_____OnGetLicensePayload.hpp | 2 +- .../generated/android/c++/JFunc_void.hpp | 2 +- .../android/c++/JFunc_void_BandwidthData.hpp | 2 +- .../android/c++/JFunc_void_TimedMetadata.hpp | 2 +- .../c++/JFunc_void_VideoPlayerStatus.hpp | 2 +- .../generated/android/c++/JFunc_void_bool.hpp | 2 +- .../android/c++/JFunc_void_double.hpp | 2 +- .../android/c++/JFunc_void_onLoadData.hpp | 2 +- .../c++/JFunc_void_onLoadStartData.hpp | 2 +- .../JFunc_void_onPlaybackStateChangeData.hpp | 2 +- .../android/c++/JFunc_void_onProgressData.hpp | 2 +- .../c++/JFunc_void_onVolumeChangeData.hpp | 2 +- ...__variant_nitro__NullType__TextTrack__.hpp | 2 +- .../JFunc_void_std__vector_std__string_.hpp | 2 +- .../JHybridVideoPlayerEventEmitterSpec.cpp | 81 ++--- .../JHybridVideoPlayerEventEmitterSpec.hpp | 42 ++- .../c++/JHybridVideoPlayerFactorySpec.cpp | 45 +-- .../c++/JHybridVideoPlayerFactorySpec.hpp | 42 ++- .../JHybridVideoPlayerSourceFactorySpec.cpp | 49 +-- .../JHybridVideoPlayerSourceFactorySpec.hpp | 42 ++- .../c++/JHybridVideoPlayerSourceSpec.cpp | 47 +-- .../c++/JHybridVideoPlayerSourceSpec.hpp | 42 ++- .../android/c++/JHybridVideoPlayerSpec.cpp | 118 +++---- .../android/c++/JHybridVideoPlayerSpec.hpp | 42 ++- ...JHybridVideoViewViewManagerFactorySpec.cpp | 45 +-- ...JHybridVideoViewViewManagerFactorySpec.hpp | 42 ++- .../c++/JHybridVideoViewViewManagerSpec.cpp | 95 +++--- .../c++/JHybridVideoViewViewManagerSpec.hpp | 42 ++- .../android/c++/JIgnoreSilentSwitchMode.hpp | 9 +- .../android/c++/JListenerSubscription.hpp | 2 +- .../android/c++/JLivePlaybackParams.hpp | 2 +- .../generated/android/c++/JMixAudioMode.hpp | 11 +- .../android/c++/JNativeDrmParams.hpp | 2 +- .../android/c++/JNativeExternalSubtitle.hpp | 2 +- .../android/c++/JNativeVideoConfig.hpp | 2 +- .../android/c++/JOnGetLicensePayload.hpp | 2 +- .../generated/android/c++/JResizeMode.hpp | 11 +- .../generated/android/c++/JResolution.hpp | 2 +- .../generated/android/c++/JSourceType.hpp | 7 +- .../generated/android/c++/JSubtitleType.hpp | 13 +- .../generated/android/c++/JSurfaceType.hpp | 7 +- .../generated/android/c++/JTextTrack.hpp | 2 +- .../generated/android/c++/JTimedMetadata.hpp | 2 +- .../android/c++/JTimedMetadataObject.hpp | 2 +- ...t_NullType_HybridVideoPlayerSourceSpec.cpp | 4 +- ...t_NullType_HybridVideoPlayerSourceSpec.hpp | 14 +- .../c++/JVariant_NullType_TextTrack.cpp | 2 +- .../c++/JVariant_NullType_TextTrack.hpp | 6 +- .../android/c++/JVideoInformation.hpp | 8 +- .../android/c++/JVideoOrientation.hpp | 17 +- .../android/c++/JVideoPlayerStatus.hpp | 11 +- .../generated/android/c++/JonLoadData.hpp | 2 +- .../android/c++/JonLoadStartData.hpp | 10 +- .../c++/JonPlaybackStateChangeData.hpp | 2 +- .../generated/android/c++/JonProgressData.hpp | 2 +- .../android/c++/JonVolumeChangeData.hpp | 2 +- .../com/margelo/nitro/video/BandwidthData.kt | 4 +- .../com/margelo/nitro/video/BufferConfig.kt | 4 +- .../nitro/video/CustomVideoMetadata.kt | 4 +- ...ise_std__string_____OnGetLicensePayload.kt | 2 +- .../com/margelo/nitro/video/Func_void.kt | 2 +- .../nitro/video/Func_void_BandwidthData.kt | 2 +- .../nitro/video/Func_void_TimedMetadata.kt | 2 +- .../video/Func_void_VideoPlayerStatus.kt | 2 +- .../com/margelo/nitro/video/Func_void_bool.kt | 2 +- .../margelo/nitro/video/Func_void_double.kt | 2 +- .../nitro/video/Func_void_onLoadData.kt | 2 +- .../nitro/video/Func_void_onLoadStartData.kt | 2 +- .../Func_void_onPlaybackStateChangeData.kt | 2 +- .../nitro/video/Func_void_onProgressData.kt | 2 +- .../video/Func_void_onVolumeChangeData.kt | 2 +- ...d__variant_nitro__NullType__TextTrack__.kt | 2 +- .../Func_void_std__vector_std__string_.kt | 2 +- .../HybridVideoPlayerEventEmitterSpec.kt | 35 +-- .../video/HybridVideoPlayerFactorySpec.kt | 35 +-- .../HybridVideoPlayerSourceFactorySpec.kt | 35 +-- .../video/HybridVideoPlayerSourceSpec.kt | 35 +-- .../nitro/video/HybridVideoPlayerSpec.kt | 35 +-- .../HybridVideoViewViewManagerFactorySpec.kt | 35 +-- .../video/HybridVideoViewViewManagerSpec.kt | 35 +-- .../nitro/video/IgnoreSilentSwitchMode.kt | 4 +- .../nitro/video/ListenerSubscription.kt | 4 +- .../margelo/nitro/video/LivePlaybackParams.kt | 4 +- .../com/margelo/nitro/video/MixAudioMode.kt | 4 +- .../margelo/nitro/video/NativeDrmParams.kt | 4 +- .../nitro/video/NativeExternalSubtitle.kt | 4 +- .../margelo/nitro/video/NativeVideoConfig.kt | 4 +- .../nitro/video/OnGetLicensePayload.kt | 4 +- .../nitro/video/ReactNativeVideoOnLoad.kt | 2 +- .../com/margelo/nitro/video/ResizeMode.kt | 4 +- .../com/margelo/nitro/video/Resolution.kt | 4 +- .../com/margelo/nitro/video/SourceType.kt | 4 +- .../com/margelo/nitro/video/SubtitleType.kt | 4 +- .../com/margelo/nitro/video/SurfaceType.kt | 4 +- .../com/margelo/nitro/video/TextTrack.kt | 4 +- .../com/margelo/nitro/video/TimedMetadata.kt | 4 +- .../nitro/video/TimedMetadataObject.kt | 4 +- ...nt_NullType_HybridVideoPlayerSourceSpec.kt | 8 +- .../nitro/video/Variant_NullType_TextTrack.kt | 8 +- .../margelo/nitro/video/VideoInformation.kt | 8 +- .../margelo/nitro/video/VideoOrientation.kt | 4 +- .../margelo/nitro/video/VideoPlayerStatus.kt | 4 +- .../com/margelo/nitro/video/onLoadData.kt | 4 +- .../margelo/nitro/video/onLoadStartData.kt | 4 +- .../nitro/video/onPlaybackStateChangeData.kt | 4 +- .../com/margelo/nitro/video/onProgressData.kt | 4 +- .../margelo/nitro/video/onVolumeChangeData.kt | 4 +- .../ios/ReactNativeVideo+autolinking.rb | 4 +- .../ios/ReactNativeVideo-Swift-Cxx-Bridge.cpp | 2 +- .../ios/ReactNativeVideo-Swift-Cxx-Bridge.hpp | 36 +-- .../ReactNativeVideo-Swift-Cxx-Umbrella.hpp | 2 +- .../ios/ReactNativeVideoAutolinking.mm | 2 +- .../ios/ReactNativeVideoAutolinking.swift | 39 ++- ...HybridVideoPlayerEventEmitterSpecSwift.cpp | 2 +- ...HybridVideoPlayerEventEmitterSpecSwift.hpp | 8 +- .../c++/HybridVideoPlayerFactorySpecSwift.cpp | 2 +- .../c++/HybridVideoPlayerFactorySpecSwift.hpp | 8 +- ...ybridVideoPlayerSourceFactorySpecSwift.cpp | 2 +- ...ybridVideoPlayerSourceFactorySpecSwift.hpp | 8 +- .../c++/HybridVideoPlayerSourceSpecSwift.cpp | 2 +- .../c++/HybridVideoPlayerSourceSpecSwift.hpp | 8 +- .../ios/c++/HybridVideoPlayerSpecSwift.cpp | 2 +- .../ios/c++/HybridVideoPlayerSpecSwift.hpp | 8 +- ...idVideoViewViewManagerFactorySpecSwift.cpp | 2 +- ...idVideoViewViewManagerFactorySpecSwift.hpp | 8 +- .../HybridVideoViewViewManagerSpecSwift.cpp | 2 +- .../HybridVideoViewViewManagerSpecSwift.hpp | 8 +- .../generated/ios/swift/BandwidthData.swift | 59 ++-- .../generated/ios/swift/BufferConfig.swift | 235 +++++--------- .../ios/swift/CustomVideoMetadata.swift | 153 +++------- ..._std__string_____OnGetLicensePayload.swift | 3 +- .../generated/ios/swift/Func_void.swift | 3 +- .../ios/swift/Func_void_BandwidthData.swift | 3 +- .../ios/swift/Func_void_TimedMetadata.swift | 3 +- .../swift/Func_void_VideoInformation.swift | 3 +- .../swift/Func_void_VideoPlayerStatus.swift | 3 +- .../generated/ios/swift/Func_void_bool.swift | 3 +- .../ios/swift/Func_void_double.swift | 3 +- .../ios/swift/Func_void_onLoadData.swift | 3 +- .../ios/swift/Func_void_onLoadStartData.swift | 3 +- .../Func_void_onPlaybackStateChangeData.swift | 3 +- .../ios/swift/Func_void_onProgressData.swift | 3 +- .../swift/Func_void_onVolumeChangeData.swift | 3 +- .../swift/Func_void_std__exception_ptr.swift | 3 +- ...variant_nitro__NullType__TextTrack__.swift | 3 +- ...td__shared_ptr_Promise_std__string__.swift | 3 +- .../ios/swift/Func_void_std__string.swift | 3 +- .../Func_void_std__vector_std__string_.swift | 3 +- .../HybridVideoPlayerEventEmitterSpec.swift | 7 +- ...ybridVideoPlayerEventEmitterSpec_cxx.swift | 11 +- .../swift/HybridVideoPlayerFactorySpec.swift | 7 +- .../HybridVideoPlayerFactorySpec_cxx.swift | 13 +- .../HybridVideoPlayerSourceFactorySpec.swift | 7 +- ...bridVideoPlayerSourceFactorySpec_cxx.swift | 11 +- .../swift/HybridVideoPlayerSourceSpec.swift | 7 +- .../HybridVideoPlayerSourceSpec_cxx.swift | 11 +- .../ios/swift/HybridVideoPlayerSpec.swift | 7 +- .../ios/swift/HybridVideoPlayerSpec_cxx.swift | 13 +- ...ybridVideoViewViewManagerFactorySpec.swift | 7 +- ...dVideoViewViewManagerFactorySpec_cxx.swift | 11 +- .../HybridVideoViewViewManagerSpec.swift | 7 +- .../HybridVideoViewViewManagerSpec_cxx.swift | 13 +- .../ios/swift/IgnoreSilentSwitchMode.swift | 2 +- .../ios/swift/ListenerSubscription.swift | 26 +- .../ios/swift/LivePlaybackParams.swift | 118 +++---- .../generated/ios/swift/MixAudioMode.swift | 2 +- .../generated/ios/swift/NativeDrmParams.swift | 288 ++++++------------ .../ios/swift/NativeExternalSubtitle.swift | 43 +-- .../ios/swift/NativeVideoConfig.swift | 179 +++-------- .../ios/swift/OnGetLicensePayload.swift | 43 +-- .../generated/ios/swift/ResizeMode.swift | 2 +- .../generated/ios/swift/Resolution.swift | 23 +- .../generated/ios/swift/SourceType.swift | 2 +- .../generated/ios/swift/SubtitleType.swift | 2 +- .../generated/ios/swift/SurfaceType.swift | 2 +- .../generated/ios/swift/TextTrack.swift | 63 +--- .../generated/ios/swift/TimedMetadata.swift | 19 +- .../ios/swift/TimedMetadataObject.swift | 23 +- .../swift/Variant_NullType_TextTrack.swift | 2 +- ...pe__any_HybridVideoPlayerSourceSpec_.swift | 2 +- .../ios/swift/VideoInformation.swift | 87 ++---- .../ios/swift/VideoOrientation.swift | 2 +- .../ios/swift/VideoPlayerStatus.swift | 2 +- .../generated/ios/swift/onLoadData.swift | 53 +--- .../generated/ios/swift/onLoadStartData.swift | 34 +-- .../ios/swift/onPlaybackStateChangeData.swift | 23 +- .../generated/ios/swift/onProgressData.swift | 23 +- .../ios/swift/onVolumeChangeData.swift | 23 +- .../generated/shared/c++/BandwidthData.hpp | 30 +- .../generated/shared/c++/BufferConfig.hpp | 78 ++--- .../shared/c++/CustomVideoMetadata.hpp | 42 +-- .../c++/HybridVideoPlayerEventEmitterSpec.cpp | 2 +- .../c++/HybridVideoPlayerEventEmitterSpec.hpp | 2 +- .../c++/HybridVideoPlayerFactorySpec.cpp | 2 +- .../c++/HybridVideoPlayerFactorySpec.hpp | 2 +- .../HybridVideoPlayerSourceFactorySpec.cpp | 2 +- .../HybridVideoPlayerSourceFactorySpec.hpp | 2 +- .../c++/HybridVideoPlayerSourceSpec.cpp | 2 +- .../c++/HybridVideoPlayerSourceSpec.hpp | 2 +- .../shared/c++/HybridVideoPlayerSpec.cpp | 2 +- .../shared/c++/HybridVideoPlayerSpec.hpp | 2 +- .../HybridVideoViewViewManagerFactorySpec.cpp | 2 +- .../HybridVideoViewViewManagerFactorySpec.hpp | 2 +- .../c++/HybridVideoViewViewManagerSpec.cpp | 2 +- .../c++/HybridVideoViewViewManagerSpec.hpp | 2 +- .../shared/c++/IgnoreSilentSwitchMode.hpp | 2 +- .../shared/c++/ListenerSubscription.hpp | 18 +- .../shared/c++/LivePlaybackParams.hpp | 42 +-- .../generated/shared/c++/MixAudioMode.hpp | 2 +- .../generated/shared/c++/NativeDrmParams.hpp | 54 ++-- .../shared/c++/NativeExternalSubtitle.hpp | 36 ++- .../shared/c++/NativeVideoConfig.hpp | 54 ++-- .../shared/c++/OnGetLicensePayload.hpp | 36 ++- .../generated/shared/c++/ResizeMode.hpp | 2 +- .../generated/shared/c++/Resolution.hpp | 24 +- .../generated/shared/c++/SourceType.hpp | 2 +- .../generated/shared/c++/SubtitleType.hpp | 2 +- .../generated/shared/c++/SurfaceType.hpp | 2 +- .../generated/shared/c++/TextTrack.hpp | 36 ++- .../generated/shared/c++/TimedMetadata.hpp | 18 +- .../shared/c++/TimedMetadataObject.hpp | 24 +- .../generated/shared/c++/VideoInformation.hpp | 64 ++-- .../generated/shared/c++/VideoOrientation.hpp | 2 +- .../shared/c++/VideoPlayerStatus.hpp | 2 +- .../generated/shared/c++/onLoadData.hpp | 42 +-- .../generated/shared/c++/onLoadStartData.hpp | 24 +- .../shared/c++/onPlaybackStateChangeData.hpp | 24 +- .../generated/shared/c++/onProgressData.hpp | 24 +- .../shared/c++/onVolumeChangeData.hpp | 24 +- packages/react-native-video/package.json | 6 +- .../src/core/types/VideoInformation.ts | 9 +- 267 files changed, 2066 insertions(+), 2523 deletions(-) delete mode 100644 example/patches/nitrogen+0.31.10.patch delete mode 100644 example/patches/react-native-nitro-modules+0.26.2.patch.old delete mode 100644 example/patches/react-native-nitro-modules+0.31.10.patch diff --git a/bun.lock b/bun.lock index c2d0d840..336b1a27 100644 --- a/bun.lock +++ b/bun.lock @@ -1,5 +1,6 @@ { "lockfileVersion": 1, + "configVersion": 0, "workspaces": { "": { "name": "react-native-video-monorepo", @@ -55,13 +56,13 @@ }, "example": { "name": "react-native-video-example", - "version": "7.0.0-beta.2", + "version": "7.0.0-beta.6", "dependencies": { "@react-native-community/slider": "^4.5.6", "@react-native-video/drm": "*", "react": "18.3.1", "react-native": "^0.77.0", - "react-native-nitro-modules": "^0.31.0", + "react-native-nitro-modules": "0.35.0", "react-native-video": "*", }, "devDependencies": { @@ -83,7 +84,7 @@ }, "packages/drm-plugin": { "name": "@react-native-video/drm", - "version": "7.0.0-beta.2", + "version": "7.0.0-beta.6", "devDependencies": { "@react-native/babel-preset": "0.79.2", "@release-it/conventional-changelog": "^9.0.2", @@ -92,12 +93,12 @@ "eslint": "^8.51.0", "eslint-config-prettier": "9.0.0", "eslint-plugin-prettier": "^5.0.1", - "nitrogen": "^0.31.0", + "nitrogen": "0.35.0", "prettier": "^3.0.3", "react": "18.3.1", "react-native": "^0.77.0", "react-native-builder-bob": "^0.40.13", - "react-native-nitro-modules": "^0.31.0", + "react-native-nitro-modules": "0.35.0", "react-native-video": "*", "release-it": "^17.10.0", "typescript": "^5.8.3", @@ -111,7 +112,7 @@ }, "packages/react-native-video": { "name": "react-native-video", - "version": "7.0.0-beta.2", + "version": "7.0.0-beta.6", "devDependencies": { "@expo/config-plugins": "^10.0.2", "@react-native/eslint-config": "^0.77.0", @@ -120,12 +121,12 @@ "eslint": "^8.51.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-prettier": "^5.0.1", - "nitrogen": "^0.31.0", + "nitrogen": "0.35.0", "prettier": "^3.0.3", "react": "18.3.1", "react-native": "^0.77.0", "react-native-builder-bob": "^0.40.0", - "react-native-nitro-modules": "^0.31.0", + "react-native-nitro-modules": "0.35.0", "typescript": "^5.2.2", }, "peerDependencies": { @@ -2702,7 +2703,7 @@ "new-github-release-url": ["new-github-release-url@2.0.0", "", { "dependencies": { "type-fest": "^2.5.1" } }, "sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ=="], - "nitrogen": ["nitrogen@0.31.10", "", { "dependencies": { "chalk": "^5.3.0", "react-native-nitro-modules": "^0.31.10", "ts-morph": "^27.0.0", "yargs": "^18.0.0", "zod": "^4.0.5" }, "bin": { "nitrogen": "lib/index.js" } }, "sha512-Z77c1lj4IeyCigxiO59fW4fnHgfvOZvksTTwfESAJBnHG2DnS28VQ2oCAWL+fPIEvMozLFi+cRyTQu63eJMCSA=="], + "nitrogen": ["nitrogen@0.35.0", "", { "dependencies": { "chalk": "^5.3.0", "react-native-nitro-modules": "^0.35.0", "ts-morph": "^27.0.0", "yargs": "^18.0.0", "zod": "^4.0.5" }, "bin": { "nitrogen": "lib/index.js" } }, "sha512-K8/4h9bCQahi3qEheWZx5joLFsAW3QjK0dVSC3gNLlQhlSJN42UFmffAouOZXYjg9rBDpVlrVo+Hsja45swsJQ=="], "no-case": ["no-case@3.0.4", "", { "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" } }, "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg=="], @@ -3082,7 +3083,7 @@ "react-native-monorepo-config": ["react-native-monorepo-config@0.1.10", "", { "dependencies": { "escape-string-regexp": "^5.0.0", "fast-glob": "^3.3.3" } }, "sha512-v0rlaLZiCUg95Mpw6xNRQce5k9yio0qscKjNQaPtFYMNL75YugS2UPUItIPLIRbZubK+s2/LRzBjX+mdyUgh4g=="], - "react-native-nitro-modules": ["react-native-nitro-modules@0.31.10", "", { "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-hcvjTu9YJE9fMmnAUvhG8CxvYLpOuMQ/2eyi/S6GyrecezF6Rmk/uRQEL6v09BRFWA/xRVZNQVulQPS+2HS3mQ=="], + "react-native-nitro-modules": ["react-native-nitro-modules@0.35.0", "", { "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-Eho1yEcLbsteGpBFn2XZOp5FIptnEciWzuYBW49S0jo41Un2LeyesIO/MqYLY/c5o7D9Fw9th4pxGtV7OAb0+g=="], "react-native-video": ["react-native-video@workspace:packages/react-native-video"], diff --git a/docs/docs/fundamentals/installation.md b/docs/docs/fundamentals/installation.md index 775a4192..d8588418 100644 --- a/docs/docs/fundamentals/installation.md +++ b/docs/docs/fundamentals/installation.md @@ -15,7 +15,7 @@ React Native Video is a library that allows you to play various kinds of video i ### Minimal Package Requirements - `react-native` `0.75.0` or higher -- `react-native-nitro-modules` `0.27.2` or higher +- `react-native-nitro-modules` `0.35.0` or higher ## Installation @@ -63,7 +63,7 @@ Without this patch you won't be able "recognize" errors, all will be thrown as u :::
- For `react-native-nitro-modules` 0.27.X or higher + Patch for `react-native-nitro-modules` ```diff diff --git a/node_modules/react-native-nitro-modules/cpp/core/HybridFunction.hpp b/node_modules/react-native-nitro-modules/cpp/core/HybridFunction.hpp diff --git a/example/package.json b/example/package.json index 42371f70..4e12fd24 100644 --- a/example/package.json +++ b/example/package.json @@ -15,7 +15,7 @@ "@react-native-community/slider": "^4.5.6", "react": "18.3.1", "react-native": "^0.77.0", - "react-native-nitro-modules": "^0.31.0", + "react-native-nitro-modules": "0.35.0", "react-native-video": "*", "@react-native-video/drm": "*" }, diff --git a/example/patches/nitrogen+0.31.10.patch b/example/patches/nitrogen+0.31.10.patch deleted file mode 100644 index 189707de..00000000 --- a/example/patches/nitrogen+0.31.10.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/node_modules/nitrogen/src/syntax/swift/SwiftCxxBridgedType.ts b/node_modules/nitrogen/src/syntax/swift/SwiftCxxBridgedType.ts -index a1761b4..b79abb6 100644 ---- a/node_modules/nitrogen/src/syntax/swift/SwiftCxxBridgedType.ts -+++ b/node_modules/nitrogen/src/syntax/swift/SwiftCxxBridgedType.ts -@@ -452,7 +452,12 @@ export class SwiftCxxBridgedType implements BridgedType<'swift', 'c++'> { - // TODO: Remove this check for booleans once https://github.com/swiftlang/swift/issues/84848 is fixed. - const swiftBug84848Workaround = - optional.wrappingType.kind === 'boolean' -- if (!wrapping.needsSpecialHandling && !swiftBug84848Workaround) { -+ -+ // TODO: Remove this check for numbers once the Swift bug is fixed. -+ const swiftNumberWorkaround = -+ optional.wrappingType.kind === 'number' -+ -+ if (!wrapping.needsSpecialHandling && !swiftBug84848Workaround && !swiftNumberWorkaround) { - return `${cppParameterName}.value` - } - return ` diff --git a/example/patches/react-native-nitro-modules+0.26.2.patch.old b/example/patches/react-native-nitro-modules+0.26.2.patch.old deleted file mode 100644 index f4c5027a..00000000 --- a/example/patches/react-native-nitro-modules+0.26.2.patch.old +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/node_modules/react-native-nitro-modules/cpp/core/HybridFunction.hpp b/node_modules/react-native-nitro-modules/cpp/core/HybridFunction.hpp -index aefd987..c2e06fb 100644 ---- a/node_modules/react-native-nitro-modules/cpp/core/HybridFunction.hpp -+++ b/node_modules/react-native-nitro-modules/cpp/core/HybridFunction.hpp -@@ -23,6 +23,10 @@ struct JSIConverter; - #include - #include - -+#ifdef ANDROID -+#include -+#endif -+ - namespace margelo::nitro { - - using namespace facebook; -@@ -118,6 +122,10 @@ public: - std::string funcName = getHybridFuncFullName(kind, name, hybridInstance.get()); - std::string message = exception.what(); - throw jsi::JSError(runtime, funcName + ": " + message); -+ } catch (const jni::JniException& exception) { -+ std::string funcName = getHybridFuncFullName(kind, name, hybridInstance.get()); -+ std::string message = exception.what(); -+ throw jsi::JSError(runtime, funcName + ": " + message); - #pragma clang diagnostic pop - #endif - } catch (...) { diff --git a/example/patches/react-native-nitro-modules+0.31.10.patch b/example/patches/react-native-nitro-modules+0.31.10.patch deleted file mode 100644 index 0a0d72cf..00000000 --- a/example/patches/react-native-nitro-modules+0.31.10.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/node_modules/react-native-nitro-modules/cpp/core/HybridFunction.hpp b/node_modules/react-native-nitro-modules/cpp/core/HybridFunction.hpp -index efcea05..ffad3f2 100644 ---- a/node_modules/react-native-nitro-modules/cpp/core/HybridFunction.hpp -+++ b/node_modules/react-native-nitro-modules/cpp/core/HybridFunction.hpp -@@ -23,6 +23,10 @@ struct JSIConverter; - #include - #include - -+#ifdef ANDROID -+#include -+#endif -+ - namespace margelo::nitro { - - using namespace facebook; -@@ -109,6 +113,15 @@ public: - std::string funcName = getHybridFuncFullName(kind, name, hybridInstance.get()); - std::string message = exception.what(); - throw jsi::JSError(runtime, funcName + ": " + message); -+#ifdef ANDROID -+#pragma clang diagnostic push -+#pragma clang diagnostic ignored "-Wexceptions" -+ } catch (const jni::JniException& exception) { -+ std::string funcName = getHybridFuncFullName(kind, name, hybridInstance.get()); -+ std::string message = exception.what(); -+ throw jsi::JSError(runtime, funcName + ": " + message); -+#pragma clang diagnostic pop -+#endif - } catch (...) { - // Some unknown exception was thrown - add method name information and re-throw as `JSError`. - std::string funcName = getHybridFuncFullName(kind, name, hybridInstance.get()); diff --git a/packages/drm-plugin/README.md b/packages/drm-plugin/README.md index a4b36958..6aafb1cb 100644 --- a/packages/drm-plugin/README.md +++ b/packages/drm-plugin/README.md @@ -5,7 +5,7 @@ DRM plugin for react-native-video. It adds Widevine (Android) and FairPlay (iOS, ## Requirements - react-native-video >= 7.0.0-alpha.3 -- react-native-nitro-modules >= 0.27.2 +- react-native-nitro-modules >= 0.35.0 ## Installation diff --git a/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrm+autolinking.cmake b/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrm+autolinking.cmake index 523755d1..4fc12313 100644 --- a/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrm+autolinking.cmake +++ b/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrm+autolinking.cmake @@ -2,7 +2,7 @@ # ReactNativeVideoDrm+autolinking.cmake # This file was generated by nitrogen. DO NOT MODIFY THIS FILE. # https://github.com/mrousavy/nitro -# Copyright © 2025 Marc Rousavy @ Margelo +# Copyright © Marc Rousavy @ Margelo # # This is a CMake file that adds all files generated by Nitrogen diff --git a/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrm+autolinking.gradle b/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrm+autolinking.gradle index 2fda2208..957680ce 100644 --- a/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrm+autolinking.gradle +++ b/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrm+autolinking.gradle @@ -2,7 +2,7 @@ /// ReactNativeVideoDrm+autolinking.gradle /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// /// This is a Gradle file that adds all files generated by Nitrogen diff --git a/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrmOnLoad.cpp b/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrmOnLoad.cpp index af086b67..ddaf2773 100644 --- a/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrmOnLoad.cpp +++ b/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrmOnLoad.cpp @@ -2,7 +2,7 @@ /// ReactNativeVideoDrmOnLoad.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #ifndef BUILDING_REACTNATIVEVIDEODRM_WITH_GENERATED_CMAKE_PROJECT @@ -21,24 +21,34 @@ namespace margelo::nitro::videodrm { int initialize(JavaVM* vm) { - using namespace margelo::nitro; - using namespace margelo::nitro::videodrm; - using namespace facebook; - - return facebook::jni::initialize(vm, [] { - // Register native JNI methods - margelo::nitro::videodrm::JHybridPluginManagerSpec::registerNatives(); - - // Register Nitro Hybrid Objects - HybridObjectRegistry::registerHybridObjectConstructor( - "PluginManager", - []() -> std::shared_ptr { - static DefaultConstructableObject object("com/margelo/nitro/videodrm/PluginManager"); - auto instance = object.create(); - return instance->cthis()->shared(); - } - ); + return facebook::jni::initialize(vm, []() { + ::margelo::nitro::videodrm::registerAllNatives(); }); } +struct JHybridPluginManagerSpecImpl: public jni::JavaClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/videodrm/PluginManager;"; + static std::shared_ptr create() { + static auto constructorFn = javaClassStatic()->getConstructor(); + jni::local_ref javaPart = javaClassStatic()->newObject(constructorFn); + return javaPart->getJHybridPluginManagerSpec(); + } +}; + +void registerAllNatives() { + using namespace margelo::nitro; + using namespace margelo::nitro::videodrm; + + // Register native JNI methods + margelo::nitro::videodrm::JHybridPluginManagerSpec::CxxPart::registerNatives(); + + // Register Nitro Hybrid Objects + HybridObjectRegistry::registerHybridObjectConstructor( + "PluginManager", + []() -> std::shared_ptr { + return JHybridPluginManagerSpecImpl::create(); + } + ); +} + } // namespace margelo::nitro::videodrm diff --git a/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrmOnLoad.hpp b/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrmOnLoad.hpp index 718d0412..e396b529 100644 --- a/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrmOnLoad.hpp +++ b/packages/drm-plugin/nitrogen/generated/android/ReactNativeVideoDrmOnLoad.hpp @@ -2,24 +2,33 @@ /// ReactNativeVideoDrmOnLoad.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include +#include #include namespace margelo::nitro::videodrm { + [[deprecated("Use registerNatives() instead.")]] + int initialize(JavaVM* vm); + /** - * Initializes the native (C++) part of ReactNativeVideoDrm, and autolinks all Hybrid Objects. - * Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`). + * Register the native (C++) part of ReactNativeVideoDrm, and autolinks all Hybrid Objects. + * Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`), + * inside a `facebook::jni::initialize(vm, ...)` call. * Example: * ```cpp (cpp-adapter.cpp) * JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) { - * return margelo::nitro::videodrm::initialize(vm); + * return facebook::jni::initialize(vm, []() { + * // register all ReactNativeVideoDrm HybridObjects + * margelo::nitro::videodrm::registerNatives(); + * // any other custom registrations go here. + * }); * } * ``` */ - int initialize(JavaVM* vm); + void registerAllNatives(); } // namespace margelo::nitro::videodrm diff --git a/packages/drm-plugin/nitrogen/generated/android/c++/JHybridPluginManagerSpec.cpp b/packages/drm-plugin/nitrogen/generated/android/c++/JHybridPluginManagerSpec.cpp index 8926322d..c697200f 100644 --- a/packages/drm-plugin/nitrogen/generated/android/c++/JHybridPluginManagerSpec.cpp +++ b/packages/drm-plugin/nitrogen/generated/android/c++/JHybridPluginManagerSpec.cpp @@ -2,7 +2,7 @@ /// JHybridPluginManagerSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "JHybridPluginManagerSpec.hpp" @@ -13,46 +13,47 @@ namespace margelo::nitro::videodrm { - jni::local_ref JHybridPluginManagerSpec::initHybrid(jni::alias_ref jThis) { + std::shared_ptr JHybridPluginManagerSpec::JavaPart::getJHybridPluginManagerSpec() { + auto hybridObject = JHybridObject::JavaPart::getJHybridObject(); + auto castHybridObject = std::dynamic_pointer_cast(hybridObject); + if (castHybridObject == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to downcast JHybridObject to JHybridPluginManagerSpec!"); + } + return castHybridObject; + } + + jni::local_ref JHybridPluginManagerSpec::CxxPart::initHybrid(jni::alias_ref jThis) { return makeCxxInstance(jThis); } - void JHybridPluginManagerSpec::registerNatives() { + std::shared_ptr JHybridPluginManagerSpec::CxxPart::createHybridObject(const jni::local_ref& javaPart) { + auto castJavaPart = jni::dynamic_ref_cast(javaPart); + if (castJavaPart == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridPluginManagerSpec::JavaPart!"); + } + return std::make_shared(castJavaPart); + } + + void JHybridPluginManagerSpec::CxxPart::registerNatives() { registerHybrid({ - makeNativeMethod("initHybrid", JHybridPluginManagerSpec::initHybrid), + makeNativeMethod("initHybrid", JHybridPluginManagerSpec::CxxPart::initHybrid), }); } - size_t JHybridPluginManagerSpec::getExternalMemorySize() noexcept { - static const auto method = javaClassStatic()->getMethod("getMemorySize"); - return method(_javaPart); - } - - void JHybridPluginManagerSpec::dispose() noexcept { - static const auto method = javaClassStatic()->getMethod("dispose"); - method(_javaPart); - } - - std::string JHybridPluginManagerSpec::toString() { - static const auto method = javaClassStatic()->getMethod("toString"); - auto javaString = method(_javaPart); - return javaString->toStdString(); - } - // Properties bool JHybridPluginManagerSpec::getIsEnabled() { - static const auto method = javaClassStatic()->getMethod("isEnabled"); + static const auto method = _javaPart->javaClassStatic()->getMethod("isEnabled"); auto __result = method(_javaPart); return static_cast(__result); } // Methods void JHybridPluginManagerSpec::enable() { - static const auto method = javaClassStatic()->getMethod("enable"); + static const auto method = _javaPart->javaClassStatic()->getMethod("enable"); method(_javaPart); } void JHybridPluginManagerSpec::disable() { - static const auto method = javaClassStatic()->getMethod("disable"); + static const auto method = _javaPart->javaClassStatic()->getMethod("disable"); method(_javaPart); } diff --git a/packages/drm-plugin/nitrogen/generated/android/c++/JHybridPluginManagerSpec.hpp b/packages/drm-plugin/nitrogen/generated/android/c++/JHybridPluginManagerSpec.hpp index 31372eb8..fe46fa62 100644 --- a/packages/drm-plugin/nitrogen/generated/android/c++/JHybridPluginManagerSpec.hpp +++ b/packages/drm-plugin/nitrogen/generated/android/c++/JHybridPluginManagerSpec.hpp @@ -2,7 +2,7 @@ /// HybridPluginManagerSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -18,33 +18,33 @@ namespace margelo::nitro::videodrm { using namespace facebook; - class JHybridPluginManagerSpec: public jni::HybridClass, - public virtual HybridPluginManagerSpec { + class JHybridPluginManagerSpec: public virtual HybridPluginManagerSpec, public virtual JHybridObject { public: - static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/videodrm/HybridPluginManagerSpec;"; - static jni::local_ref initHybrid(jni::alias_ref jThis); - static void registerNatives(); + struct JavaPart: public jni::JavaClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/videodrm/HybridPluginManagerSpec;"; + std::shared_ptr getJHybridPluginManagerSpec(); + }; + struct CxxPart: public jni::HybridClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/videodrm/HybridPluginManagerSpec$CxxPart;"; + static jni::local_ref initHybrid(jni::alias_ref jThis); + static void registerNatives(); + using HybridBase::HybridBase; + protected: + std::shared_ptr createHybridObject(const jni::local_ref& javaPart) override; + }; - protected: - // C++ constructor (called from Java via `initHybrid()`) - explicit JHybridPluginManagerSpec(jni::alias_ref jThis) : + public: + explicit JHybridPluginManagerSpec(const jni::local_ref& javaPart): HybridObject(HybridPluginManagerSpec::TAG), - HybridBase(jThis), - _javaPart(jni::make_global(jThis)) {} - - public: + JHybridObject(javaPart), + _javaPart(jni::make_global(javaPart)) {} ~JHybridPluginManagerSpec() override { // Hermes GC can destroy JS objects on a non-JNI Thread. jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); }); } public: - size_t getExternalMemorySize() noexcept override; - void dispose() noexcept override; - std::string toString() override; - - public: - inline const jni::global_ref& getJavaPart() const noexcept { + inline const jni::global_ref& getJavaPart() const noexcept { return _javaPart; } @@ -58,9 +58,7 @@ namespace margelo::nitro::videodrm { void disable() override; private: - friend HybridBase; - using HybridBase::HybridBase; - jni::global_ref _javaPart; + jni::global_ref _javaPart; }; } // namespace margelo::nitro::videodrm diff --git a/packages/drm-plugin/nitrogen/generated/android/kotlin/com/margelo/nitro/videodrm/HybridPluginManagerSpec.kt b/packages/drm-plugin/nitrogen/generated/android/kotlin/com/margelo/nitro/videodrm/HybridPluginManagerSpec.kt index 3657adec..4b7af321 100644 --- a/packages/drm-plugin/nitrogen/generated/android/kotlin/com/margelo/nitro/videodrm/HybridPluginManagerSpec.kt +++ b/packages/drm-plugin/nitrogen/generated/android/kotlin/com/margelo/nitro/videodrm/HybridPluginManagerSpec.kt @@ -2,7 +2,7 @@ /// HybridPluginManagerSpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.videodrm @@ -24,23 +24,6 @@ import com.margelo.nitro.core.HybridObject "LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName" ) abstract class HybridPluginManagerSpec: HybridObject() { - @DoNotStrip - private var mHybridData: HybridData = initHybrid() - - init { - super.updateNative(mHybridData) - } - - override fun updateNative(hybridData: HybridData) { - mHybridData = hybridData - super.updateNative(hybridData) - } - - // Default implementation of `HybridObject.toString()` - override fun toString(): String { - return "[HybridObject PluginManager]" - } - // Properties @get:DoNotStrip @get:Keep @@ -55,7 +38,21 @@ abstract class HybridPluginManagerSpec: HybridObject() { @Keep abstract fun disable(): Unit - private external fun initHybrid(): HybridData + // Default implementation of `HybridObject.toString()` + override fun toString(): String { + return "[HybridObject PluginManager]" + } + + // C++ backing class + @DoNotStrip + @Keep + protected open class CxxPart(javaPart: HybridPluginManagerSpec): HybridObject.CxxPart(javaPart) { + // C++ JHybridPluginManagerSpec::CxxPart::initHybrid(...) + external override fun initHybrid(): HybridData + } + override fun createCxxPart(): CxxPart { + return CxxPart(this) + } companion object { protected const val TAG = "HybridPluginManagerSpec" diff --git a/packages/drm-plugin/nitrogen/generated/android/kotlin/com/margelo/nitro/videodrm/ReactNativeVideoDrmOnLoad.kt b/packages/drm-plugin/nitrogen/generated/android/kotlin/com/margelo/nitro/videodrm/ReactNativeVideoDrmOnLoad.kt index 8611c078..9e30783a 100644 --- a/packages/drm-plugin/nitrogen/generated/android/kotlin/com/margelo/nitro/videodrm/ReactNativeVideoDrmOnLoad.kt +++ b/packages/drm-plugin/nitrogen/generated/android/kotlin/com/margelo/nitro/videodrm/ReactNativeVideoDrmOnLoad.kt @@ -2,7 +2,7 @@ /// ReactNativeVideoDrmOnLoad.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.videodrm diff --git a/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm+autolinking.rb b/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm+autolinking.rb index d0d61646..c0335e18 100644 --- a/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm+autolinking.rb +++ b/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm+autolinking.rb @@ -2,7 +2,7 @@ # ReactNativeVideoDrm+autolinking.rb # This file was generated by nitrogen. DO NOT MODIFY THIS FILE. # https://github.com/mrousavy/nitro -# Copyright © 2025 Marc Rousavy @ Margelo +# Copyright © Marc Rousavy @ Margelo # # This is a Ruby script that adds all files generated by Nitrogen @@ -52,7 +52,7 @@ def add_nitrogen_files(spec) spec.pod_target_xcconfig = current_pod_target_xcconfig.merge({ # Use C++ 20 "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", - # Enables C++ <-> Swift interop (by default it's only C) + # Enables C++ <-> Swift interop (by default it's only ObjC) "SWIFT_OBJC_INTEROP_MODE" => "objcxx", # Enables stricter modular headers "DEFINES_MODULE" => "YES", diff --git a/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm-Swift-Cxx-Bridge.cpp b/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm-Swift-Cxx-Bridge.cpp index 22d47811..b2b58b4b 100644 --- a/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm-Swift-Cxx-Bridge.cpp +++ b/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm-Swift-Cxx-Bridge.cpp @@ -2,7 +2,7 @@ /// ReactNativeVideoDrm-Swift-Cxx-Bridge.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "ReactNativeVideoDrm-Swift-Cxx-Bridge.hpp" diff --git a/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm-Swift-Cxx-Bridge.hpp b/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm-Swift-Cxx-Bridge.hpp index 905931b2..020c5184 100644 --- a/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm-Swift-Cxx-Bridge.hpp +++ b/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm-Swift-Cxx-Bridge.hpp @@ -2,7 +2,7 @@ /// ReactNativeVideoDrm-Swift-Cxx-Bridge.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm-Swift-Cxx-Umbrella.hpp b/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm-Swift-Cxx-Umbrella.hpp index 0dbec1a9..57f89e34 100644 --- a/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm-Swift-Cxx-Umbrella.hpp +++ b/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrm-Swift-Cxx-Umbrella.hpp @@ -2,7 +2,7 @@ /// ReactNativeVideoDrm-Swift-Cxx-Umbrella.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrmAutolinking.mm b/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrmAutolinking.mm index a28fbe6d..cf4f34ce 100644 --- a/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrmAutolinking.mm +++ b/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrmAutolinking.mm @@ -2,7 +2,7 @@ /// ReactNativeVideoDrmAutolinking.mm /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #import diff --git a/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrmAutolinking.swift b/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrmAutolinking.swift index f654b80e..93e37885 100644 --- a/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrmAutolinking.swift +++ b/packages/drm-plugin/nitrogen/generated/ios/ReactNativeVideoDrmAutolinking.swift @@ -2,19 +2,16 @@ /// ReactNativeVideoDrmAutolinking.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// +import NitroModules + +// TODO: Use empty enums once Swift supports exporting them as namespaces +// See: https://github.com/swiftlang/swift/pull/83616 public final class ReactNativeVideoDrmAutolinking { public typealias bridge = margelo.nitro.videodrm.bridge.swift - /** - * Creates an instance of a Swift class that implements `HybridPluginManagerSpec`, - * and wraps it in a Swift class that can directly interop with C++ (`HybridPluginManagerSpec_cxx`) - * - * This is generated by Nitrogen and will initialize the class specified - * in the `"autolinking"` property of `nitro.json` (in this case, `PluginManager`). - */ public static func createPluginManager() -> bridge.std__shared_ptr_HybridPluginManagerSpec_ { let hybridObject = PluginManager() return { () -> bridge.std__shared_ptr_HybridPluginManagerSpec_ in @@ -22,4 +19,8 @@ public final class ReactNativeVideoDrmAutolinking { return __cxxWrapped.getCxxPart() }() } + + public static func isPluginManagerRecyclable() -> Bool { + return PluginManager.self is any RecyclableView.Type + } } diff --git a/packages/drm-plugin/nitrogen/generated/ios/c++/HybridPluginManagerSpecSwift.cpp b/packages/drm-plugin/nitrogen/generated/ios/c++/HybridPluginManagerSpecSwift.cpp index 609dc66a..436b0678 100644 --- a/packages/drm-plugin/nitrogen/generated/ios/c++/HybridPluginManagerSpecSwift.cpp +++ b/packages/drm-plugin/nitrogen/generated/ios/c++/HybridPluginManagerSpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridPluginManagerSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridPluginManagerSpecSwift.hpp" diff --git a/packages/drm-plugin/nitrogen/generated/ios/c++/HybridPluginManagerSpecSwift.hpp b/packages/drm-plugin/nitrogen/generated/ios/c++/HybridPluginManagerSpecSwift.hpp index 0683ef30..3c3a8ad8 100644 --- a/packages/drm-plugin/nitrogen/generated/ios/c++/HybridPluginManagerSpecSwift.hpp +++ b/packages/drm-plugin/nitrogen/generated/ios/c++/HybridPluginManagerSpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridPluginManagerSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -47,6 +47,12 @@ namespace margelo::nitro::videodrm { inline size_t getExternalMemorySize() noexcept override { return _swiftPart.getMemorySize(); } + bool equals(const std::shared_ptr& other) override { + if (auto otherCast = std::dynamic_pointer_cast(other)) { + return _swiftPart.equals(otherCast->_swiftPart); + } + return false; + } void dispose() noexcept override { _swiftPart.dispose(); } diff --git a/packages/drm-plugin/nitrogen/generated/ios/swift/HybridPluginManagerSpec.swift b/packages/drm-plugin/nitrogen/generated/ios/swift/HybridPluginManagerSpec.swift index 0960e0eb..7795598b 100644 --- a/packages/drm-plugin/nitrogen/generated/ios/swift/HybridPluginManagerSpec.swift +++ b/packages/drm-plugin/nitrogen/generated/ios/swift/HybridPluginManagerSpec.swift @@ -2,10 +2,9 @@ /// HybridPluginManagerSpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /// See ``HybridPluginManagerSpec`` @@ -31,14 +30,14 @@ open class HybridPluginManagerSpec_base { public init() { } public func getCxxWrapper() -> HybridPluginManagerSpec_cxx { #if DEBUG - guard self is HybridPluginManagerSpec else { + guard self is any HybridPluginManagerSpec else { fatalError("`self` is not a `HybridPluginManagerSpec`! Did you accidentally inherit from `HybridPluginManagerSpec_base` instead of `HybridPluginManagerSpec`?") } #endif if let cxxWrapper = self.cxxWrapper { return cxxWrapper } else { - let cxxWrapper = HybridPluginManagerSpec_cxx(self as! HybridPluginManagerSpec) + let cxxWrapper = HybridPluginManagerSpec_cxx(self as! any HybridPluginManagerSpec) self.cxxWrapper = cxxWrapper return cxxWrapper } diff --git a/packages/drm-plugin/nitrogen/generated/ios/swift/HybridPluginManagerSpec_cxx.swift b/packages/drm-plugin/nitrogen/generated/ios/swift/HybridPluginManagerSpec_cxx.swift index 7c050884..23af6fff 100644 --- a/packages/drm-plugin/nitrogen/generated/ios/swift/HybridPluginManagerSpec_cxx.swift +++ b/packages/drm-plugin/nitrogen/generated/ios/swift/HybridPluginManagerSpec_cxx.swift @@ -2,10 +2,9 @@ /// HybridPluginManagerSpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -96,6 +95,14 @@ open class HybridPluginManagerSpec_cxx { return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize } + /** + * Compares this object with the given [other] object for reference equality. + */ + @inline(__always) + public func equals(other: HybridPluginManagerSpec_cxx) -> Bool { + return self.__implementation === other.__implementation + } + /** * Call dispose() on the Swift class. * This _may_ be called manually from JS. diff --git a/packages/drm-plugin/nitrogen/generated/shared/c++/HybridPluginManagerSpec.cpp b/packages/drm-plugin/nitrogen/generated/shared/c++/HybridPluginManagerSpec.cpp index 740348ab..37e8135b 100644 --- a/packages/drm-plugin/nitrogen/generated/shared/c++/HybridPluginManagerSpec.cpp +++ b/packages/drm-plugin/nitrogen/generated/shared/c++/HybridPluginManagerSpec.cpp @@ -2,7 +2,7 @@ /// HybridPluginManagerSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridPluginManagerSpec.hpp" diff --git a/packages/drm-plugin/nitrogen/generated/shared/c++/HybridPluginManagerSpec.hpp b/packages/drm-plugin/nitrogen/generated/shared/c++/HybridPluginManagerSpec.hpp index 20c5ff43..d3b3e233 100644 --- a/packages/drm-plugin/nitrogen/generated/shared/c++/HybridPluginManagerSpec.hpp +++ b/packages/drm-plugin/nitrogen/generated/shared/c++/HybridPluginManagerSpec.hpp @@ -2,7 +2,7 @@ /// HybridPluginManagerSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/drm-plugin/package.json b/packages/drm-plugin/package.json index a30dc852..d900f6e3 100644 --- a/packages/drm-plugin/package.json +++ b/packages/drm-plugin/package.json @@ -72,12 +72,12 @@ "eslint": "^8.51.0", "eslint-config-prettier": "9.0.0", "eslint-plugin-prettier": "^5.0.1", - "nitrogen": "^0.31.0", + "nitrogen": "0.35.0", "prettier": "^3.0.3", "react": "18.3.1", "react-native": "^0.77.0", "react-native-builder-bob": "^0.40.13", - "react-native-nitro-modules": "^0.31.0", + "react-native-nitro-modules": "0.35.0", "release-it": "^17.10.0", "typescript": "^5.8.3", "react-native-video": "*" @@ -86,7 +86,7 @@ "react": "*", "react-native": "*", "react-native-video": ">=7.0.0-alpha.3", - "react-native-nitro-modules": ">=0.27.2" + "react-native-nitro-modules": ">=0.35.0" }, "jest": { "preset": "react-native", diff --git a/packages/react-native-video/ios/core/Extensions/AVURLAsset+getAssetInformation.swift b/packages/react-native-video/ios/core/Extensions/AVURLAsset+getAssetInformation.swift index 506df62d..da905a02 100644 --- a/packages/react-native-video/ios/core/Extensions/AVURLAsset+getAssetInformation.swift +++ b/packages/react-native-video/ios/core/Extensions/AVURLAsset+getAssetInformation.swift @@ -2,40 +2,37 @@ import AVFoundation extension AVURLAsset { func getAssetInformation() async throws -> VideoInformation { - // Initialize with default values - var videoInformation = VideoInformation( - bitrate: Double.nan, - width: Double.nan, - height: Double.nan, - duration: -1, - fileSize: -1, - isHDR: false, - isLive: false, - orientation: .unknown - ) + // Default values + var bitrate = Double.nan + var width = Double.nan + var height = Double.nan + var videoDuration: Double = -1 + var isHDR = false + var isLive = false + var orientation: VideoOrientation = .unknown - videoInformation.fileSize = try await VideoFileHelper.getFileSize(for: url) + let fileSize = try await VideoFileHelper.getFileSize(for: url) // Check if asset is live stream if duration.flags.contains(.indefinite) { - videoInformation.duration = -1 - videoInformation.isLive = true + videoDuration = -1.0 + isLive = true } else { - videoInformation.duration = Int64(CMTimeGetSeconds(duration)) - videoInformation.isLive = false + videoDuration = CMTimeGetSeconds(duration) + isLive = false } if let videoTrack = tracks(withMediaType: .video).first { let size = videoTrack.naturalSize.applying(videoTrack.preferredTransform) - videoInformation.width = size.width - videoInformation.height = size.height + width = size.width + height = size.height - videoInformation.bitrate = Double(videoTrack.estimatedDataRate) + bitrate = Double(videoTrack.estimatedDataRate) - videoInformation.orientation = videoTrack.orientation + orientation = videoTrack.orientation if #available(iOS 14.0, tvOS 14.0, visionOS 1.0, *) { - videoInformation.isHDR = videoTrack.hasMediaCharacteristic(.containsHDRVideo) + isHDR = videoTrack.hasMediaCharacteristic(.containsHDRVideo) } } else if url.pathExtension == "m3u8" { // For HLS streams, we cannot get video track information directly @@ -45,24 +42,33 @@ extension AVURLAsset { let manifestInfo = try HLSManifestParser.parseM3U8Manifest(manifestContent) if let videoStream = manifestInfo.streams.first { - videoInformation.width = Double(videoStream.width ?? Int(Double.nan)) - videoInformation.height = Double(videoStream.height ?? Int(Double.nan)) - videoInformation.bitrate = Double(videoStream.bandwidth ?? Int(Double.nan)) + width = Double(videoStream.width ?? Int(Double.nan)) + height = Double(videoStream.height ?? Int(Double.nan)) + bitrate = Double(videoStream.bandwidth ?? Int(Double.nan)) } - if videoInformation.width > 0 && videoInformation.height > 0 { - if videoInformation.width == videoInformation.height { - videoInformation.orientation = .square - } else if videoInformation.width > videoInformation.height { - videoInformation.orientation = .landscapeRight - } else if videoInformation.width < videoInformation.height { - videoInformation.orientation = .portrait + if width > 0 && height > 0 { + if width == height { + orientation = .square + } else if width > height { + orientation = .landscapeRight + } else if width < height { + orientation = .portrait } else { - videoInformation.orientation = .unknown + orientation = .unknown } } } - return videoInformation + return VideoInformation( + bitrate: bitrate, + width: width, + height: height, + duration: videoDuration, + fileSize: fileSize, + isHDR: isHDR, + isLive: isLive, + orientation: orientation + ) } } diff --git a/packages/react-native-video/nitrogen/generated/android/ReactNativeVideo+autolinking.cmake b/packages/react-native-video/nitrogen/generated/android/ReactNativeVideo+autolinking.cmake index cc1a7185..b49e9ff9 100644 --- a/packages/react-native-video/nitrogen/generated/android/ReactNativeVideo+autolinking.cmake +++ b/packages/react-native-video/nitrogen/generated/android/ReactNativeVideo+autolinking.cmake @@ -2,7 +2,7 @@ # ReactNativeVideo+autolinking.cmake # This file was generated by nitrogen. DO NOT MODIFY THIS FILE. # https://github.com/mrousavy/nitro -# Copyright © 2025 Marc Rousavy @ Margelo +# Copyright © Marc Rousavy @ Margelo # # This is a CMake file that adds all files generated by Nitrogen diff --git a/packages/react-native-video/nitrogen/generated/android/ReactNativeVideo+autolinking.gradle b/packages/react-native-video/nitrogen/generated/android/ReactNativeVideo+autolinking.gradle index 6abe826a..b066b6c8 100644 --- a/packages/react-native-video/nitrogen/generated/android/ReactNativeVideo+autolinking.gradle +++ b/packages/react-native-video/nitrogen/generated/android/ReactNativeVideo+autolinking.gradle @@ -2,7 +2,7 @@ /// ReactNativeVideo+autolinking.gradle /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// /// This is a Gradle file that adds all files generated by Nitrogen diff --git a/packages/react-native-video/nitrogen/generated/android/ReactNativeVideoOnLoad.cpp b/packages/react-native-video/nitrogen/generated/android/ReactNativeVideoOnLoad.cpp index 3e846757..7fee4ef3 100644 --- a/packages/react-native-video/nitrogen/generated/android/ReactNativeVideoOnLoad.cpp +++ b/packages/react-native-video/nitrogen/generated/android/ReactNativeVideoOnLoad.cpp @@ -2,7 +2,7 @@ /// ReactNativeVideoOnLoad.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #ifndef BUILDING_REACTNATIVEVIDEO_WITH_GENERATED_CMAKE_PROJECT @@ -41,60 +41,82 @@ namespace margelo::nitro::video { int initialize(JavaVM* vm) { - using namespace margelo::nitro; - using namespace margelo::nitro::video; - using namespace facebook; - - return facebook::jni::initialize(vm, [] { - // Register native JNI methods - margelo::nitro::video::JHybridVideoPlayerSpec::registerNatives(); - margelo::nitro::video::JHybridVideoPlayerFactorySpec::registerNatives(); - margelo::nitro::video::JHybridVideoPlayerEventEmitterSpec::registerNatives(); - margelo::nitro::video::JFunc_void_cxx::registerNatives(); - margelo::nitro::video::JFunc_void_bool_cxx::registerNatives(); - margelo::nitro::video::JFunc_void_BandwidthData_cxx::registerNatives(); - margelo::nitro::video::JFunc_void_onLoadData_cxx::registerNatives(); - margelo::nitro::video::JFunc_void_onLoadStartData_cxx::registerNatives(); - margelo::nitro::video::JFunc_void_onPlaybackStateChangeData_cxx::registerNatives(); - margelo::nitro::video::JFunc_void_double_cxx::registerNatives(); - margelo::nitro::video::JFunc_void_onProgressData_cxx::registerNatives(); - margelo::nitro::video::JFunc_void_VideoPlayerStatus_cxx::registerNatives(); - margelo::nitro::video::JFunc_void_TimedMetadata_cxx::registerNatives(); - margelo::nitro::video::JFunc_void_std__vector_std__string__cxx::registerNatives(); - margelo::nitro::video::JFunc_void_std__optional_std__variant_nitro__NullType__TextTrack___cxx::registerNatives(); - margelo::nitro::video::JFunc_void_onVolumeChangeData_cxx::registerNatives(); - margelo::nitro::video::JHybridVideoPlayerSourceSpec::registerNatives(); - margelo::nitro::video::JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload_cxx::registerNatives(); - margelo::nitro::video::JHybridVideoPlayerSourceFactorySpec::registerNatives(); - margelo::nitro::video::JHybridVideoViewViewManagerSpec::registerNatives(); - margelo::nitro::video::JHybridVideoViewViewManagerFactorySpec::registerNatives(); - - // Register Nitro Hybrid Objects - HybridObjectRegistry::registerHybridObjectConstructor( - "VideoPlayerFactory", - []() -> std::shared_ptr { - static DefaultConstructableObject object("com/margelo/nitro/video/HybridVideoPlayerFactory"); - auto instance = object.create(); - return instance->cthis()->shared(); - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "VideoPlayerSourceFactory", - []() -> std::shared_ptr { - static DefaultConstructableObject object("com/margelo/nitro/video/HybridVideoPlayerSourceFactory"); - auto instance = object.create(); - return instance->cthis()->shared(); - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "VideoViewViewManagerFactory", - []() -> std::shared_ptr { - static DefaultConstructableObject object("com/margelo/nitro/video/HybridVideoViewViewManagerFactory"); - auto instance = object.create(); - return instance->cthis()->shared(); - } - ); + return facebook::jni::initialize(vm, []() { + ::margelo::nitro::video::registerAllNatives(); }); } +struct JHybridVideoPlayerFactorySpecImpl: public jni::JavaClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerFactory;"; + static std::shared_ptr create() { + static auto constructorFn = javaClassStatic()->getConstructor(); + jni::local_ref javaPart = javaClassStatic()->newObject(constructorFn); + return javaPart->getJHybridVideoPlayerFactorySpec(); + } +}; +struct JHybridVideoPlayerSourceFactorySpecImpl: public jni::JavaClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerSourceFactory;"; + static std::shared_ptr create() { + static auto constructorFn = javaClassStatic()->getConstructor(); + jni::local_ref javaPart = javaClassStatic()->newObject(constructorFn); + return javaPart->getJHybridVideoPlayerSourceFactorySpec(); + } +}; +struct JHybridVideoViewViewManagerFactorySpecImpl: public jni::JavaClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoViewViewManagerFactory;"; + static std::shared_ptr create() { + static auto constructorFn = javaClassStatic()->getConstructor(); + jni::local_ref javaPart = javaClassStatic()->newObject(constructorFn); + return javaPart->getJHybridVideoViewViewManagerFactorySpec(); + } +}; + +void registerAllNatives() { + using namespace margelo::nitro; + using namespace margelo::nitro::video; + + // Register native JNI methods + margelo::nitro::video::JHybridVideoPlayerSpec::CxxPart::registerNatives(); + margelo::nitro::video::JHybridVideoPlayerFactorySpec::CxxPart::registerNatives(); + margelo::nitro::video::JHybridVideoPlayerEventEmitterSpec::CxxPart::registerNatives(); + margelo::nitro::video::JFunc_void_cxx::registerNatives(); + margelo::nitro::video::JFunc_void_bool_cxx::registerNatives(); + margelo::nitro::video::JFunc_void_BandwidthData_cxx::registerNatives(); + margelo::nitro::video::JFunc_void_onLoadData_cxx::registerNatives(); + margelo::nitro::video::JFunc_void_onLoadStartData_cxx::registerNatives(); + margelo::nitro::video::JFunc_void_onPlaybackStateChangeData_cxx::registerNatives(); + margelo::nitro::video::JFunc_void_double_cxx::registerNatives(); + margelo::nitro::video::JFunc_void_onProgressData_cxx::registerNatives(); + margelo::nitro::video::JFunc_void_VideoPlayerStatus_cxx::registerNatives(); + margelo::nitro::video::JFunc_void_TimedMetadata_cxx::registerNatives(); + margelo::nitro::video::JFunc_void_std__vector_std__string__cxx::registerNatives(); + margelo::nitro::video::JFunc_void_std__optional_std__variant_nitro__NullType__TextTrack___cxx::registerNatives(); + margelo::nitro::video::JFunc_void_onVolumeChangeData_cxx::registerNatives(); + margelo::nitro::video::JHybridVideoPlayerSourceSpec::CxxPart::registerNatives(); + margelo::nitro::video::JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload_cxx::registerNatives(); + margelo::nitro::video::JHybridVideoPlayerSourceFactorySpec::CxxPart::registerNatives(); + margelo::nitro::video::JHybridVideoViewViewManagerSpec::CxxPart::registerNatives(); + margelo::nitro::video::JHybridVideoViewViewManagerFactorySpec::CxxPart::registerNatives(); + + // Register Nitro Hybrid Objects + HybridObjectRegistry::registerHybridObjectConstructor( + "VideoPlayerFactory", + []() -> std::shared_ptr { + return JHybridVideoPlayerFactorySpecImpl::create(); + } + ); + HybridObjectRegistry::registerHybridObjectConstructor( + "VideoPlayerSourceFactory", + []() -> std::shared_ptr { + return JHybridVideoPlayerSourceFactorySpecImpl::create(); + } + ); + HybridObjectRegistry::registerHybridObjectConstructor( + "VideoViewViewManagerFactory", + []() -> std::shared_ptr { + return JHybridVideoViewViewManagerFactorySpecImpl::create(); + } + ); +} + } // namespace margelo::nitro::video diff --git a/packages/react-native-video/nitrogen/generated/android/ReactNativeVideoOnLoad.hpp b/packages/react-native-video/nitrogen/generated/android/ReactNativeVideoOnLoad.hpp index e5f96628..2a99477b 100644 --- a/packages/react-native-video/nitrogen/generated/android/ReactNativeVideoOnLoad.hpp +++ b/packages/react-native-video/nitrogen/generated/android/ReactNativeVideoOnLoad.hpp @@ -2,24 +2,33 @@ /// ReactNativeVideoOnLoad.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include +#include #include namespace margelo::nitro::video { + [[deprecated("Use registerNatives() instead.")]] + int initialize(JavaVM* vm); + /** - * Initializes the native (C++) part of ReactNativeVideo, and autolinks all Hybrid Objects. - * Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`). + * Register the native (C++) part of ReactNativeVideo, and autolinks all Hybrid Objects. + * Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`), + * inside a `facebook::jni::initialize(vm, ...)` call. * Example: * ```cpp (cpp-adapter.cpp) * JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) { - * return margelo::nitro::video::initialize(vm); + * return facebook::jni::initialize(vm, []() { + * // register all ReactNativeVideo HybridObjects + * margelo::nitro::video::registerNatives(); + * // any other custom registrations go here. + * }); * } * ``` */ - int initialize(JavaVM* vm); + void registerAllNatives(); } // namespace margelo::nitro::video diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JBandwidthData.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JBandwidthData.hpp index a7632213..c94645a1 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JBandwidthData.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JBandwidthData.hpp @@ -2,7 +2,7 @@ /// JBandwidthData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JBufferConfig.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JBufferConfig.hpp index 29ea6df1..8d22a02c 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JBufferConfig.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JBufferConfig.hpp @@ -2,7 +2,7 @@ /// JBufferConfig.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JCustomVideoMetadata.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JCustomVideoMetadata.hpp index 3951b707..e520b32c 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JCustomVideoMetadata.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JCustomVideoMetadata.hpp @@ -2,7 +2,7 @@ /// JCustomVideoMetadata.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.hpp index 6f81b6f5..6d7fefaa 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.hpp @@ -2,7 +2,7 @@ /// JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void.hpp index 3638de86..f9940053 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void.hpp @@ -2,7 +2,7 @@ /// JFunc_void.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_BandwidthData.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_BandwidthData.hpp index bcf3a9ad..00e6b01c 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_BandwidthData.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_BandwidthData.hpp @@ -2,7 +2,7 @@ /// JFunc_void_BandwidthData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_TimedMetadata.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_TimedMetadata.hpp index 8bb82f2f..1969aabd 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_TimedMetadata.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_TimedMetadata.hpp @@ -2,7 +2,7 @@ /// JFunc_void_TimedMetadata.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_VideoPlayerStatus.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_VideoPlayerStatus.hpp index eabcdafc..b4849484 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_VideoPlayerStatus.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_VideoPlayerStatus.hpp @@ -2,7 +2,7 @@ /// JFunc_void_VideoPlayerStatus.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_bool.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_bool.hpp index 02464560..a42fb391 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_bool.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_bool.hpp @@ -2,7 +2,7 @@ /// JFunc_void_bool.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_double.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_double.hpp index a9442e83..943f9c89 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_double.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_double.hpp @@ -2,7 +2,7 @@ /// JFunc_void_double.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onLoadData.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onLoadData.hpp index 27297969..d8084f3b 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onLoadData.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onLoadData.hpp @@ -2,7 +2,7 @@ /// JFunc_void_onLoadData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onLoadStartData.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onLoadStartData.hpp index 089b0819..3b9d6a7c 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onLoadStartData.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onLoadStartData.hpp @@ -2,7 +2,7 @@ /// JFunc_void_onLoadStartData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onPlaybackStateChangeData.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onPlaybackStateChangeData.hpp index a14bd81a..2066d078 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onPlaybackStateChangeData.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onPlaybackStateChangeData.hpp @@ -2,7 +2,7 @@ /// JFunc_void_onPlaybackStateChangeData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onProgressData.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onProgressData.hpp index aba423c2..274c0dc6 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onProgressData.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onProgressData.hpp @@ -2,7 +2,7 @@ /// JFunc_void_onProgressData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onVolumeChangeData.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onVolumeChangeData.hpp index fe285957..43cc0006 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onVolumeChangeData.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_onVolumeChangeData.hpp @@ -2,7 +2,7 @@ /// JFunc_void_onVolumeChangeData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__TextTrack__.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__TextTrack__.hpp index 95635815..5b45521b 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__TextTrack__.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__TextTrack__.hpp @@ -2,7 +2,7 @@ /// JFunc_void_std__optional_std__variant_nitro__NullType__TextTrack__.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_std__vector_std__string_.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_std__vector_std__string_.hpp index 3287132c..53a4fce2 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_std__vector_std__string_.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JFunc_void_std__vector_std__string_.hpp @@ -2,7 +2,7 @@ /// JFunc_void_std__vector_std__string_.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerEventEmitterSpec.cpp b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerEventEmitterSpec.cpp index 77a79d0d..07734f80 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerEventEmitterSpec.cpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerEventEmitterSpec.cpp @@ -2,7 +2,7 @@ /// JHybridVideoPlayerEventEmitterSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "JHybridVideoPlayerEventEmitterSpec.hpp" @@ -90,133 +90,134 @@ namespace margelo::nitro::video { struct onVolumeChangeData; } namespace margelo::nitro::video { - jni::local_ref JHybridVideoPlayerEventEmitterSpec::initHybrid(jni::alias_ref jThis) { + std::shared_ptr JHybridVideoPlayerEventEmitterSpec::JavaPart::getJHybridVideoPlayerEventEmitterSpec() { + auto hybridObject = JHybridObject::JavaPart::getJHybridObject(); + auto castHybridObject = std::dynamic_pointer_cast(hybridObject); + if (castHybridObject == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to downcast JHybridObject to JHybridVideoPlayerEventEmitterSpec!"); + } + return castHybridObject; + } + + jni::local_ref JHybridVideoPlayerEventEmitterSpec::CxxPart::initHybrid(jni::alias_ref jThis) { return makeCxxInstance(jThis); } - void JHybridVideoPlayerEventEmitterSpec::registerNatives() { + std::shared_ptr JHybridVideoPlayerEventEmitterSpec::CxxPart::createHybridObject(const jni::local_ref& javaPart) { + auto castJavaPart = jni::dynamic_ref_cast(javaPart); + if (castJavaPart == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridVideoPlayerEventEmitterSpec::JavaPart!"); + } + return std::make_shared(castJavaPart); + } + + void JHybridVideoPlayerEventEmitterSpec::CxxPart::registerNatives() { registerHybrid({ - makeNativeMethod("initHybrid", JHybridVideoPlayerEventEmitterSpec::initHybrid), + makeNativeMethod("initHybrid", JHybridVideoPlayerEventEmitterSpec::CxxPart::initHybrid), }); } - size_t JHybridVideoPlayerEventEmitterSpec::getExternalMemorySize() noexcept { - static const auto method = javaClassStatic()->getMethod("getMemorySize"); - return method(_javaPart); - } - - void JHybridVideoPlayerEventEmitterSpec::dispose() noexcept { - static const auto method = javaClassStatic()->getMethod("dispose"); - method(_javaPart); - } - - std::string JHybridVideoPlayerEventEmitterSpec::toString() { - static const auto method = javaClassStatic()->getMethod("toString"); - auto javaString = method(_javaPart); - return javaString->toStdString(); - } - // Properties // Methods ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnAudioBecomingNoisyListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnAudioBecomingNoisyListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnAudioBecomingNoisyListener_cxx"); auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnAudioFocusChangeListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnAudioFocusChangeListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnAudioFocusChangeListener_cxx"); auto __result = method(_javaPart, JFunc_void_bool_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnBandwidthUpdateListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnBandwidthUpdateListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnBandwidthUpdateListener_cxx"); auto __result = method(_javaPart, JFunc_void_BandwidthData_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnBufferListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnBufferListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnBufferListener_cxx"); auto __result = method(_javaPart, JFunc_void_bool_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnControlsVisibleChangeListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnControlsVisibleChangeListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnControlsVisibleChangeListener_cxx"); auto __result = method(_javaPart, JFunc_void_bool_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnEndListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnEndListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnEndListener_cxx"); auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnExternalPlaybackChangeListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnExternalPlaybackChangeListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnExternalPlaybackChangeListener_cxx"); auto __result = method(_javaPart, JFunc_void_bool_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnLoadListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnLoadListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnLoadListener_cxx"); auto __result = method(_javaPart, JFunc_void_onLoadData_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnLoadStartListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnLoadStartListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnLoadStartListener_cxx"); auto __result = method(_javaPart, JFunc_void_onLoadStartData_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnPlaybackStateChangeListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnPlaybackStateChangeListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnPlaybackStateChangeListener_cxx"); auto __result = method(_javaPart, JFunc_void_onPlaybackStateChangeData_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnPlaybackRateChangeListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnPlaybackRateChangeListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnPlaybackRateChangeListener_cxx"); auto __result = method(_javaPart, JFunc_void_double_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnProgressListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnProgressListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnProgressListener_cxx"); auto __result = method(_javaPart, JFunc_void_onProgressData_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnReadyToDisplayListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnReadyToDisplayListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnReadyToDisplayListener_cxx"); auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnSeekListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnSeekListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnSeekListener_cxx"); auto __result = method(_javaPart, JFunc_void_double_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnStatusChangeListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnStatusChangeListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnStatusChangeListener_cxx"); auto __result = method(_javaPart, JFunc_void_VideoPlayerStatus_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnTimedMetadataListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnTimedMetadataListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnTimedMetadataListener_cxx"); auto __result = method(_javaPart, JFunc_void_TimedMetadata_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnTextTrackDataChangedListener(const std::function& /* data */)>& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnTextTrackDataChangedListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnTextTrackDataChangedListener_cxx"); auto __result = method(_javaPart, JFunc_void_std__vector_std__string__cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnTrackChangeListener(const std::function>& /* track */)>& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnTrackChangeListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnTrackChangeListener_cxx"); auto __result = method(_javaPart, JFunc_void_std__optional_std__variant_nitro__NullType__TextTrack___cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoPlayerEventEmitterSpec::addOnVolumeChangeListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnVolumeChangeListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnVolumeChangeListener_cxx"); auto __result = method(_javaPart, JFunc_void_onVolumeChangeData_cxx::fromCpp(listener)); return __result->toCpp(); } void JHybridVideoPlayerEventEmitterSpec::clearAllListeners() { - static const auto method = javaClassStatic()->getMethod("clearAllListeners"); + static const auto method = _javaPart->javaClassStatic()->getMethod("clearAllListeners"); method(_javaPart); } diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerEventEmitterSpec.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerEventEmitterSpec.hpp index 95a95e8c..d008d272 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerEventEmitterSpec.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerEventEmitterSpec.hpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerEventEmitterSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -18,33 +18,33 @@ namespace margelo::nitro::video { using namespace facebook; - class JHybridVideoPlayerEventEmitterSpec: public jni::HybridClass, - public virtual HybridVideoPlayerEventEmitterSpec { + class JHybridVideoPlayerEventEmitterSpec: public virtual HybridVideoPlayerEventEmitterSpec, public virtual JHybridObject { public: - static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerEventEmitterSpec;"; - static jni::local_ref initHybrid(jni::alias_ref jThis); - static void registerNatives(); + struct JavaPart: public jni::JavaClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerEventEmitterSpec;"; + std::shared_ptr getJHybridVideoPlayerEventEmitterSpec(); + }; + struct CxxPart: public jni::HybridClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerEventEmitterSpec$CxxPart;"; + static jni::local_ref initHybrid(jni::alias_ref jThis); + static void registerNatives(); + using HybridBase::HybridBase; + protected: + std::shared_ptr createHybridObject(const jni::local_ref& javaPart) override; + }; - protected: - // C++ constructor (called from Java via `initHybrid()`) - explicit JHybridVideoPlayerEventEmitterSpec(jni::alias_ref jThis) : + public: + explicit JHybridVideoPlayerEventEmitterSpec(const jni::local_ref& javaPart): HybridObject(HybridVideoPlayerEventEmitterSpec::TAG), - HybridBase(jThis), - _javaPart(jni::make_global(jThis)) {} - - public: + JHybridObject(javaPart), + _javaPart(jni::make_global(javaPart)) {} ~JHybridVideoPlayerEventEmitterSpec() override { // Hermes GC can destroy JS objects on a non-JNI Thread. jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); }); } public: - size_t getExternalMemorySize() noexcept override; - void dispose() noexcept override; - std::string toString() override; - - public: - inline const jni::global_ref& getJavaPart() const noexcept { + inline const jni::global_ref& getJavaPart() const noexcept { return _javaPart; } @@ -76,9 +76,7 @@ namespace margelo::nitro::video { void clearAllListeners() override; private: - friend HybridBase; - using HybridBase::HybridBase; - jni::global_ref _javaPart; + jni::global_ref _javaPart; }; } // namespace margelo::nitro::video diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerFactorySpec.cpp b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerFactorySpec.cpp index 81f3afc8..564e4c19 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerFactorySpec.cpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerFactorySpec.cpp @@ -2,7 +2,7 @@ /// JHybridVideoPlayerFactorySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "JHybridVideoPlayerFactorySpec.hpp" @@ -20,40 +20,41 @@ namespace margelo::nitro::video { class HybridVideoPlayerSourceSpec; } namespace margelo::nitro::video { - jni::local_ref JHybridVideoPlayerFactorySpec::initHybrid(jni::alias_ref jThis) { + std::shared_ptr JHybridVideoPlayerFactorySpec::JavaPart::getJHybridVideoPlayerFactorySpec() { + auto hybridObject = JHybridObject::JavaPart::getJHybridObject(); + auto castHybridObject = std::dynamic_pointer_cast(hybridObject); + if (castHybridObject == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to downcast JHybridObject to JHybridVideoPlayerFactorySpec!"); + } + return castHybridObject; + } + + jni::local_ref JHybridVideoPlayerFactorySpec::CxxPart::initHybrid(jni::alias_ref jThis) { return makeCxxInstance(jThis); } - void JHybridVideoPlayerFactorySpec::registerNatives() { + std::shared_ptr JHybridVideoPlayerFactorySpec::CxxPart::createHybridObject(const jni::local_ref& javaPart) { + auto castJavaPart = jni::dynamic_ref_cast(javaPart); + if (castJavaPart == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridVideoPlayerFactorySpec::JavaPart!"); + } + return std::make_shared(castJavaPart); + } + + void JHybridVideoPlayerFactorySpec::CxxPart::registerNatives() { registerHybrid({ - makeNativeMethod("initHybrid", JHybridVideoPlayerFactorySpec::initHybrid), + makeNativeMethod("initHybrid", JHybridVideoPlayerFactorySpec::CxxPart::initHybrid), }); } - size_t JHybridVideoPlayerFactorySpec::getExternalMemorySize() noexcept { - static const auto method = javaClassStatic()->getMethod("getMemorySize"); - return method(_javaPart); - } - - void JHybridVideoPlayerFactorySpec::dispose() noexcept { - static const auto method = javaClassStatic()->getMethod("dispose"); - method(_javaPart); - } - - std::string JHybridVideoPlayerFactorySpec::toString() { - static const auto method = javaClassStatic()->getMethod("toString"); - auto javaString = method(_javaPart); - return javaString->toStdString(); - } - // Properties // Methods std::shared_ptr JHybridVideoPlayerFactorySpec::createPlayer(const std::shared_ptr& source) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* source */)>("createPlayer"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* source */)>("createPlayer"); auto __result = method(_javaPart, std::dynamic_pointer_cast(source)->getJavaPart()); - return __result->cthis()->shared_cast(); + return __result->getJHybridVideoPlayerSpec(); } } // namespace margelo::nitro::video diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerFactorySpec.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerFactorySpec.hpp index c64387bc..b3f4df5f 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerFactorySpec.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerFactorySpec.hpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerFactorySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -18,33 +18,33 @@ namespace margelo::nitro::video { using namespace facebook; - class JHybridVideoPlayerFactorySpec: public jni::HybridClass, - public virtual HybridVideoPlayerFactorySpec { + class JHybridVideoPlayerFactorySpec: public virtual HybridVideoPlayerFactorySpec, public virtual JHybridObject { public: - static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerFactorySpec;"; - static jni::local_ref initHybrid(jni::alias_ref jThis); - static void registerNatives(); + struct JavaPart: public jni::JavaClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerFactorySpec;"; + std::shared_ptr getJHybridVideoPlayerFactorySpec(); + }; + struct CxxPart: public jni::HybridClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerFactorySpec$CxxPart;"; + static jni::local_ref initHybrid(jni::alias_ref jThis); + static void registerNatives(); + using HybridBase::HybridBase; + protected: + std::shared_ptr createHybridObject(const jni::local_ref& javaPart) override; + }; - protected: - // C++ constructor (called from Java via `initHybrid()`) - explicit JHybridVideoPlayerFactorySpec(jni::alias_ref jThis) : + public: + explicit JHybridVideoPlayerFactorySpec(const jni::local_ref& javaPart): HybridObject(HybridVideoPlayerFactorySpec::TAG), - HybridBase(jThis), - _javaPart(jni::make_global(jThis)) {} - - public: + JHybridObject(javaPart), + _javaPart(jni::make_global(javaPart)) {} ~JHybridVideoPlayerFactorySpec() override { // Hermes GC can destroy JS objects on a non-JNI Thread. jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); }); } public: - size_t getExternalMemorySize() noexcept override; - void dispose() noexcept override; - std::string toString() override; - - public: - inline const jni::global_ref& getJavaPart() const noexcept { + inline const jni::global_ref& getJavaPart() const noexcept { return _javaPart; } @@ -57,9 +57,7 @@ namespace margelo::nitro::video { std::shared_ptr createPlayer(const std::shared_ptr& source) override; private: - friend HybridBase; - using HybridBase::HybridBase; - jni::global_ref _javaPart; + jni::global_ref _javaPart; }; } // namespace margelo::nitro::video diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceFactorySpec.cpp b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceFactorySpec.cpp index d8ea7ef9..d187a268 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceFactorySpec.cpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceFactorySpec.cpp @@ -2,7 +2,7 @@ /// JHybridVideoPlayerSourceFactorySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "JHybridVideoPlayerSourceFactorySpec.hpp" @@ -61,45 +61,46 @@ namespace margelo::nitro::video { struct CustomVideoMetadata; } namespace margelo::nitro::video { - jni::local_ref JHybridVideoPlayerSourceFactorySpec::initHybrid(jni::alias_ref jThis) { + std::shared_ptr JHybridVideoPlayerSourceFactorySpec::JavaPart::getJHybridVideoPlayerSourceFactorySpec() { + auto hybridObject = JHybridObject::JavaPart::getJHybridObject(); + auto castHybridObject = std::dynamic_pointer_cast(hybridObject); + if (castHybridObject == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to downcast JHybridObject to JHybridVideoPlayerSourceFactorySpec!"); + } + return castHybridObject; + } + + jni::local_ref JHybridVideoPlayerSourceFactorySpec::CxxPart::initHybrid(jni::alias_ref jThis) { return makeCxxInstance(jThis); } - void JHybridVideoPlayerSourceFactorySpec::registerNatives() { + std::shared_ptr JHybridVideoPlayerSourceFactorySpec::CxxPart::createHybridObject(const jni::local_ref& javaPart) { + auto castJavaPart = jni::dynamic_ref_cast(javaPart); + if (castJavaPart == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridVideoPlayerSourceFactorySpec::JavaPart!"); + } + return std::make_shared(castJavaPart); + } + + void JHybridVideoPlayerSourceFactorySpec::CxxPart::registerNatives() { registerHybrid({ - makeNativeMethod("initHybrid", JHybridVideoPlayerSourceFactorySpec::initHybrid), + makeNativeMethod("initHybrid", JHybridVideoPlayerSourceFactorySpec::CxxPart::initHybrid), }); } - size_t JHybridVideoPlayerSourceFactorySpec::getExternalMemorySize() noexcept { - static const auto method = javaClassStatic()->getMethod("getMemorySize"); - return method(_javaPart); - } - - void JHybridVideoPlayerSourceFactorySpec::dispose() noexcept { - static const auto method = javaClassStatic()->getMethod("dispose"); - method(_javaPart); - } - - std::string JHybridVideoPlayerSourceFactorySpec::toString() { - static const auto method = javaClassStatic()->getMethod("toString"); - auto javaString = method(_javaPart); - return javaString->toStdString(); - } - // Properties // Methods std::shared_ptr JHybridVideoPlayerSourceFactorySpec::fromUri(const std::string& uri) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* uri */)>("fromUri"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* uri */)>("fromUri"); auto __result = method(_javaPart, jni::make_jstring(uri)); - return __result->cthis()->shared_cast(); + return __result->getJHybridVideoPlayerSourceSpec(); } std::shared_ptr JHybridVideoPlayerSourceFactorySpec::fromVideoConfig(const NativeVideoConfig& config) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* config */)>("fromVideoConfig"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* config */)>("fromVideoConfig"); auto __result = method(_javaPart, JNativeVideoConfig::fromCpp(config)); - return __result->cthis()->shared_cast(); + return __result->getJHybridVideoPlayerSourceSpec(); } } // namespace margelo::nitro::video diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceFactorySpec.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceFactorySpec.hpp index eb1cc7d2..81bf0d65 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceFactorySpec.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceFactorySpec.hpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerSourceFactorySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -18,33 +18,33 @@ namespace margelo::nitro::video { using namespace facebook; - class JHybridVideoPlayerSourceFactorySpec: public jni::HybridClass, - public virtual HybridVideoPlayerSourceFactorySpec { + class JHybridVideoPlayerSourceFactorySpec: public virtual HybridVideoPlayerSourceFactorySpec, public virtual JHybridObject { public: - static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerSourceFactorySpec;"; - static jni::local_ref initHybrid(jni::alias_ref jThis); - static void registerNatives(); + struct JavaPart: public jni::JavaClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerSourceFactorySpec;"; + std::shared_ptr getJHybridVideoPlayerSourceFactorySpec(); + }; + struct CxxPart: public jni::HybridClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerSourceFactorySpec$CxxPart;"; + static jni::local_ref initHybrid(jni::alias_ref jThis); + static void registerNatives(); + using HybridBase::HybridBase; + protected: + std::shared_ptr createHybridObject(const jni::local_ref& javaPart) override; + }; - protected: - // C++ constructor (called from Java via `initHybrid()`) - explicit JHybridVideoPlayerSourceFactorySpec(jni::alias_ref jThis) : + public: + explicit JHybridVideoPlayerSourceFactorySpec(const jni::local_ref& javaPart): HybridObject(HybridVideoPlayerSourceFactorySpec::TAG), - HybridBase(jThis), - _javaPart(jni::make_global(jThis)) {} - - public: + JHybridObject(javaPart), + _javaPart(jni::make_global(javaPart)) {} ~JHybridVideoPlayerSourceFactorySpec() override { // Hermes GC can destroy JS objects on a non-JNI Thread. jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); }); } public: - size_t getExternalMemorySize() noexcept override; - void dispose() noexcept override; - std::string toString() override; - - public: - inline const jni::global_ref& getJavaPart() const noexcept { + inline const jni::global_ref& getJavaPart() const noexcept { return _javaPart; } @@ -58,9 +58,7 @@ namespace margelo::nitro::video { std::shared_ptr fromVideoConfig(const NativeVideoConfig& config) override; private: - friend HybridBase; - using HybridBase::HybridBase; - jni::global_ref _javaPart; + jni::global_ref _javaPart; }; } // namespace margelo::nitro::video diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceSpec.cpp b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceSpec.cpp index ba323a6a..e4fb8de3 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceSpec.cpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceSpec.cpp @@ -2,7 +2,7 @@ /// JHybridVideoPlayerSourceSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "JHybridVideoPlayerSourceSpec.hpp" @@ -64,47 +64,48 @@ namespace margelo::nitro::video { enum class VideoOrientation; } namespace margelo::nitro::video { - jni::local_ref JHybridVideoPlayerSourceSpec::initHybrid(jni::alias_ref jThis) { + std::shared_ptr JHybridVideoPlayerSourceSpec::JavaPart::getJHybridVideoPlayerSourceSpec() { + auto hybridObject = JHybridObject::JavaPart::getJHybridObject(); + auto castHybridObject = std::dynamic_pointer_cast(hybridObject); + if (castHybridObject == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to downcast JHybridObject to JHybridVideoPlayerSourceSpec!"); + } + return castHybridObject; + } + + jni::local_ref JHybridVideoPlayerSourceSpec::CxxPart::initHybrid(jni::alias_ref jThis) { return makeCxxInstance(jThis); } - void JHybridVideoPlayerSourceSpec::registerNatives() { + std::shared_ptr JHybridVideoPlayerSourceSpec::CxxPart::createHybridObject(const jni::local_ref& javaPart) { + auto castJavaPart = jni::dynamic_ref_cast(javaPart); + if (castJavaPart == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridVideoPlayerSourceSpec::JavaPart!"); + } + return std::make_shared(castJavaPart); + } + + void JHybridVideoPlayerSourceSpec::CxxPart::registerNatives() { registerHybrid({ - makeNativeMethod("initHybrid", JHybridVideoPlayerSourceSpec::initHybrid), + makeNativeMethod("initHybrid", JHybridVideoPlayerSourceSpec::CxxPart::initHybrid), }); } - size_t JHybridVideoPlayerSourceSpec::getExternalMemorySize() noexcept { - static const auto method = javaClassStatic()->getMethod("getMemorySize"); - return method(_javaPart); - } - - void JHybridVideoPlayerSourceSpec::dispose() noexcept { - static const auto method = javaClassStatic()->getMethod("dispose"); - method(_javaPart); - } - - std::string JHybridVideoPlayerSourceSpec::toString() { - static const auto method = javaClassStatic()->getMethod("toString"); - auto javaString = method(_javaPart); - return javaString->toStdString(); - } - // Properties std::string JHybridVideoPlayerSourceSpec::getUri() { - static const auto method = javaClassStatic()->getMethod()>("getUri"); + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getUri"); auto __result = method(_javaPart); return __result->toStdString(); } NativeVideoConfig JHybridVideoPlayerSourceSpec::getConfig() { - static const auto method = javaClassStatic()->getMethod()>("getConfig"); + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getConfig"); auto __result = method(_javaPart); return __result->toCpp(); } // Methods std::shared_ptr> JHybridVideoPlayerSourceSpec::getAssetInformationAsync() { - static const auto method = javaClassStatic()->getMethod()>("getAssetInformationAsync"); + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getAssetInformationAsync"); auto __result = method(_javaPart); return [&]() { auto __promise = Promise::create(); diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceSpec.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceSpec.hpp index 5480d8c2..029e1ee0 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceSpec.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSourceSpec.hpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerSourceSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -18,33 +18,33 @@ namespace margelo::nitro::video { using namespace facebook; - class JHybridVideoPlayerSourceSpec: public jni::HybridClass, - public virtual HybridVideoPlayerSourceSpec { + class JHybridVideoPlayerSourceSpec: public virtual HybridVideoPlayerSourceSpec, public virtual JHybridObject { public: - static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerSourceSpec;"; - static jni::local_ref initHybrid(jni::alias_ref jThis); - static void registerNatives(); + struct JavaPart: public jni::JavaClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerSourceSpec;"; + std::shared_ptr getJHybridVideoPlayerSourceSpec(); + }; + struct CxxPart: public jni::HybridClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerSourceSpec$CxxPart;"; + static jni::local_ref initHybrid(jni::alias_ref jThis); + static void registerNatives(); + using HybridBase::HybridBase; + protected: + std::shared_ptr createHybridObject(const jni::local_ref& javaPart) override; + }; - protected: - // C++ constructor (called from Java via `initHybrid()`) - explicit JHybridVideoPlayerSourceSpec(jni::alias_ref jThis) : + public: + explicit JHybridVideoPlayerSourceSpec(const jni::local_ref& javaPart): HybridObject(HybridVideoPlayerSourceSpec::TAG), - HybridBase(jThis), - _javaPart(jni::make_global(jThis)) {} - - public: + JHybridObject(javaPart), + _javaPart(jni::make_global(javaPart)) {} ~JHybridVideoPlayerSourceSpec() override { // Hermes GC can destroy JS objects on a non-JNI Thread. jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); }); } public: - size_t getExternalMemorySize() noexcept override; - void dispose() noexcept override; - std::string toString() override; - - public: - inline const jni::global_ref& getJavaPart() const noexcept { + inline const jni::global_ref& getJavaPart() const noexcept { return _javaPart; } @@ -58,9 +58,7 @@ namespace margelo::nitro::video { std::shared_ptr> getAssetInformationAsync() override; private: - friend HybridBase; - using HybridBase::HybridBase; - jni::global_ref _javaPart; + jni::global_ref _javaPart; }; } // namespace margelo::nitro::video diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.cpp b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.cpp index 90b1e2f4..425cd2c8 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.cpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.cpp @@ -2,7 +2,7 @@ /// JHybridVideoPlayerSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "JHybridVideoPlayerSpec.hpp" @@ -37,6 +37,7 @@ namespace margelo::nitro::video { struct TextTrack; } #include #include #include +#include #include #include #include @@ -46,157 +47,158 @@ namespace margelo::nitro::video { struct TextTrack; } namespace margelo::nitro::video { - jni::local_ref JHybridVideoPlayerSpec::initHybrid(jni::alias_ref jThis) { + std::shared_ptr JHybridVideoPlayerSpec::JavaPart::getJHybridVideoPlayerSpec() { + auto hybridObject = JHybridObject::JavaPart::getJHybridObject(); + auto castHybridObject = std::dynamic_pointer_cast(hybridObject); + if (castHybridObject == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to downcast JHybridObject to JHybridVideoPlayerSpec!"); + } + return castHybridObject; + } + + jni::local_ref JHybridVideoPlayerSpec::CxxPart::initHybrid(jni::alias_ref jThis) { return makeCxxInstance(jThis); } - void JHybridVideoPlayerSpec::registerNatives() { + std::shared_ptr JHybridVideoPlayerSpec::CxxPart::createHybridObject(const jni::local_ref& javaPart) { + auto castJavaPart = jni::dynamic_ref_cast(javaPart); + if (castJavaPart == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridVideoPlayerSpec::JavaPart!"); + } + return std::make_shared(castJavaPart); + } + + void JHybridVideoPlayerSpec::CxxPart::registerNatives() { registerHybrid({ - makeNativeMethod("initHybrid", JHybridVideoPlayerSpec::initHybrid), + makeNativeMethod("initHybrid", JHybridVideoPlayerSpec::CxxPart::initHybrid), }); } - size_t JHybridVideoPlayerSpec::getExternalMemorySize() noexcept { - static const auto method = javaClassStatic()->getMethod("getMemorySize"); - return method(_javaPart); - } - - void JHybridVideoPlayerSpec::dispose() noexcept { - static const auto method = javaClassStatic()->getMethod("dispose"); - method(_javaPart); - } - - std::string JHybridVideoPlayerSpec::toString() { - static const auto method = javaClassStatic()->getMethod("toString"); - auto javaString = method(_javaPart); - return javaString->toStdString(); - } - // Properties std::shared_ptr JHybridVideoPlayerSpec::getSource() { - static const auto method = javaClassStatic()->getMethod()>("getSource"); + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getSource"); auto __result = method(_javaPart); - return __result->cthis()->shared_cast(); + return __result->getJHybridVideoPlayerSourceSpec(); } std::shared_ptr JHybridVideoPlayerSpec::getEventEmitter() { - static const auto method = javaClassStatic()->getMethod()>("getEventEmitter"); + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getEventEmitter"); auto __result = method(_javaPart); - return __result->cthis()->shared_cast(); + return __result->getJHybridVideoPlayerEventEmitterSpec(); } bool JHybridVideoPlayerSpec::getShowNotificationControls() { - static const auto method = javaClassStatic()->getMethod("getShowNotificationControls"); + static const auto method = _javaPart->javaClassStatic()->getMethod("getShowNotificationControls"); auto __result = method(_javaPart); return static_cast(__result); } void JHybridVideoPlayerSpec::setShowNotificationControls(bool showNotificationControls) { - static const auto method = javaClassStatic()->getMethod("setShowNotificationControls"); + static const auto method = _javaPart->javaClassStatic()->getMethod("setShowNotificationControls"); method(_javaPart, showNotificationControls); } VideoPlayerStatus JHybridVideoPlayerSpec::getStatus() { - static const auto method = javaClassStatic()->getMethod()>("getStatus"); + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getStatus"); auto __result = method(_javaPart); return __result->toCpp(); } double JHybridVideoPlayerSpec::getDuration() { - static const auto method = javaClassStatic()->getMethod("getDuration"); + static const auto method = _javaPart->javaClassStatic()->getMethod("getDuration"); auto __result = method(_javaPart); return __result; } double JHybridVideoPlayerSpec::getVolume() { - static const auto method = javaClassStatic()->getMethod("getVolume"); + static const auto method = _javaPart->javaClassStatic()->getMethod("getVolume"); auto __result = method(_javaPart); return __result; } void JHybridVideoPlayerSpec::setVolume(double volume) { - static const auto method = javaClassStatic()->getMethod("setVolume"); + static const auto method = _javaPart->javaClassStatic()->getMethod("setVolume"); method(_javaPart, volume); } double JHybridVideoPlayerSpec::getCurrentTime() { - static const auto method = javaClassStatic()->getMethod("getCurrentTime"); + static const auto method = _javaPart->javaClassStatic()->getMethod("getCurrentTime"); auto __result = method(_javaPart); return __result; } void JHybridVideoPlayerSpec::setCurrentTime(double currentTime) { - static const auto method = javaClassStatic()->getMethod("setCurrentTime"); + static const auto method = _javaPart->javaClassStatic()->getMethod("setCurrentTime"); method(_javaPart, currentTime); } bool JHybridVideoPlayerSpec::getMuted() { - static const auto method = javaClassStatic()->getMethod("getMuted"); + static const auto method = _javaPart->javaClassStatic()->getMethod("getMuted"); auto __result = method(_javaPart); return static_cast(__result); } void JHybridVideoPlayerSpec::setMuted(bool muted) { - static const auto method = javaClassStatic()->getMethod("setMuted"); + static const auto method = _javaPart->javaClassStatic()->getMethod("setMuted"); method(_javaPart, muted); } bool JHybridVideoPlayerSpec::getLoop() { - static const auto method = javaClassStatic()->getMethod("getLoop"); + static const auto method = _javaPart->javaClassStatic()->getMethod("getLoop"); auto __result = method(_javaPart); return static_cast(__result); } void JHybridVideoPlayerSpec::setLoop(bool loop) { - static const auto method = javaClassStatic()->getMethod("setLoop"); + static const auto method = _javaPart->javaClassStatic()->getMethod("setLoop"); method(_javaPart, loop); } double JHybridVideoPlayerSpec::getRate() { - static const auto method = javaClassStatic()->getMethod("getRate"); + static const auto method = _javaPart->javaClassStatic()->getMethod("getRate"); auto __result = method(_javaPart); return __result; } void JHybridVideoPlayerSpec::setRate(double rate) { - static const auto method = javaClassStatic()->getMethod("setRate"); + static const auto method = _javaPart->javaClassStatic()->getMethod("setRate"); method(_javaPart, rate); } MixAudioMode JHybridVideoPlayerSpec::getMixAudioMode() { - static const auto method = javaClassStatic()->getMethod()>("getMixAudioMode"); + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getMixAudioMode"); auto __result = method(_javaPart); return __result->toCpp(); } void JHybridVideoPlayerSpec::setMixAudioMode(MixAudioMode mixAudioMode) { - static const auto method = javaClassStatic()->getMethod /* mixAudioMode */)>("setMixAudioMode"); + static const auto method = _javaPart->javaClassStatic()->getMethod /* mixAudioMode */)>("setMixAudioMode"); method(_javaPart, JMixAudioMode::fromCpp(mixAudioMode)); } IgnoreSilentSwitchMode JHybridVideoPlayerSpec::getIgnoreSilentSwitchMode() { - static const auto method = javaClassStatic()->getMethod()>("getIgnoreSilentSwitchMode"); + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getIgnoreSilentSwitchMode"); auto __result = method(_javaPart); return __result->toCpp(); } void JHybridVideoPlayerSpec::setIgnoreSilentSwitchMode(IgnoreSilentSwitchMode ignoreSilentSwitchMode) { - static const auto method = javaClassStatic()->getMethod /* ignoreSilentSwitchMode */)>("setIgnoreSilentSwitchMode"); + static const auto method = _javaPart->javaClassStatic()->getMethod /* ignoreSilentSwitchMode */)>("setIgnoreSilentSwitchMode"); method(_javaPart, JIgnoreSilentSwitchMode::fromCpp(ignoreSilentSwitchMode)); } bool JHybridVideoPlayerSpec::getPlayInBackground() { - static const auto method = javaClassStatic()->getMethod("getPlayInBackground"); + static const auto method = _javaPart->javaClassStatic()->getMethod("getPlayInBackground"); auto __result = method(_javaPart); return static_cast(__result); } void JHybridVideoPlayerSpec::setPlayInBackground(bool playInBackground) { - static const auto method = javaClassStatic()->getMethod("setPlayInBackground"); + static const auto method = _javaPart->javaClassStatic()->getMethod("setPlayInBackground"); method(_javaPart, playInBackground); } bool JHybridVideoPlayerSpec::getPlayWhenInactive() { - static const auto method = javaClassStatic()->getMethod("getPlayWhenInactive"); + static const auto method = _javaPart->javaClassStatic()->getMethod("getPlayWhenInactive"); auto __result = method(_javaPart); return static_cast(__result); } void JHybridVideoPlayerSpec::setPlayWhenInactive(bool playWhenInactive) { - static const auto method = javaClassStatic()->getMethod("setPlayWhenInactive"); + static const auto method = _javaPart->javaClassStatic()->getMethod("setPlayWhenInactive"); method(_javaPart, playWhenInactive); } bool JHybridVideoPlayerSpec::getIsPlaying() { - static const auto method = javaClassStatic()->getMethod("isPlaying"); + static const auto method = _javaPart->javaClassStatic()->getMethod("isPlaying"); auto __result = method(_javaPart); return static_cast(__result); } std::optional JHybridVideoPlayerSpec::getSelectedTrack() { - static const auto method = javaClassStatic()->getMethod()>("getSelectedTrack"); + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getSelectedTrack"); auto __result = method(_javaPart); return __result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt; } // Methods std::shared_ptr> JHybridVideoPlayerSpec::replaceSourceAsync(const std::optional>>& source) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* source */)>("replaceSourceAsync"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* source */)>("replaceSourceAsync"); auto __result = method(_javaPart, source.has_value() ? JVariant_NullType_HybridVideoPlayerSourceSpec::fromCpp(source.value()) : nullptr); return [&]() { auto __promise = Promise::create(); @@ -211,7 +213,7 @@ namespace margelo::nitro::video { }(); } std::vector JHybridVideoPlayerSpec::getAvailableTextTracks() { - static const auto method = javaClassStatic()->getMethod>()>("getAvailableTextTracks"); + static const auto method = _javaPart->javaClassStatic()->getMethod>()>("getAvailableTextTracks"); auto __result = method(_javaPart); return [&]() { size_t __size = __result->size(); @@ -225,15 +227,15 @@ namespace margelo::nitro::video { }(); } void JHybridVideoPlayerSpec::selectTextTrack(const std::optional>& textTrack) { - static const auto method = javaClassStatic()->getMethod /* textTrack */)>("selectTextTrack"); + static const auto method = _javaPart->javaClassStatic()->getMethod /* textTrack */)>("selectTextTrack"); method(_javaPart, textTrack.has_value() ? JVariant_NullType_TextTrack::fromCpp(textTrack.value()) : nullptr); } void JHybridVideoPlayerSpec::release() { - static const auto method = javaClassStatic()->getMethod("release"); + static const auto method = _javaPart->javaClassStatic()->getMethod("release"); method(_javaPart); } std::shared_ptr> JHybridVideoPlayerSpec::initialize() { - static const auto method = javaClassStatic()->getMethod()>("initialize"); + static const auto method = _javaPart->javaClassStatic()->getMethod()>("initialize"); auto __result = method(_javaPart); return [&]() { auto __promise = Promise::create(); @@ -248,7 +250,7 @@ namespace margelo::nitro::video { }(); } std::shared_ptr> JHybridVideoPlayerSpec::preload() { - static const auto method = javaClassStatic()->getMethod()>("preload"); + static const auto method = _javaPart->javaClassStatic()->getMethod()>("preload"); auto __result = method(_javaPart); return [&]() { auto __promise = Promise::create(); @@ -263,19 +265,19 @@ namespace margelo::nitro::video { }(); } void JHybridVideoPlayerSpec::play() { - static const auto method = javaClassStatic()->getMethod("play"); + static const auto method = _javaPart->javaClassStatic()->getMethod("play"); method(_javaPart); } void JHybridVideoPlayerSpec::pause() { - static const auto method = javaClassStatic()->getMethod("pause"); + static const auto method = _javaPart->javaClassStatic()->getMethod("pause"); method(_javaPart); } void JHybridVideoPlayerSpec::seekBy(double time) { - static const auto method = javaClassStatic()->getMethod("seekBy"); + static const auto method = _javaPart->javaClassStatic()->getMethod("seekBy"); method(_javaPart, time); } void JHybridVideoPlayerSpec::seekTo(double time) { - static const auto method = javaClassStatic()->getMethod("seekTo"); + static const auto method = _javaPart->javaClassStatic()->getMethod("seekTo"); method(_javaPart, time); } diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.hpp index 174d7138..b732ea43 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.hpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -18,33 +18,33 @@ namespace margelo::nitro::video { using namespace facebook; - class JHybridVideoPlayerSpec: public jni::HybridClass, - public virtual HybridVideoPlayerSpec { + class JHybridVideoPlayerSpec: public virtual HybridVideoPlayerSpec, public virtual JHybridObject { public: - static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerSpec;"; - static jni::local_ref initHybrid(jni::alias_ref jThis); - static void registerNatives(); + struct JavaPart: public jni::JavaClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerSpec;"; + std::shared_ptr getJHybridVideoPlayerSpec(); + }; + struct CxxPart: public jni::HybridClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoPlayerSpec$CxxPart;"; + static jni::local_ref initHybrid(jni::alias_ref jThis); + static void registerNatives(); + using HybridBase::HybridBase; + protected: + std::shared_ptr createHybridObject(const jni::local_ref& javaPart) override; + }; - protected: - // C++ constructor (called from Java via `initHybrid()`) - explicit JHybridVideoPlayerSpec(jni::alias_ref jThis) : + public: + explicit JHybridVideoPlayerSpec(const jni::local_ref& javaPart): HybridObject(HybridVideoPlayerSpec::TAG), - HybridBase(jThis), - _javaPart(jni::make_global(jThis)) {} - - public: + JHybridObject(javaPart), + _javaPart(jni::make_global(javaPart)) {} ~JHybridVideoPlayerSpec() override { // Hermes GC can destroy JS objects on a non-JNI Thread. jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); }); } public: - size_t getExternalMemorySize() noexcept override; - void dispose() noexcept override; - std::string toString() override; - - public: - inline const jni::global_ref& getJavaPart() const noexcept { + inline const jni::global_ref& getJavaPart() const noexcept { return _javaPart; } @@ -91,9 +91,7 @@ namespace margelo::nitro::video { void seekTo(double time) override; private: - friend HybridBase; - using HybridBase::HybridBase; - jni::global_ref _javaPart; + jni::global_ref _javaPart; }; } // namespace margelo::nitro::video diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerFactorySpec.cpp b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerFactorySpec.cpp index 80b9bcd1..8c147c20 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerFactorySpec.cpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerFactorySpec.cpp @@ -2,7 +2,7 @@ /// JHybridVideoViewViewManagerFactorySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "JHybridVideoViewViewManagerFactorySpec.hpp" @@ -16,40 +16,41 @@ namespace margelo::nitro::video { class HybridVideoViewViewManagerSpec; } namespace margelo::nitro::video { - jni::local_ref JHybridVideoViewViewManagerFactorySpec::initHybrid(jni::alias_ref jThis) { + std::shared_ptr JHybridVideoViewViewManagerFactorySpec::JavaPart::getJHybridVideoViewViewManagerFactorySpec() { + auto hybridObject = JHybridObject::JavaPart::getJHybridObject(); + auto castHybridObject = std::dynamic_pointer_cast(hybridObject); + if (castHybridObject == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to downcast JHybridObject to JHybridVideoViewViewManagerFactorySpec!"); + } + return castHybridObject; + } + + jni::local_ref JHybridVideoViewViewManagerFactorySpec::CxxPart::initHybrid(jni::alias_ref jThis) { return makeCxxInstance(jThis); } - void JHybridVideoViewViewManagerFactorySpec::registerNatives() { + std::shared_ptr JHybridVideoViewViewManagerFactorySpec::CxxPart::createHybridObject(const jni::local_ref& javaPart) { + auto castJavaPart = jni::dynamic_ref_cast(javaPart); + if (castJavaPart == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridVideoViewViewManagerFactorySpec::JavaPart!"); + } + return std::make_shared(castJavaPart); + } + + void JHybridVideoViewViewManagerFactorySpec::CxxPart::registerNatives() { registerHybrid({ - makeNativeMethod("initHybrid", JHybridVideoViewViewManagerFactorySpec::initHybrid), + makeNativeMethod("initHybrid", JHybridVideoViewViewManagerFactorySpec::CxxPart::initHybrid), }); } - size_t JHybridVideoViewViewManagerFactorySpec::getExternalMemorySize() noexcept { - static const auto method = javaClassStatic()->getMethod("getMemorySize"); - return method(_javaPart); - } - - void JHybridVideoViewViewManagerFactorySpec::dispose() noexcept { - static const auto method = javaClassStatic()->getMethod("dispose"); - method(_javaPart); - } - - std::string JHybridVideoViewViewManagerFactorySpec::toString() { - static const auto method = javaClassStatic()->getMethod("toString"); - auto javaString = method(_javaPart); - return javaString->toStdString(); - } - // Properties // Methods std::shared_ptr JHybridVideoViewViewManagerFactorySpec::createViewManager(double nitroId) { - static const auto method = javaClassStatic()->getMethod(double /* nitroId */)>("createViewManager"); + static const auto method = _javaPart->javaClassStatic()->getMethod(double /* nitroId */)>("createViewManager"); auto __result = method(_javaPart, nitroId); - return __result->cthis()->shared_cast(); + return __result->getJHybridVideoViewViewManagerSpec(); } } // namespace margelo::nitro::video diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerFactorySpec.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerFactorySpec.hpp index 36a18424..726f995d 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerFactorySpec.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerFactorySpec.hpp @@ -2,7 +2,7 @@ /// HybridVideoViewViewManagerFactorySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -18,33 +18,33 @@ namespace margelo::nitro::video { using namespace facebook; - class JHybridVideoViewViewManagerFactorySpec: public jni::HybridClass, - public virtual HybridVideoViewViewManagerFactorySpec { + class JHybridVideoViewViewManagerFactorySpec: public virtual HybridVideoViewViewManagerFactorySpec, public virtual JHybridObject { public: - static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoViewViewManagerFactorySpec;"; - static jni::local_ref initHybrid(jni::alias_ref jThis); - static void registerNatives(); + struct JavaPart: public jni::JavaClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoViewViewManagerFactorySpec;"; + std::shared_ptr getJHybridVideoViewViewManagerFactorySpec(); + }; + struct CxxPart: public jni::HybridClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoViewViewManagerFactorySpec$CxxPart;"; + static jni::local_ref initHybrid(jni::alias_ref jThis); + static void registerNatives(); + using HybridBase::HybridBase; + protected: + std::shared_ptr createHybridObject(const jni::local_ref& javaPart) override; + }; - protected: - // C++ constructor (called from Java via `initHybrid()`) - explicit JHybridVideoViewViewManagerFactorySpec(jni::alias_ref jThis) : + public: + explicit JHybridVideoViewViewManagerFactorySpec(const jni::local_ref& javaPart): HybridObject(HybridVideoViewViewManagerFactorySpec::TAG), - HybridBase(jThis), - _javaPart(jni::make_global(jThis)) {} - - public: + JHybridObject(javaPart), + _javaPart(jni::make_global(javaPart)) {} ~JHybridVideoViewViewManagerFactorySpec() override { // Hermes GC can destroy JS objects on a non-JNI Thread. jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); }); } public: - size_t getExternalMemorySize() noexcept override; - void dispose() noexcept override; - std::string toString() override; - - public: - inline const jni::global_ref& getJavaPart() const noexcept { + inline const jni::global_ref& getJavaPart() const noexcept { return _javaPart; } @@ -57,9 +57,7 @@ namespace margelo::nitro::video { std::shared_ptr createViewManager(double nitroId) override; private: - friend HybridBase; - using HybridBase::HybridBase; - jni::global_ref _javaPart; + jni::global_ref _javaPart; }; } // namespace margelo::nitro::video diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerSpec.cpp b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerSpec.cpp index d89ea699..de5f74ed 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerSpec.cpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerSpec.cpp @@ -2,7 +2,7 @@ /// JHybridVideoViewViewManagerSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "JHybridVideoViewViewManagerSpec.hpp" @@ -33,151 +33,152 @@ namespace margelo::nitro::video { struct ListenerSubscription; } namespace margelo::nitro::video { - jni::local_ref JHybridVideoViewViewManagerSpec::initHybrid(jni::alias_ref jThis) { + std::shared_ptr JHybridVideoViewViewManagerSpec::JavaPart::getJHybridVideoViewViewManagerSpec() { + auto hybridObject = JHybridObject::JavaPart::getJHybridObject(); + auto castHybridObject = std::dynamic_pointer_cast(hybridObject); + if (castHybridObject == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to downcast JHybridObject to JHybridVideoViewViewManagerSpec!"); + } + return castHybridObject; + } + + jni::local_ref JHybridVideoViewViewManagerSpec::CxxPart::initHybrid(jni::alias_ref jThis) { return makeCxxInstance(jThis); } - void JHybridVideoViewViewManagerSpec::registerNatives() { + std::shared_ptr JHybridVideoViewViewManagerSpec::CxxPart::createHybridObject(const jni::local_ref& javaPart) { + auto castJavaPart = jni::dynamic_ref_cast(javaPart); + if (castJavaPart == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridVideoViewViewManagerSpec::JavaPart!"); + } + return std::make_shared(castJavaPart); + } + + void JHybridVideoViewViewManagerSpec::CxxPart::registerNatives() { registerHybrid({ - makeNativeMethod("initHybrid", JHybridVideoViewViewManagerSpec::initHybrid), + makeNativeMethod("initHybrid", JHybridVideoViewViewManagerSpec::CxxPart::initHybrid), }); } - size_t JHybridVideoViewViewManagerSpec::getExternalMemorySize() noexcept { - static const auto method = javaClassStatic()->getMethod("getMemorySize"); - return method(_javaPart); - } - - void JHybridVideoViewViewManagerSpec::dispose() noexcept { - static const auto method = javaClassStatic()->getMethod("dispose"); - method(_javaPart); - } - - std::string JHybridVideoViewViewManagerSpec::toString() { - static const auto method = javaClassStatic()->getMethod("toString"); - auto javaString = method(_javaPart); - return javaString->toStdString(); - } - // Properties std::optional> JHybridVideoViewViewManagerSpec::getPlayer() { - static const auto method = javaClassStatic()->getMethod()>("getPlayer"); + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getPlayer"); auto __result = method(_javaPart); - return __result != nullptr ? std::make_optional(__result->cthis()->shared_cast()) : std::nullopt; + return __result != nullptr ? std::make_optional(__result->getJHybridVideoPlayerSpec()) : std::nullopt; } void JHybridVideoViewViewManagerSpec::setPlayer(const std::optional>& player) { - static const auto method = javaClassStatic()->getMethod /* player */)>("setPlayer"); + static const auto method = _javaPart->javaClassStatic()->getMethod /* player */)>("setPlayer"); method(_javaPart, player.has_value() ? std::dynamic_pointer_cast(player.value())->getJavaPart() : nullptr); } bool JHybridVideoViewViewManagerSpec::getControls() { - static const auto method = javaClassStatic()->getMethod("getControls"); + static const auto method = _javaPart->javaClassStatic()->getMethod("getControls"); auto __result = method(_javaPart); return static_cast(__result); } void JHybridVideoViewViewManagerSpec::setControls(bool controls) { - static const auto method = javaClassStatic()->getMethod("setControls"); + static const auto method = _javaPart->javaClassStatic()->getMethod("setControls"); method(_javaPart, controls); } bool JHybridVideoViewViewManagerSpec::getPictureInPicture() { - static const auto method = javaClassStatic()->getMethod("getPictureInPicture"); + static const auto method = _javaPart->javaClassStatic()->getMethod("getPictureInPicture"); auto __result = method(_javaPart); return static_cast(__result); } void JHybridVideoViewViewManagerSpec::setPictureInPicture(bool pictureInPicture) { - static const auto method = javaClassStatic()->getMethod("setPictureInPicture"); + static const auto method = _javaPart->javaClassStatic()->getMethod("setPictureInPicture"); method(_javaPart, pictureInPicture); } bool JHybridVideoViewViewManagerSpec::getAutoEnterPictureInPicture() { - static const auto method = javaClassStatic()->getMethod("getAutoEnterPictureInPicture"); + static const auto method = _javaPart->javaClassStatic()->getMethod("getAutoEnterPictureInPicture"); auto __result = method(_javaPart); return static_cast(__result); } void JHybridVideoViewViewManagerSpec::setAutoEnterPictureInPicture(bool autoEnterPictureInPicture) { - static const auto method = javaClassStatic()->getMethod("setAutoEnterPictureInPicture"); + static const auto method = _javaPart->javaClassStatic()->getMethod("setAutoEnterPictureInPicture"); method(_javaPart, autoEnterPictureInPicture); } ResizeMode JHybridVideoViewViewManagerSpec::getResizeMode() { - static const auto method = javaClassStatic()->getMethod()>("getResizeMode"); + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getResizeMode"); auto __result = method(_javaPart); return __result->toCpp(); } void JHybridVideoViewViewManagerSpec::setResizeMode(ResizeMode resizeMode) { - static const auto method = javaClassStatic()->getMethod /* resizeMode */)>("setResizeMode"); + static const auto method = _javaPart->javaClassStatic()->getMethod /* resizeMode */)>("setResizeMode"); method(_javaPart, JResizeMode::fromCpp(resizeMode)); } bool JHybridVideoViewViewManagerSpec::getKeepScreenAwake() { - static const auto method = javaClassStatic()->getMethod("getKeepScreenAwake"); + static const auto method = _javaPart->javaClassStatic()->getMethod("getKeepScreenAwake"); auto __result = method(_javaPart); return static_cast(__result); } void JHybridVideoViewViewManagerSpec::setKeepScreenAwake(bool keepScreenAwake) { - static const auto method = javaClassStatic()->getMethod("setKeepScreenAwake"); + static const auto method = _javaPart->javaClassStatic()->getMethod("setKeepScreenAwake"); method(_javaPart, keepScreenAwake); } SurfaceType JHybridVideoViewViewManagerSpec::getSurfaceType() { - static const auto method = javaClassStatic()->getMethod()>("getSurfaceType"); + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getSurfaceType"); auto __result = method(_javaPart); return __result->toCpp(); } void JHybridVideoViewViewManagerSpec::setSurfaceType(SurfaceType surfaceType) { - static const auto method = javaClassStatic()->getMethod /* surfaceType */)>("setSurfaceType"); + static const auto method = _javaPart->javaClassStatic()->getMethod /* surfaceType */)>("setSurfaceType"); method(_javaPart, JSurfaceType::fromCpp(surfaceType)); } // Methods void JHybridVideoViewViewManagerSpec::enterFullscreen() { - static const auto method = javaClassStatic()->getMethod("enterFullscreen"); + static const auto method = _javaPart->javaClassStatic()->getMethod("enterFullscreen"); method(_javaPart); } void JHybridVideoViewViewManagerSpec::exitFullscreen() { - static const auto method = javaClassStatic()->getMethod("exitFullscreen"); + static const auto method = _javaPart->javaClassStatic()->getMethod("exitFullscreen"); method(_javaPart); } void JHybridVideoViewViewManagerSpec::enterPictureInPicture() { - static const auto method = javaClassStatic()->getMethod("enterPictureInPicture"); + static const auto method = _javaPart->javaClassStatic()->getMethod("enterPictureInPicture"); method(_javaPart); } void JHybridVideoViewViewManagerSpec::exitPictureInPicture() { - static const auto method = javaClassStatic()->getMethod("exitPictureInPicture"); + static const auto method = _javaPart->javaClassStatic()->getMethod("exitPictureInPicture"); method(_javaPart); } bool JHybridVideoViewViewManagerSpec::canEnterPictureInPicture() { - static const auto method = javaClassStatic()->getMethod("canEnterPictureInPicture"); + static const auto method = _javaPart->javaClassStatic()->getMethod("canEnterPictureInPicture"); auto __result = method(_javaPart); return static_cast(__result); } ListenerSubscription JHybridVideoViewViewManagerSpec::addOnPictureInPictureChangeListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnPictureInPictureChangeListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnPictureInPictureChangeListener_cxx"); auto __result = method(_javaPart, JFunc_void_bool_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoViewViewManagerSpec::addOnFullscreenChangeListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnFullscreenChangeListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addOnFullscreenChangeListener_cxx"); auto __result = method(_javaPart, JFunc_void_bool_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoViewViewManagerSpec::addWillEnterFullscreenListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addWillEnterFullscreenListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addWillEnterFullscreenListener_cxx"); auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoViewViewManagerSpec::addWillExitFullscreenListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addWillExitFullscreenListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addWillExitFullscreenListener_cxx"); auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoViewViewManagerSpec::addWillEnterPictureInPictureListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addWillEnterPictureInPictureListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addWillEnterPictureInPictureListener_cxx"); auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(listener)); return __result->toCpp(); } ListenerSubscription JHybridVideoViewViewManagerSpec::addWillExitPictureInPictureListener(const std::function& listener) { - static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addWillExitPictureInPictureListener_cxx"); + static const auto method = _javaPart->javaClassStatic()->getMethod(jni::alias_ref /* listener */)>("addWillExitPictureInPictureListener_cxx"); auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(listener)); return __result->toCpp(); } void JHybridVideoViewViewManagerSpec::clearAllListeners() { - static const auto method = javaClassStatic()->getMethod("clearAllListeners"); + static const auto method = _javaPart->javaClassStatic()->getMethod("clearAllListeners"); method(_javaPart); } diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerSpec.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerSpec.hpp index 05c85efb..7bd0ea10 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerSpec.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JHybridVideoViewViewManagerSpec.hpp @@ -2,7 +2,7 @@ /// HybridVideoViewViewManagerSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -18,33 +18,33 @@ namespace margelo::nitro::video { using namespace facebook; - class JHybridVideoViewViewManagerSpec: public jni::HybridClass, - public virtual HybridVideoViewViewManagerSpec { + class JHybridVideoViewViewManagerSpec: public virtual HybridVideoViewViewManagerSpec, public virtual JHybridObject { public: - static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoViewViewManagerSpec;"; - static jni::local_ref initHybrid(jni::alias_ref jThis); - static void registerNatives(); + struct JavaPart: public jni::JavaClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoViewViewManagerSpec;"; + std::shared_ptr getJHybridVideoViewViewManagerSpec(); + }; + struct CxxPart: public jni::HybridClass { + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/HybridVideoViewViewManagerSpec$CxxPart;"; + static jni::local_ref initHybrid(jni::alias_ref jThis); + static void registerNatives(); + using HybridBase::HybridBase; + protected: + std::shared_ptr createHybridObject(const jni::local_ref& javaPart) override; + }; - protected: - // C++ constructor (called from Java via `initHybrid()`) - explicit JHybridVideoViewViewManagerSpec(jni::alias_ref jThis) : + public: + explicit JHybridVideoViewViewManagerSpec(const jni::local_ref& javaPart): HybridObject(HybridVideoViewViewManagerSpec::TAG), - HybridBase(jThis), - _javaPart(jni::make_global(jThis)) {} - - public: + JHybridObject(javaPart), + _javaPart(jni::make_global(javaPart)) {} ~JHybridVideoViewViewManagerSpec() override { // Hermes GC can destroy JS objects on a non-JNI Thread. jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); }); } public: - size_t getExternalMemorySize() noexcept override; - void dispose() noexcept override; - std::string toString() override; - - public: - inline const jni::global_ref& getJavaPart() const noexcept { + inline const jni::global_ref& getJavaPart() const noexcept { return _javaPart; } @@ -81,9 +81,7 @@ namespace margelo::nitro::video { void clearAllListeners() override; private: - friend HybridBase; - using HybridBase::HybridBase; - jni::global_ref _javaPart; + jni::global_ref _javaPart; }; } // namespace margelo::nitro::video diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JIgnoreSilentSwitchMode.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JIgnoreSilentSwitchMode.hpp index 72afa7fb..504a143c 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JIgnoreSilentSwitchMode.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JIgnoreSilentSwitchMode.hpp @@ -2,7 +2,7 @@ /// JIgnoreSilentSwitchMode.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -41,16 +41,15 @@ namespace margelo::nitro::video { [[maybe_unused]] static jni::alias_ref fromCpp(IgnoreSilentSwitchMode value) { static const auto clazz = javaClassStatic(); - static const auto fieldAUTO = clazz->getStaticField("AUTO"); - static const auto fieldIGNORE = clazz->getStaticField("IGNORE"); - static const auto fieldOBEY = clazz->getStaticField("OBEY"); - switch (value) { case IgnoreSilentSwitchMode::AUTO: + static const auto fieldAUTO = clazz->getStaticField("AUTO"); return clazz->getStaticFieldValue(fieldAUTO); case IgnoreSilentSwitchMode::IGNORE: + static const auto fieldIGNORE = clazz->getStaticField("IGNORE"); return clazz->getStaticFieldValue(fieldIGNORE); case IgnoreSilentSwitchMode::OBEY: + static const auto fieldOBEY = clazz->getStaticField("OBEY"); return clazz->getStaticFieldValue(fieldOBEY); default: std::string stringValue = std::to_string(static_cast(value)); diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JListenerSubscription.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JListenerSubscription.hpp index a0bb5d04..37f320c1 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JListenerSubscription.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JListenerSubscription.hpp @@ -2,7 +2,7 @@ /// JListenerSubscription.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JLivePlaybackParams.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JLivePlaybackParams.hpp index 53049e44..362aac91 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JLivePlaybackParams.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JLivePlaybackParams.hpp @@ -2,7 +2,7 @@ /// JLivePlaybackParams.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JMixAudioMode.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JMixAudioMode.hpp index ef2aac4a..3a56d58e 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JMixAudioMode.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JMixAudioMode.hpp @@ -2,7 +2,7 @@ /// JMixAudioMode.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -41,19 +41,18 @@ namespace margelo::nitro::video { [[maybe_unused]] static jni::alias_ref fromCpp(MixAudioMode value) { static const auto clazz = javaClassStatic(); - static const auto fieldMIXWITHOTHERS = clazz->getStaticField("MIXWITHOTHERS"); - static const auto fieldDONOTMIX = clazz->getStaticField("DONOTMIX"); - static const auto fieldDUCKOTHERS = clazz->getStaticField("DUCKOTHERS"); - static const auto fieldAUTO = clazz->getStaticField("AUTO"); - switch (value) { case MixAudioMode::MIXWITHOTHERS: + static const auto fieldMIXWITHOTHERS = clazz->getStaticField("MIXWITHOTHERS"); return clazz->getStaticFieldValue(fieldMIXWITHOTHERS); case MixAudioMode::DONOTMIX: + static const auto fieldDONOTMIX = clazz->getStaticField("DONOTMIX"); return clazz->getStaticFieldValue(fieldDONOTMIX); case MixAudioMode::DUCKOTHERS: + static const auto fieldDUCKOTHERS = clazz->getStaticField("DUCKOTHERS"); return clazz->getStaticFieldValue(fieldDUCKOTHERS); case MixAudioMode::AUTO: + static const auto fieldAUTO = clazz->getStaticField("AUTO"); return clazz->getStaticFieldValue(fieldAUTO); default: std::string stringValue = std::to_string(static_cast(value)); diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JNativeDrmParams.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JNativeDrmParams.hpp index 9e42a706..f5b532dd 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JNativeDrmParams.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JNativeDrmParams.hpp @@ -2,7 +2,7 @@ /// JNativeDrmParams.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JNativeExternalSubtitle.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JNativeExternalSubtitle.hpp index a61a445e..a5b3397d 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JNativeExternalSubtitle.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JNativeExternalSubtitle.hpp @@ -2,7 +2,7 @@ /// JNativeExternalSubtitle.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JNativeVideoConfig.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JNativeVideoConfig.hpp index 8e79eefa..31910d03 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JNativeVideoConfig.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JNativeVideoConfig.hpp @@ -2,7 +2,7 @@ /// JNativeVideoConfig.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JOnGetLicensePayload.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JOnGetLicensePayload.hpp index 494d2777..15b6ffb8 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JOnGetLicensePayload.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JOnGetLicensePayload.hpp @@ -2,7 +2,7 @@ /// JOnGetLicensePayload.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JResizeMode.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JResizeMode.hpp index 18139b92..88e3a89f 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JResizeMode.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JResizeMode.hpp @@ -2,7 +2,7 @@ /// JResizeMode.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -41,19 +41,18 @@ namespace margelo::nitro::video { [[maybe_unused]] static jni::alias_ref fromCpp(ResizeMode value) { static const auto clazz = javaClassStatic(); - static const auto fieldCONTAIN = clazz->getStaticField("CONTAIN"); - static const auto fieldCOVER = clazz->getStaticField("COVER"); - static const auto fieldSTRETCH = clazz->getStaticField("STRETCH"); - static const auto fieldNONE = clazz->getStaticField("NONE"); - switch (value) { case ResizeMode::CONTAIN: + static const auto fieldCONTAIN = clazz->getStaticField("CONTAIN"); return clazz->getStaticFieldValue(fieldCONTAIN); case ResizeMode::COVER: + static const auto fieldCOVER = clazz->getStaticField("COVER"); return clazz->getStaticFieldValue(fieldCOVER); case ResizeMode::STRETCH: + static const auto fieldSTRETCH = clazz->getStaticField("STRETCH"); return clazz->getStaticFieldValue(fieldSTRETCH); case ResizeMode::NONE: + static const auto fieldNONE = clazz->getStaticField("NONE"); return clazz->getStaticFieldValue(fieldNONE); default: std::string stringValue = std::to_string(static_cast(value)); diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JResolution.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JResolution.hpp index 760c001d..fba2e236 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JResolution.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JResolution.hpp @@ -2,7 +2,7 @@ /// JResolution.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JSourceType.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JSourceType.hpp index d79ea1f6..fd3b456e 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JSourceType.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JSourceType.hpp @@ -2,7 +2,7 @@ /// JSourceType.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -41,13 +41,12 @@ namespace margelo::nitro::video { [[maybe_unused]] static jni::alias_ref fromCpp(SourceType value) { static const auto clazz = javaClassStatic(); - static const auto fieldLOCAL = clazz->getStaticField("LOCAL"); - static const auto fieldNETWORK = clazz->getStaticField("NETWORK"); - switch (value) { case SourceType::LOCAL: + static const auto fieldLOCAL = clazz->getStaticField("LOCAL"); return clazz->getStaticFieldValue(fieldLOCAL); case SourceType::NETWORK: + static const auto fieldNETWORK = clazz->getStaticField("NETWORK"); return clazz->getStaticFieldValue(fieldNETWORK); default: std::string stringValue = std::to_string(static_cast(value)); diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JSubtitleType.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JSubtitleType.hpp index ed345295..33b701ed 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JSubtitleType.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JSubtitleType.hpp @@ -2,7 +2,7 @@ /// JSubtitleType.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -41,22 +41,21 @@ namespace margelo::nitro::video { [[maybe_unused]] static jni::alias_ref fromCpp(SubtitleType value) { static const auto clazz = javaClassStatic(); - static const auto fieldAUTO = clazz->getStaticField("AUTO"); - static const auto fieldVTT = clazz->getStaticField("VTT"); - static const auto fieldSRT = clazz->getStaticField("SRT"); - static const auto fieldSSA = clazz->getStaticField("SSA"); - static const auto fieldASS = clazz->getStaticField("ASS"); - switch (value) { case SubtitleType::AUTO: + static const auto fieldAUTO = clazz->getStaticField("AUTO"); return clazz->getStaticFieldValue(fieldAUTO); case SubtitleType::VTT: + static const auto fieldVTT = clazz->getStaticField("VTT"); return clazz->getStaticFieldValue(fieldVTT); case SubtitleType::SRT: + static const auto fieldSRT = clazz->getStaticField("SRT"); return clazz->getStaticFieldValue(fieldSRT); case SubtitleType::SSA: + static const auto fieldSSA = clazz->getStaticField("SSA"); return clazz->getStaticFieldValue(fieldSSA); case SubtitleType::ASS: + static const auto fieldASS = clazz->getStaticField("ASS"); return clazz->getStaticFieldValue(fieldASS); default: std::string stringValue = std::to_string(static_cast(value)); diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JSurfaceType.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JSurfaceType.hpp index 635bfd22..c7263aee 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JSurfaceType.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JSurfaceType.hpp @@ -2,7 +2,7 @@ /// JSurfaceType.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -41,13 +41,12 @@ namespace margelo::nitro::video { [[maybe_unused]] static jni::alias_ref fromCpp(SurfaceType value) { static const auto clazz = javaClassStatic(); - static const auto fieldSURFACE = clazz->getStaticField("SURFACE"); - static const auto fieldTEXTURE = clazz->getStaticField("TEXTURE"); - switch (value) { case SurfaceType::SURFACE: + static const auto fieldSURFACE = clazz->getStaticField("SURFACE"); return clazz->getStaticFieldValue(fieldSURFACE); case SurfaceType::TEXTURE: + static const auto fieldTEXTURE = clazz->getStaticField("TEXTURE"); return clazz->getStaticFieldValue(fieldTEXTURE); default: std::string stringValue = std::to_string(static_cast(value)); diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JTextTrack.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JTextTrack.hpp index cc2ba075..3daab485 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JTextTrack.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JTextTrack.hpp @@ -2,7 +2,7 @@ /// JTextTrack.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JTimedMetadata.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JTimedMetadata.hpp index 79eb023d..67a2c04c 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JTimedMetadata.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JTimedMetadata.hpp @@ -2,7 +2,7 @@ /// JTimedMetadata.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JTimedMetadataObject.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JTimedMetadataObject.hpp index 32644f6c..72304de8 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JTimedMetadataObject.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JTimedMetadataObject.hpp @@ -2,7 +2,7 @@ /// JTimedMetadataObject.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_HybridVideoPlayerSourceSpec.cpp b/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_HybridVideoPlayerSourceSpec.cpp index 97844d18..f24e12e4 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_HybridVideoPlayerSourceSpec.cpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_HybridVideoPlayerSourceSpec.cpp @@ -2,7 +2,7 @@ /// JVariant_NullType_HybridVideoPlayerSourceSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "JVariant_NullType_HybridVideoPlayerSourceSpec.hpp" @@ -19,7 +19,7 @@ namespace margelo::nitro::video { } else if (isInstanceOf(JVariant_NullType_HybridVideoPlayerSourceSpec_impl::Second::javaClassStatic())) { // It's a `std::shared_ptr` auto jniValue = static_cast(this)->getValue(); - return jniValue->cthis()->shared_cast(); + return jniValue->getJHybridVideoPlayerSourceSpec(); } throw std::invalid_argument("Variant is unknown Kotlin instance!"); } diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_HybridVideoPlayerSourceSpec.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_HybridVideoPlayerSourceSpec.hpp index 98b02bd9..63100a31 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_HybridVideoPlayerSourceSpec.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_HybridVideoPlayerSourceSpec.hpp @@ -2,7 +2,7 @@ /// JVariant_NullType_HybridVideoPlayerSourceSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -32,8 +32,8 @@ namespace margelo::nitro::video { static const auto method = javaClassStatic()->getStaticMethod)>("create"); return method(javaClassStatic(), value); } - static jni::local_ref create_1(jni::alias_ref value) { - static const auto method = javaClassStatic()->getStaticMethod)>("create"); + static jni::local_ref create_1(jni::alias_ref value) { + static const auto method = javaClassStatic()->getStaticMethod)>("create"); return method(javaClassStatic(), value); } @@ -49,7 +49,7 @@ namespace margelo::nitro::video { }; namespace JVariant_NullType_HybridVideoPlayerSourceSpec_impl { - class First: public jni::JavaClass { + class First final: public jni::JavaClass { public: static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/Variant_NullType_HybridVideoPlayerSourceSpec$First;"; @@ -59,12 +59,12 @@ namespace margelo::nitro::video { } }; - class Second: public jni::JavaClass { + class Second final: public jni::JavaClass { public: static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/Variant_NullType_HybridVideoPlayerSourceSpec$Second;"; - [[nodiscard]] jni::local_ref getValue() const { - static const auto field = javaClassStatic()->getField("value"); + [[nodiscard]] jni::local_ref getValue() const { + static const auto field = javaClassStatic()->getField("value"); return getFieldValue(field); } }; diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_TextTrack.cpp b/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_TextTrack.cpp index 48738fb4..b774ec86 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_TextTrack.cpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_TextTrack.cpp @@ -2,7 +2,7 @@ /// JVariant_NullType_TextTrack.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "JVariant_NullType_TextTrack.hpp" diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_TextTrack.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_TextTrack.hpp index 52596e75..27bac0dd 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_TextTrack.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JVariant_NullType_TextTrack.hpp @@ -2,7 +2,7 @@ /// JVariant_NullType_TextTrack.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -50,7 +50,7 @@ namespace margelo::nitro::video { }; namespace JVariant_NullType_TextTrack_impl { - class First: public jni::JavaClass { + class First final: public jni::JavaClass { public: static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/Variant_NullType_TextTrack$First;"; @@ -60,7 +60,7 @@ namespace margelo::nitro::video { } }; - class Second: public jni::JavaClass { + class Second final: public jni::JavaClass { public: static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/video/Variant_NullType_TextTrack$Second;"; diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JVideoInformation.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JVideoInformation.hpp index 59172e1a..98f413fc 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JVideoInformation.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JVideoInformation.hpp @@ -2,7 +2,7 @@ /// JVideoInformation.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -38,8 +38,8 @@ namespace margelo::nitro::video { double width = this->getFieldValue(fieldWidth); static const auto fieldHeight = clazz->getField("height"); double height = this->getFieldValue(fieldHeight); - static const auto fieldDuration = clazz->getField("duration"); - int64_t duration = this->getFieldValue(fieldDuration); + static const auto fieldDuration = clazz->getField("duration"); + double duration = this->getFieldValue(fieldDuration); static const auto fieldFileSize = clazz->getField("fileSize"); int64_t fileSize = this->getFieldValue(fieldFileSize); static const auto fieldIsHDR = clazz->getField("isHDR"); @@ -66,7 +66,7 @@ namespace margelo::nitro::video { */ [[maybe_unused]] static jni::local_ref fromCpp(const VideoInformation& value) { - using JSignature = JVideoInformation(double, double, double, int64_t, int64_t, jboolean, jboolean, jni::alias_ref); + using JSignature = JVideoInformation(double, double, double, double, int64_t, jboolean, jboolean, jni::alias_ref); static const auto clazz = javaClassStatic(); static const auto create = clazz->getStaticMethod("fromCpp"); return create( diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JVideoOrientation.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JVideoOrientation.hpp index 118a1470..9c04cd2e 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JVideoOrientation.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JVideoOrientation.hpp @@ -2,7 +2,7 @@ /// JVideoOrientation.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -41,28 +41,27 @@ namespace margelo::nitro::video { [[maybe_unused]] static jni::alias_ref fromCpp(VideoOrientation value) { static const auto clazz = javaClassStatic(); - static const auto fieldPORTRAIT = clazz->getStaticField("PORTRAIT"); - static const auto fieldLANDSCAPE = clazz->getStaticField("LANDSCAPE"); - static const auto fieldPORTRAIT_UPSIDE_DOWN = clazz->getStaticField("PORTRAIT_UPSIDE_DOWN"); - static const auto fieldLANDSCAPE_LEFT = clazz->getStaticField("LANDSCAPE_LEFT"); - static const auto fieldLANDSCAPE_RIGHT = clazz->getStaticField("LANDSCAPE_RIGHT"); - static const auto fieldSQUARE = clazz->getStaticField("SQUARE"); - static const auto fieldUNKNOWN = clazz->getStaticField("UNKNOWN"); - switch (value) { case VideoOrientation::PORTRAIT: + static const auto fieldPORTRAIT = clazz->getStaticField("PORTRAIT"); return clazz->getStaticFieldValue(fieldPORTRAIT); case VideoOrientation::LANDSCAPE: + static const auto fieldLANDSCAPE = clazz->getStaticField("LANDSCAPE"); return clazz->getStaticFieldValue(fieldLANDSCAPE); case VideoOrientation::PORTRAIT_UPSIDE_DOWN: + static const auto fieldPORTRAIT_UPSIDE_DOWN = clazz->getStaticField("PORTRAIT_UPSIDE_DOWN"); return clazz->getStaticFieldValue(fieldPORTRAIT_UPSIDE_DOWN); case VideoOrientation::LANDSCAPE_LEFT: + static const auto fieldLANDSCAPE_LEFT = clazz->getStaticField("LANDSCAPE_LEFT"); return clazz->getStaticFieldValue(fieldLANDSCAPE_LEFT); case VideoOrientation::LANDSCAPE_RIGHT: + static const auto fieldLANDSCAPE_RIGHT = clazz->getStaticField("LANDSCAPE_RIGHT"); return clazz->getStaticFieldValue(fieldLANDSCAPE_RIGHT); case VideoOrientation::SQUARE: + static const auto fieldSQUARE = clazz->getStaticField("SQUARE"); return clazz->getStaticFieldValue(fieldSQUARE); case VideoOrientation::UNKNOWN: + static const auto fieldUNKNOWN = clazz->getStaticField("UNKNOWN"); return clazz->getStaticFieldValue(fieldUNKNOWN); default: std::string stringValue = std::to_string(static_cast(value)); diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JVideoPlayerStatus.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JVideoPlayerStatus.hpp index efbd9cf0..d628ba41 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JVideoPlayerStatus.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JVideoPlayerStatus.hpp @@ -2,7 +2,7 @@ /// JVideoPlayerStatus.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -41,19 +41,18 @@ namespace margelo::nitro::video { [[maybe_unused]] static jni::alias_ref fromCpp(VideoPlayerStatus value) { static const auto clazz = javaClassStatic(); - static const auto fieldIDLE = clazz->getStaticField("IDLE"); - static const auto fieldLOADING = clazz->getStaticField("LOADING"); - static const auto fieldREADYTOPLAY = clazz->getStaticField("READYTOPLAY"); - static const auto fieldERROR = clazz->getStaticField("ERROR"); - switch (value) { case VideoPlayerStatus::IDLE: + static const auto fieldIDLE = clazz->getStaticField("IDLE"); return clazz->getStaticFieldValue(fieldIDLE); case VideoPlayerStatus::LOADING: + static const auto fieldLOADING = clazz->getStaticField("LOADING"); return clazz->getStaticFieldValue(fieldLOADING); case VideoPlayerStatus::READYTOPLAY: + static const auto fieldREADYTOPLAY = clazz->getStaticField("READYTOPLAY"); return clazz->getStaticFieldValue(fieldREADYTOPLAY); case VideoPlayerStatus::ERROR: + static const auto fieldERROR = clazz->getStaticField("ERROR"); return clazz->getStaticFieldValue(fieldERROR); default: std::string stringValue = std::to_string(static_cast(value)); diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JonLoadData.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JonLoadData.hpp index 159c3ca6..b7a75016 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JonLoadData.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JonLoadData.hpp @@ -2,7 +2,7 @@ /// JonLoadData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JonLoadStartData.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JonLoadStartData.hpp index c6d2882d..82b45efb 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JonLoadStartData.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JonLoadStartData.hpp @@ -2,7 +2,7 @@ /// JonLoadStartData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -37,11 +37,11 @@ namespace margelo::nitro::video { static const auto clazz = javaClassStatic(); static const auto fieldSourceType = clazz->getField("sourceType"); jni::local_ref sourceType = this->getFieldValue(fieldSourceType); - static const auto fieldSource = clazz->getField("source"); - jni::local_ref source = this->getFieldValue(fieldSource); + static const auto fieldSource = clazz->getField("source"); + jni::local_ref source = this->getFieldValue(fieldSource); return onLoadStartData( sourceType->toCpp(), - source->cthis()->shared_cast() + source->getJHybridVideoPlayerSourceSpec() ); } @@ -51,7 +51,7 @@ namespace margelo::nitro::video { */ [[maybe_unused]] static jni::local_ref fromCpp(const onLoadStartData& value) { - using JSignature = JonLoadStartData(jni::alias_ref, jni::alias_ref); + using JSignature = JonLoadStartData(jni::alias_ref, jni::alias_ref); static const auto clazz = javaClassStatic(); static const auto create = clazz->getStaticMethod("fromCpp"); return create( diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JonPlaybackStateChangeData.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JonPlaybackStateChangeData.hpp index c18f4cc7..0bcae583 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JonPlaybackStateChangeData.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JonPlaybackStateChangeData.hpp @@ -2,7 +2,7 @@ /// JonPlaybackStateChangeData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JonProgressData.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JonProgressData.hpp index fd4d138e..80414ceb 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JonProgressData.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JonProgressData.hpp @@ -2,7 +2,7 @@ /// JonProgressData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/c++/JonVolumeChangeData.hpp b/packages/react-native-video/nitrogen/generated/android/c++/JonVolumeChangeData.hpp index 3dbcb3b0..c74b112b 100644 --- a/packages/react-native-video/nitrogen/generated/android/c++/JonVolumeChangeData.hpp +++ b/packages/react-native-video/nitrogen/generated/android/c++/JonVolumeChangeData.hpp @@ -2,7 +2,7 @@ /// JonVolumeChangeData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/BandwidthData.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/BandwidthData.kt index deeba4e4..d42cc021 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/BandwidthData.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/BandwidthData.kt @@ -2,7 +2,7 @@ /// BandwidthData.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -29,7 +29,7 @@ data class BandwidthData( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/BufferConfig.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/BufferConfig.kt index 7799c4b0..d9d4849b 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/BufferConfig.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/BufferConfig.kt @@ -2,7 +2,7 @@ /// BufferConfig.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -53,7 +53,7 @@ data class BufferConfig( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/CustomVideoMetadata.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/CustomVideoMetadata.kt index 74b2aace..aa887e87 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/CustomVideoMetadata.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/CustomVideoMetadata.kt @@ -2,7 +2,7 @@ /// CustomVideoMetadata.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -35,7 +35,7 @@ data class CustomVideoMetadata( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.kt index 52929bfc..30141642 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.kt @@ -2,7 +2,7 @@ /// Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void.kt index 1af9752f..28dcf150 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void.kt @@ -2,7 +2,7 @@ /// Func_void.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_BandwidthData.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_BandwidthData.kt index fd01826e..9fad551d 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_BandwidthData.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_BandwidthData.kt @@ -2,7 +2,7 @@ /// Func_void_BandwidthData.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_TimedMetadata.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_TimedMetadata.kt index be92717b..d51542ab 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_TimedMetadata.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_TimedMetadata.kt @@ -2,7 +2,7 @@ /// Func_void_TimedMetadata.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_VideoPlayerStatus.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_VideoPlayerStatus.kt index eb51f870..6b8c74e0 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_VideoPlayerStatus.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_VideoPlayerStatus.kt @@ -2,7 +2,7 @@ /// Func_void_VideoPlayerStatus.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_bool.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_bool.kt index 8705c4f3..856e064d 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_bool.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_bool.kt @@ -2,7 +2,7 @@ /// Func_void_bool.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_double.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_double.kt index a4df1404..cadc3dbe 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_double.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_double.kt @@ -2,7 +2,7 @@ /// Func_void_double.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onLoadData.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onLoadData.kt index 5a118089..e5843ada 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onLoadData.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onLoadData.kt @@ -2,7 +2,7 @@ /// Func_void_onLoadData.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onLoadStartData.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onLoadStartData.kt index 6e0bc943..93d2e04e 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onLoadStartData.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onLoadStartData.kt @@ -2,7 +2,7 @@ /// Func_void_onLoadStartData.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onPlaybackStateChangeData.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onPlaybackStateChangeData.kt index 17fd7acb..47c9bfef 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onPlaybackStateChangeData.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onPlaybackStateChangeData.kt @@ -2,7 +2,7 @@ /// Func_void_onPlaybackStateChangeData.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onProgressData.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onProgressData.kt index 483a1197..1b710ea0 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onProgressData.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onProgressData.kt @@ -2,7 +2,7 @@ /// Func_void_onProgressData.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onVolumeChangeData.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onVolumeChangeData.kt index ef01f213..c73ed618 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onVolumeChangeData.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_onVolumeChangeData.kt @@ -2,7 +2,7 @@ /// Func_void_onVolumeChangeData.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_std__optional_std__variant_nitro__NullType__TextTrack__.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_std__optional_std__variant_nitro__NullType__TextTrack__.kt index 8507472c..42f55696 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_std__optional_std__variant_nitro__NullType__TextTrack__.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_std__optional_std__variant_nitro__NullType__TextTrack__.kt @@ -2,7 +2,7 @@ /// Func_void_std__optional_std__variant_nitro__NullType__TextTrack__.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_std__vector_std__string_.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_std__vector_std__string_.kt index 4ac1ef31..191d4576 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_std__vector_std__string_.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Func_void_std__vector_std__string_.kt @@ -2,7 +2,7 @@ /// Func_void_std__vector_std__string_.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerEventEmitterSpec.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerEventEmitterSpec.kt index 42bd34c0..e1d475c0 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerEventEmitterSpec.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerEventEmitterSpec.kt @@ -2,7 +2,7 @@ /// HybridVideoPlayerEventEmitterSpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -25,23 +25,6 @@ import com.margelo.nitro.core.HybridObject "LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName" ) abstract class HybridVideoPlayerEventEmitterSpec: HybridObject() { - @DoNotStrip - private var mHybridData: HybridData = initHybrid() - - init { - super.updateNative(mHybridData) - } - - override fun updateNative(hybridData: HybridData) { - mHybridData = hybridData - super.updateNative(hybridData) - } - - // Default implementation of `HybridObject.toString()` - override fun toString(): String { - return "[HybridObject VideoPlayerEventEmitter]" - } - // Properties @@ -221,7 +204,21 @@ abstract class HybridVideoPlayerEventEmitterSpec: HybridObject() { @Keep abstract fun clearAllListeners(): Unit - private external fun initHybrid(): HybridData + // Default implementation of `HybridObject.toString()` + override fun toString(): String { + return "[HybridObject VideoPlayerEventEmitter]" + } + + // C++ backing class + @DoNotStrip + @Keep + protected open class CxxPart(javaPart: HybridVideoPlayerEventEmitterSpec): HybridObject.CxxPart(javaPart) { + // C++ JHybridVideoPlayerEventEmitterSpec::CxxPart::initHybrid(...) + external override fun initHybrid(): HybridData + } + override fun createCxxPart(): CxxPart { + return CxxPart(this) + } companion object { protected const val TAG = "HybridVideoPlayerEventEmitterSpec" diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerFactorySpec.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerFactorySpec.kt index b2b9bc07..2440091a 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerFactorySpec.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerFactorySpec.kt @@ -2,7 +2,7 @@ /// HybridVideoPlayerFactorySpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -24,23 +24,6 @@ import com.margelo.nitro.core.HybridObject "LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName" ) abstract class HybridVideoPlayerFactorySpec: HybridObject() { - @DoNotStrip - private var mHybridData: HybridData = initHybrid() - - init { - super.updateNative(mHybridData) - } - - override fun updateNative(hybridData: HybridData) { - mHybridData = hybridData - super.updateNative(hybridData) - } - - // Default implementation of `HybridObject.toString()` - override fun toString(): String { - return "[HybridObject VideoPlayerFactory]" - } - // Properties @@ -49,7 +32,21 @@ abstract class HybridVideoPlayerFactorySpec: HybridObject() { @Keep abstract fun createPlayer(source: HybridVideoPlayerSourceSpec): HybridVideoPlayerSpec - private external fun initHybrid(): HybridData + // Default implementation of `HybridObject.toString()` + override fun toString(): String { + return "[HybridObject VideoPlayerFactory]" + } + + // C++ backing class + @DoNotStrip + @Keep + protected open class CxxPart(javaPart: HybridVideoPlayerFactorySpec): HybridObject.CxxPart(javaPart) { + // C++ JHybridVideoPlayerFactorySpec::CxxPart::initHybrid(...) + external override fun initHybrid(): HybridData + } + override fun createCxxPart(): CxxPart { + return CxxPart(this) + } companion object { protected const val TAG = "HybridVideoPlayerFactorySpec" diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSourceFactorySpec.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSourceFactorySpec.kt index a54fd6c9..9596e36b 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSourceFactorySpec.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSourceFactorySpec.kt @@ -2,7 +2,7 @@ /// HybridVideoPlayerSourceFactorySpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -24,23 +24,6 @@ import com.margelo.nitro.core.HybridObject "LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName" ) abstract class HybridVideoPlayerSourceFactorySpec: HybridObject() { - @DoNotStrip - private var mHybridData: HybridData = initHybrid() - - init { - super.updateNative(mHybridData) - } - - override fun updateNative(hybridData: HybridData) { - mHybridData = hybridData - super.updateNative(hybridData) - } - - // Default implementation of `HybridObject.toString()` - override fun toString(): String { - return "[HybridObject VideoPlayerSourceFactory]" - } - // Properties @@ -53,7 +36,21 @@ abstract class HybridVideoPlayerSourceFactorySpec: HybridObject() { @Keep abstract fun fromVideoConfig(config: NativeVideoConfig): HybridVideoPlayerSourceSpec - private external fun initHybrid(): HybridData + // Default implementation of `HybridObject.toString()` + override fun toString(): String { + return "[HybridObject VideoPlayerSourceFactory]" + } + + // C++ backing class + @DoNotStrip + @Keep + protected open class CxxPart(javaPart: HybridVideoPlayerSourceFactorySpec): HybridObject.CxxPart(javaPart) { + // C++ JHybridVideoPlayerSourceFactorySpec::CxxPart::initHybrid(...) + external override fun initHybrid(): HybridData + } + override fun createCxxPart(): CxxPart { + return CxxPart(this) + } companion object { protected const val TAG = "HybridVideoPlayerSourceFactorySpec" diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSourceSpec.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSourceSpec.kt index 5e8161c9..0507fdbd 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSourceSpec.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSourceSpec.kt @@ -2,7 +2,7 @@ /// HybridVideoPlayerSourceSpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -25,23 +25,6 @@ import com.margelo.nitro.core.HybridObject "LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName" ) abstract class HybridVideoPlayerSourceSpec: HybridObject() { - @DoNotStrip - private var mHybridData: HybridData = initHybrid() - - init { - super.updateNative(mHybridData) - } - - override fun updateNative(hybridData: HybridData) { - mHybridData = hybridData - super.updateNative(hybridData) - } - - // Default implementation of `HybridObject.toString()` - override fun toString(): String { - return "[HybridObject VideoPlayerSource]" - } - // Properties @get:DoNotStrip @get:Keep @@ -56,7 +39,21 @@ abstract class HybridVideoPlayerSourceSpec: HybridObject() { @Keep abstract fun getAssetInformationAsync(): Promise - private external fun initHybrid(): HybridData + // Default implementation of `HybridObject.toString()` + override fun toString(): String { + return "[HybridObject VideoPlayerSource]" + } + + // C++ backing class + @DoNotStrip + @Keep + protected open class CxxPart(javaPart: HybridVideoPlayerSourceSpec): HybridObject.CxxPart(javaPart) { + // C++ JHybridVideoPlayerSourceSpec::CxxPart::initHybrid(...) + external override fun initHybrid(): HybridData + } + override fun createCxxPart(): CxxPart { + return CxxPart(this) + } companion object { protected const val TAG = "HybridVideoPlayerSourceSpec" diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSpec.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSpec.kt index 75caebbd..b908b588 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSpec.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSpec.kt @@ -2,7 +2,7 @@ /// HybridVideoPlayerSpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -26,23 +26,6 @@ import com.margelo.nitro.core.HybridObject "LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName" ) abstract class HybridVideoPlayerSpec: HybridObject() { - @DoNotStrip - private var mHybridData: HybridData = initHybrid() - - init { - super.updateNative(mHybridData) - } - - override fun updateNative(hybridData: HybridData) { - mHybridData = hybridData - super.updateNative(hybridData) - } - - // Default implementation of `HybridObject.toString()` - override fun toString(): String { - return "[HybridObject VideoPlayer]" - } - // Properties @get:DoNotStrip @get:Keep @@ -169,7 +152,21 @@ abstract class HybridVideoPlayerSpec: HybridObject() { @Keep abstract fun seekTo(time: Double): Unit - private external fun initHybrid(): HybridData + // Default implementation of `HybridObject.toString()` + override fun toString(): String { + return "[HybridObject VideoPlayer]" + } + + // C++ backing class + @DoNotStrip + @Keep + protected open class CxxPart(javaPart: HybridVideoPlayerSpec): HybridObject.CxxPart(javaPart) { + // C++ JHybridVideoPlayerSpec::CxxPart::initHybrid(...) + external override fun initHybrid(): HybridData + } + override fun createCxxPart(): CxxPart { + return CxxPart(this) + } companion object { protected const val TAG = "HybridVideoPlayerSpec" diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoViewViewManagerFactorySpec.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoViewViewManagerFactorySpec.kt index f7969dcf..4880dc16 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoViewViewManagerFactorySpec.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoViewViewManagerFactorySpec.kt @@ -2,7 +2,7 @@ /// HybridVideoViewViewManagerFactorySpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -24,23 +24,6 @@ import com.margelo.nitro.core.HybridObject "LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName" ) abstract class HybridVideoViewViewManagerFactorySpec: HybridObject() { - @DoNotStrip - private var mHybridData: HybridData = initHybrid() - - init { - super.updateNative(mHybridData) - } - - override fun updateNative(hybridData: HybridData) { - mHybridData = hybridData - super.updateNative(hybridData) - } - - // Default implementation of `HybridObject.toString()` - override fun toString(): String { - return "[HybridObject VideoViewViewManagerFactory]" - } - // Properties @@ -49,7 +32,21 @@ abstract class HybridVideoViewViewManagerFactorySpec: HybridObject() { @Keep abstract fun createViewManager(nitroId: Double): HybridVideoViewViewManagerSpec - private external fun initHybrid(): HybridData + // Default implementation of `HybridObject.toString()` + override fun toString(): String { + return "[HybridObject VideoViewViewManagerFactory]" + } + + // C++ backing class + @DoNotStrip + @Keep + protected open class CxxPart(javaPart: HybridVideoViewViewManagerFactorySpec): HybridObject.CxxPart(javaPart) { + // C++ JHybridVideoViewViewManagerFactorySpec::CxxPart::initHybrid(...) + external override fun initHybrid(): HybridData + } + override fun createCxxPart(): CxxPart { + return CxxPart(this) + } companion object { protected const val TAG = "HybridVideoViewViewManagerFactorySpec" diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoViewViewManagerSpec.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoViewViewManagerSpec.kt index 67e74233..464736d9 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoViewViewManagerSpec.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoViewViewManagerSpec.kt @@ -2,7 +2,7 @@ /// HybridVideoViewViewManagerSpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -24,23 +24,6 @@ import com.margelo.nitro.core.HybridObject "LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName" ) abstract class HybridVideoViewViewManagerSpec: HybridObject() { - @DoNotStrip - private var mHybridData: HybridData = initHybrid() - - init { - super.updateNative(mHybridData) - } - - override fun updateNative(hybridData: HybridData) { - mHybridData = hybridData - super.updateNative(hybridData) - } - - // Default implementation of `HybridObject.toString()` - override fun toString(): String { - return "[HybridObject VideoViewViewManager]" - } - // Properties @get:DoNotStrip @get:Keep @@ -163,7 +146,21 @@ abstract class HybridVideoViewViewManagerSpec: HybridObject() { @Keep abstract fun clearAllListeners(): Unit - private external fun initHybrid(): HybridData + // Default implementation of `HybridObject.toString()` + override fun toString(): String { + return "[HybridObject VideoViewViewManager]" + } + + // C++ backing class + @DoNotStrip + @Keep + protected open class CxxPart(javaPart: HybridVideoViewViewManagerSpec): HybridObject.CxxPart(javaPart) { + // C++ JHybridVideoViewViewManagerSpec::CxxPart::initHybrid(...) + external override fun initHybrid(): HybridData + } + override fun createCxxPart(): CxxPart { + return CxxPart(this) + } companion object { protected const val TAG = "HybridVideoViewViewManagerSpec" diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/IgnoreSilentSwitchMode.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/IgnoreSilentSwitchMode.kt index e5c70f94..20b318d8 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/IgnoreSilentSwitchMode.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/IgnoreSilentSwitchMode.kt @@ -2,7 +2,7 @@ /// IgnoreSilentSwitchMode.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -19,4 +19,6 @@ enum class IgnoreSilentSwitchMode(@DoNotStrip @Keep val value: Int) { AUTO(0), IGNORE(1), OBEY(2); + + companion object } diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ListenerSubscription.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ListenerSubscription.kt index 58accb9b..59930381 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ListenerSubscription.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ListenerSubscription.kt @@ -2,7 +2,7 @@ /// ListenerSubscription.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -27,7 +27,7 @@ data class ListenerSubscription( constructor(remove: () -> Unit): this(Func_void_java(remove)) - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/LivePlaybackParams.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/LivePlaybackParams.kt index f6677a60..6ee07ace 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/LivePlaybackParams.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/LivePlaybackParams.kt @@ -2,7 +2,7 @@ /// LivePlaybackParams.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -35,7 +35,7 @@ data class LivePlaybackParams( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/MixAudioMode.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/MixAudioMode.kt index 74c5cd99..84d9fa2b 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/MixAudioMode.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/MixAudioMode.kt @@ -2,7 +2,7 @@ /// MixAudioMode.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -20,4 +20,6 @@ enum class MixAudioMode(@DoNotStrip @Keep val value: Int) { DONOTMIX(1), DUCKOTHERS(2), AUTO(3); + + companion object } diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeDrmParams.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeDrmParams.kt index 1e87829a..124d4a99 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeDrmParams.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeDrmParams.kt @@ -2,7 +2,7 @@ /// NativeDrmParams.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -45,7 +45,7 @@ data class NativeDrmParams( constructor(type: String?, licenseUrl: String?, certificateUrl: String?, contentId: String?, licenseHeaders: Map?, multiSession: Boolean?, getLicense: ((payload: OnGetLicensePayload) -> Promise>)?): this(type, licenseUrl, certificateUrl, contentId, licenseHeaders, multiSession, getLicense?.let { Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload_java(it) }) - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeExternalSubtitle.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeExternalSubtitle.kt index 59c7b5dc..8080482f 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeExternalSubtitle.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeExternalSubtitle.kt @@ -2,7 +2,7 @@ /// NativeExternalSubtitle.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -32,7 +32,7 @@ data class NativeExternalSubtitle( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeVideoConfig.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeVideoConfig.kt index 9eebb826..014a3502 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeVideoConfig.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeVideoConfig.kt @@ -2,7 +2,7 @@ /// NativeVideoConfig.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -41,7 +41,7 @@ data class NativeVideoConfig( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/OnGetLicensePayload.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/OnGetLicensePayload.kt index f66fd9e1..32cf47b6 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/OnGetLicensePayload.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/OnGetLicensePayload.kt @@ -2,7 +2,7 @@ /// OnGetLicensePayload.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -32,7 +32,7 @@ data class OnGetLicensePayload( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ReactNativeVideoOnLoad.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ReactNativeVideoOnLoad.kt index 86000ecb..5b121854 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ReactNativeVideoOnLoad.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ReactNativeVideoOnLoad.kt @@ -2,7 +2,7 @@ /// ReactNativeVideoOnLoad.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ResizeMode.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ResizeMode.kt index 1d712918..f6f90f61 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ResizeMode.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/ResizeMode.kt @@ -2,7 +2,7 @@ /// ResizeMode.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -20,4 +20,6 @@ enum class ResizeMode(@DoNotStrip @Keep val value: Int) { COVER(1), STRETCH(2), NONE(3); + + companion object } diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Resolution.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Resolution.kt index c483d784..80c028f7 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Resolution.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Resolution.kt @@ -2,7 +2,7 @@ /// Resolution.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -26,7 +26,7 @@ data class Resolution( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/SourceType.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/SourceType.kt index eea4e3f3..df229f2a 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/SourceType.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/SourceType.kt @@ -2,7 +2,7 @@ /// SourceType.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -18,4 +18,6 @@ import com.facebook.proguard.annotations.DoNotStrip enum class SourceType(@DoNotStrip @Keep val value: Int) { LOCAL(0), NETWORK(1); + + companion object } diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/SubtitleType.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/SubtitleType.kt index 486ddcda..4e89ed53 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/SubtitleType.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/SubtitleType.kt @@ -2,7 +2,7 @@ /// SubtitleType.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -21,4 +21,6 @@ enum class SubtitleType(@DoNotStrip @Keep val value: Int) { SRT(2), SSA(3), ASS(4); + + companion object } diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/SurfaceType.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/SurfaceType.kt index cb6bb0ee..8ec5ca65 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/SurfaceType.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/SurfaceType.kt @@ -2,7 +2,7 @@ /// SurfaceType.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -18,4 +18,6 @@ import com.facebook.proguard.annotations.DoNotStrip enum class SurfaceType(@DoNotStrip @Keep val value: Int) { SURFACE(0), TEXTURE(1); + + companion object } diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/TextTrack.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/TextTrack.kt index 2e2aceb3..967077f9 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/TextTrack.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/TextTrack.kt @@ -2,7 +2,7 @@ /// TextTrack.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -32,7 +32,7 @@ data class TextTrack( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/TimedMetadata.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/TimedMetadata.kt index 101bf406..387e72d3 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/TimedMetadata.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/TimedMetadata.kt @@ -2,7 +2,7 @@ /// TimedMetadata.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -23,7 +23,7 @@ data class TimedMetadata( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/TimedMetadataObject.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/TimedMetadataObject.kt index f289fe35..0b28da46 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/TimedMetadataObject.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/TimedMetadataObject.kt @@ -2,7 +2,7 @@ /// TimedMetadataObject.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -26,7 +26,7 @@ data class TimedMetadataObject( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Variant_NullType_HybridVideoPlayerSourceSpec.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Variant_NullType_HybridVideoPlayerSourceSpec.kt index 96494fc2..c7d71837 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Variant_NullType_HybridVideoPlayerSourceSpec.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Variant_NullType_HybridVideoPlayerSourceSpec.kt @@ -2,7 +2,7 @@ /// Variant_NullType_HybridVideoPlayerSourceSpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -21,12 +21,6 @@ sealed class Variant_NullType_HybridVideoPlayerSourceSpec { @DoNotStrip data class Second(@DoNotStrip val value: HybridVideoPlayerSourceSpec): Variant_NullType_HybridVideoPlayerSourceSpec() - @Deprecated("getAs() is not type-safe. Use fold/asFirstOrNull/asSecondOrNull instead.", level = DeprecationLevel.ERROR) - inline fun getAs(): T? = when (this) { - is First -> value as? T - is Second -> value as? T - } - val isFirst: Boolean get() = this is First val isSecond: Boolean diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Variant_NullType_TextTrack.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Variant_NullType_TextTrack.kt index 6dee41d3..135b8478 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Variant_NullType_TextTrack.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/Variant_NullType_TextTrack.kt @@ -2,7 +2,7 @@ /// Variant_NullType_TextTrack.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -21,12 +21,6 @@ sealed class Variant_NullType_TextTrack { @DoNotStrip data class Second(@DoNotStrip val value: TextTrack): Variant_NullType_TextTrack() - @Deprecated("getAs() is not type-safe. Use fold/asFirstOrNull/asSecondOrNull instead.", level = DeprecationLevel.ERROR) - inline fun getAs(): T? = when (this) { - is First -> value as? T - is Second -> value as? T - } - val isFirst: Boolean get() = this is First val isSecond: Boolean diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoInformation.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoInformation.kt index 5674f91c..36e4ed30 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoInformation.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoInformation.kt @@ -2,7 +2,7 @@ /// VideoInformation.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -28,7 +28,7 @@ data class VideoInformation( val height: Double, @DoNotStrip @Keep - val duration: Long, + val duration: Double, @DoNotStrip @Keep val fileSize: Long, @@ -44,7 +44,7 @@ data class VideoInformation( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ @@ -52,7 +52,7 @@ data class VideoInformation( @Keep @Suppress("unused") @JvmStatic - private fun fromCpp(bitrate: Double, width: Double, height: Double, duration: Long, fileSize: Long, isHDR: Boolean, isLive: Boolean, orientation: VideoOrientation): VideoInformation { + private fun fromCpp(bitrate: Double, width: Double, height: Double, duration: Double, fileSize: Long, isHDR: Boolean, isLive: Boolean, orientation: VideoOrientation): VideoInformation { return VideoInformation(bitrate, width, height, duration, fileSize, isHDR, isLive, orientation) } } diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoOrientation.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoOrientation.kt index aff941ba..197f894a 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoOrientation.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoOrientation.kt @@ -2,7 +2,7 @@ /// VideoOrientation.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -23,4 +23,6 @@ enum class VideoOrientation(@DoNotStrip @Keep val value: Int) { LANDSCAPE_RIGHT(4), SQUARE(5), UNKNOWN(6); + + companion object } diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoPlayerStatus.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoPlayerStatus.kt index a7a767ba..d81daccd 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoPlayerStatus.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/VideoPlayerStatus.kt @@ -2,7 +2,7 @@ /// VideoPlayerStatus.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -20,4 +20,6 @@ enum class VideoPlayerStatus(@DoNotStrip @Keep val value: Int) { LOADING(1), READYTOPLAY(2), ERROR(3); + + companion object } diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onLoadData.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onLoadData.kt index f1117b69..f7a59a13 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onLoadData.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onLoadData.kt @@ -2,7 +2,7 @@ /// onLoadData.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -35,7 +35,7 @@ data class onLoadData( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onLoadStartData.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onLoadStartData.kt index 8e4664ea..0e2908e7 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onLoadStartData.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onLoadStartData.kt @@ -2,7 +2,7 @@ /// onLoadStartData.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -26,7 +26,7 @@ data class onLoadStartData( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onPlaybackStateChangeData.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onPlaybackStateChangeData.kt index 7f079867..1514efd8 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onPlaybackStateChangeData.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onPlaybackStateChangeData.kt @@ -2,7 +2,7 @@ /// onPlaybackStateChangeData.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -26,7 +26,7 @@ data class onPlaybackStateChangeData( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onProgressData.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onProgressData.kt index b069761d..0babaf36 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onProgressData.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onProgressData.kt @@ -2,7 +2,7 @@ /// onProgressData.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -26,7 +26,7 @@ data class onProgressData( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onVolumeChangeData.kt b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onVolumeChangeData.kt index c5630dbc..699713da 100644 --- a/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onVolumeChangeData.kt +++ b/packages/react-native-video/nitrogen/generated/android/kotlin/com/margelo/nitro/video/onVolumeChangeData.kt @@ -2,7 +2,7 @@ /// onVolumeChangeData.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// package com.margelo.nitro.video @@ -26,7 +26,7 @@ data class onVolumeChangeData( ) { /* primary constructor */ - private companion object { + companion object { /** * Constructor called from C++ */ diff --git a/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo+autolinking.rb b/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo+autolinking.rb index 42d45d45..43dab688 100644 --- a/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo+autolinking.rb +++ b/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo+autolinking.rb @@ -2,7 +2,7 @@ # ReactNativeVideo+autolinking.rb # This file was generated by nitrogen. DO NOT MODIFY THIS FILE. # https://github.com/mrousavy/nitro -# Copyright © 2025 Marc Rousavy @ Margelo +# Copyright © Marc Rousavy @ Margelo # # This is a Ruby script that adds all files generated by Nitrogen @@ -52,7 +52,7 @@ def add_nitrogen_files(spec) spec.pod_target_xcconfig = current_pod_target_xcconfig.merge({ # Use C++ 20 "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", - # Enables C++ <-> Swift interop (by default it's only C) + # Enables C++ <-> Swift interop (by default it's only ObjC) "SWIFT_OBJC_INTEROP_MODE" => "objcxx", # Enables stricter modular headers "DEFINES_MODULE" => "YES", diff --git a/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Bridge.cpp b/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Bridge.cpp index 43358ca4..89f48023 100644 --- a/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Bridge.cpp +++ b/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Bridge.cpp @@ -2,7 +2,7 @@ /// ReactNativeVideo-Swift-Cxx-Bridge.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "ReactNativeVideo-Swift-Cxx-Bridge.hpp" diff --git a/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Bridge.hpp b/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Bridge.hpp index 5fd34923..cc750325 100644 --- a/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Bridge.hpp +++ b/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Bridge.hpp @@ -2,7 +2,7 @@ /// ReactNativeVideo-Swift-Cxx-Bridge.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -218,7 +218,7 @@ namespace margelo::nitro::video::bridge::swift { * std::variant cannot be used in Swift because of a Swift bug. * Not even specializing it works. So we create a wrapper struct. */ - struct std__variant_nitro__NullType__std__shared_ptr_HybridVideoPlayerSourceSpec__ { + struct std__variant_nitro__NullType__std__shared_ptr_HybridVideoPlayerSourceSpec__ final { std::variant> variant; std__variant_nitro__NullType__std__shared_ptr_HybridVideoPlayerSourceSpec__(std::variant> variant): variant(variant) { } operator std::variant>() const noexcept { @@ -253,7 +253,7 @@ namespace margelo::nitro::video::bridge::swift { return optional.has_value(); } inline std::variant> get_std__optional_std__variant_nitro__NullType__std__shared_ptr_HybridVideoPlayerSourceSpec___(const std::optional>>& optional) noexcept { - return *optional; + return optional.value(); } // pragma MARK: std::optional @@ -268,7 +268,7 @@ namespace margelo::nitro::video::bridge::swift { return optional.has_value(); } inline std::string get_std__optional_std__string_(const std::optional& optional) noexcept { - return *optional; + return optional.value(); } // pragma MARK: std::vector @@ -288,7 +288,7 @@ namespace margelo::nitro::video::bridge::swift { * std::variant cannot be used in Swift because of a Swift bug. * Not even specializing it works. So we create a wrapper struct. */ - struct std__variant_nitro__NullType__TextTrack_ { + struct std__variant_nitro__NullType__TextTrack_ final { std::variant variant; std__variant_nitro__NullType__TextTrack_(std::variant variant): variant(variant) { } operator std::variant() const noexcept { @@ -323,7 +323,7 @@ namespace margelo::nitro::video::bridge::swift { return optional.has_value(); } inline std::variant get_std__optional_std__variant_nitro__NullType__TextTrack__(const std::optional>& optional) noexcept { - return *optional; + return optional.value(); } // pragma MARK: std::optional @@ -338,7 +338,7 @@ namespace margelo::nitro::video::bridge::swift { return optional.has_value(); } inline TextTrack get_std__optional_TextTrack_(const std::optional& optional) noexcept { - return *optional; + return optional.value(); } // pragma MARK: std::shared_ptr @@ -435,7 +435,7 @@ namespace margelo::nitro::video::bridge::swift { return optional.has_value(); } inline double get_std__optional_double_(const std::optional& optional) noexcept { - return *optional; + return optional.value(); } // pragma MARK: std::function @@ -734,7 +734,7 @@ namespace margelo::nitro::video::bridge::swift { return optional.has_value(); } inline std::vector get_std__optional_std__vector_NativeExternalSubtitle__(const std::optional>& optional) noexcept { - return *optional; + return optional.value(); } // pragma MARK: std::unordered_map @@ -774,7 +774,7 @@ namespace margelo::nitro::video::bridge::swift { return optional.has_value(); } inline std::unordered_map get_std__optional_std__unordered_map_std__string__std__string__(const std::optional>& optional) noexcept { - return *optional; + return optional.value(); } // pragma MARK: std::optional @@ -789,7 +789,7 @@ namespace margelo::nitro::video::bridge::swift { return optional.has_value(); } inline bool get_std__optional_bool_(const std::optional& optional) noexcept { - return *optional; + return optional.value(); } // pragma MARK: std::shared_ptr> @@ -895,7 +895,7 @@ namespace margelo::nitro::video::bridge::swift { return optional.has_value(); } inline std::function>>>(const OnGetLicensePayload& /* payload */)> get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____const_OnGetLicensePayload_____payload______(const std::optional>>>(const OnGetLicensePayload& /* payload */)>>& optional) noexcept { - return *optional; + return optional.value(); } // pragma MARK: std::optional @@ -910,7 +910,7 @@ namespace margelo::nitro::video::bridge::swift { return optional.has_value(); } inline NativeDrmParams get_std__optional_NativeDrmParams_(const std::optional& optional) noexcept { - return *optional; + return optional.value(); } // pragma MARK: std::optional @@ -925,7 +925,7 @@ namespace margelo::nitro::video::bridge::swift { return optional.has_value(); } inline LivePlaybackParams get_std__optional_LivePlaybackParams_(const std::optional& optional) noexcept { - return *optional; + return optional.value(); } // pragma MARK: std::optional @@ -940,7 +940,7 @@ namespace margelo::nitro::video::bridge::swift { return optional.has_value(); } inline Resolution get_std__optional_Resolution_(const std::optional& optional) noexcept { - return *optional; + return optional.value(); } // pragma MARK: std::optional @@ -955,7 +955,7 @@ namespace margelo::nitro::video::bridge::swift { return optional.has_value(); } inline BufferConfig get_std__optional_BufferConfig_(const std::optional& optional) noexcept { - return *optional; + return optional.value(); } // pragma MARK: std::optional @@ -970,7 +970,7 @@ namespace margelo::nitro::video::bridge::swift { return optional.has_value(); } inline CustomVideoMetadata get_std__optional_CustomVideoMetadata_(const std::optional& optional) noexcept { - return *optional; + return optional.value(); } // pragma MARK: std::shared_ptr> @@ -1049,7 +1049,7 @@ namespace margelo::nitro::video::bridge::swift { return optional.has_value(); } inline std::shared_ptr get_std__optional_std__shared_ptr_HybridVideoPlayerSpec__(const std::optional>& optional) noexcept { - return *optional; + return optional.value(); } // pragma MARK: std::shared_ptr diff --git a/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Umbrella.hpp b/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Umbrella.hpp index b48e4548..35fce7ed 100644 --- a/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Umbrella.hpp +++ b/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Umbrella.hpp @@ -2,7 +2,7 @@ /// ReactNativeVideo-Swift-Cxx-Umbrella.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideoAutolinking.mm b/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideoAutolinking.mm index c4302e17..49679a2f 100644 --- a/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideoAutolinking.mm +++ b/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideoAutolinking.mm @@ -2,7 +2,7 @@ /// ReactNativeVideoAutolinking.mm /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #import diff --git a/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideoAutolinking.swift b/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideoAutolinking.swift index 4d2ef780..55c427ab 100644 --- a/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideoAutolinking.swift +++ b/packages/react-native-video/nitrogen/generated/ios/ReactNativeVideoAutolinking.swift @@ -2,19 +2,16 @@ /// ReactNativeVideoAutolinking.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// +import NitroModules + +// TODO: Use empty enums once Swift supports exporting them as namespaces +// See: https://github.com/swiftlang/swift/pull/83616 public final class ReactNativeVideoAutolinking { public typealias bridge = margelo.nitro.video.bridge.swift - /** - * Creates an instance of a Swift class that implements `HybridVideoPlayerFactorySpec`, - * and wraps it in a Swift class that can directly interop with C++ (`HybridVideoPlayerFactorySpec_cxx`) - * - * This is generated by Nitrogen and will initialize the class specified - * in the `"autolinking"` property of `nitro.json` (in this case, `HybridVideoPlayerFactory`). - */ public static func createVideoPlayerFactory() -> bridge.std__shared_ptr_HybridVideoPlayerFactorySpec_ { let hybridObject = HybridVideoPlayerFactory() return { () -> bridge.std__shared_ptr_HybridVideoPlayerFactorySpec_ in @@ -23,13 +20,10 @@ public final class ReactNativeVideoAutolinking { }() } - /** - * Creates an instance of a Swift class that implements `HybridVideoPlayerSourceFactorySpec`, - * and wraps it in a Swift class that can directly interop with C++ (`HybridVideoPlayerSourceFactorySpec_cxx`) - * - * This is generated by Nitrogen and will initialize the class specified - * in the `"autolinking"` property of `nitro.json` (in this case, `HybridVideoPlayerSourceFactory`). - */ + public static func isVideoPlayerFactoryRecyclable() -> Bool { + return HybridVideoPlayerFactory.self is any RecyclableView.Type + } + public static func createVideoPlayerSourceFactory() -> bridge.std__shared_ptr_HybridVideoPlayerSourceFactorySpec_ { let hybridObject = HybridVideoPlayerSourceFactory() return { () -> bridge.std__shared_ptr_HybridVideoPlayerSourceFactorySpec_ in @@ -38,13 +32,10 @@ public final class ReactNativeVideoAutolinking { }() } - /** - * Creates an instance of a Swift class that implements `HybridVideoViewViewManagerFactorySpec`, - * and wraps it in a Swift class that can directly interop with C++ (`HybridVideoViewViewManagerFactorySpec_cxx`) - * - * This is generated by Nitrogen and will initialize the class specified - * in the `"autolinking"` property of `nitro.json` (in this case, `HybridVideoViewViewManagerFactory`). - */ + public static func isVideoPlayerSourceFactoryRecyclable() -> Bool { + return HybridVideoPlayerSourceFactory.self is any RecyclableView.Type + } + public static func createVideoViewViewManagerFactory() -> bridge.std__shared_ptr_HybridVideoViewViewManagerFactorySpec_ { let hybridObject = HybridVideoViewViewManagerFactory() return { () -> bridge.std__shared_ptr_HybridVideoViewViewManagerFactorySpec_ in @@ -52,4 +43,8 @@ public final class ReactNativeVideoAutolinking { return __cxxWrapped.getCxxPart() }() } + + public static func isVideoViewViewManagerFactoryRecyclable() -> Bool { + return HybridVideoViewViewManagerFactory.self is any RecyclableView.Type + } } diff --git a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerEventEmitterSpecSwift.cpp b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerEventEmitterSpecSwift.cpp index 6c47efb2..7e23d392 100644 --- a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerEventEmitterSpecSwift.cpp +++ b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerEventEmitterSpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerEventEmitterSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridVideoPlayerEventEmitterSpecSwift.hpp" diff --git a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerEventEmitterSpecSwift.hpp b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerEventEmitterSpecSwift.hpp index dd47ef62..7571e7d0 100644 --- a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerEventEmitterSpecSwift.hpp +++ b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerEventEmitterSpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerEventEmitterSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -94,6 +94,12 @@ namespace margelo::nitro::video { inline size_t getExternalMemorySize() noexcept override { return _swiftPart.getMemorySize(); } + bool equals(const std::shared_ptr& other) override { + if (auto otherCast = std::dynamic_pointer_cast(other)) { + return _swiftPart.equals(otherCast->_swiftPart); + } + return false; + } void dispose() noexcept override { _swiftPart.dispose(); } diff --git a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerFactorySpecSwift.cpp b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerFactorySpecSwift.cpp index 2cbf600f..d71872c6 100644 --- a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerFactorySpecSwift.cpp +++ b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerFactorySpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerFactorySpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridVideoPlayerFactorySpecSwift.hpp" diff --git a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerFactorySpecSwift.hpp b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerFactorySpecSwift.hpp index 5b3f1821..dc7e93eb 100644 --- a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerFactorySpecSwift.hpp +++ b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerFactorySpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerFactorySpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -52,6 +52,12 @@ namespace margelo::nitro::video { inline size_t getExternalMemorySize() noexcept override { return _swiftPart.getMemorySize(); } + bool equals(const std::shared_ptr& other) override { + if (auto otherCast = std::dynamic_pointer_cast(other)) { + return _swiftPart.equals(otherCast->_swiftPart); + } + return false; + } void dispose() noexcept override { _swiftPart.dispose(); } diff --git a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceFactorySpecSwift.cpp b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceFactorySpecSwift.cpp index 4329f288..87e000eb 100644 --- a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceFactorySpecSwift.cpp +++ b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceFactorySpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerSourceFactorySpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridVideoPlayerSourceFactorySpecSwift.hpp" diff --git a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceFactorySpecSwift.hpp b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceFactorySpecSwift.hpp index ae2bb6ff..025ba874 100644 --- a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceFactorySpecSwift.hpp +++ b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceFactorySpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerSourceFactorySpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -82,6 +82,12 @@ namespace margelo::nitro::video { inline size_t getExternalMemorySize() noexcept override { return _swiftPart.getMemorySize(); } + bool equals(const std::shared_ptr& other) override { + if (auto otherCast = std::dynamic_pointer_cast(other)) { + return _swiftPart.equals(otherCast->_swiftPart); + } + return false; + } void dispose() noexcept override { _swiftPart.dispose(); } diff --git a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceSpecSwift.cpp b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceSpecSwift.cpp index 484ce67b..2ae95d38 100644 --- a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceSpecSwift.cpp +++ b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceSpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerSourceSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridVideoPlayerSourceSpecSwift.hpp" diff --git a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceSpecSwift.hpp b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceSpecSwift.hpp index 9c899a18..f62b1db9 100644 --- a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceSpecSwift.hpp +++ b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSourceSpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerSourceSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -84,6 +84,12 @@ namespace margelo::nitro::video { inline size_t getExternalMemorySize() noexcept override { return _swiftPart.getMemorySize(); } + bool equals(const std::shared_ptr& other) override { + if (auto otherCast = std::dynamic_pointer_cast(other)) { + return _swiftPart.equals(otherCast->_swiftPart); + } + return false; + } void dispose() noexcept override { _swiftPart.dispose(); } diff --git a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSpecSwift.cpp b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSpecSwift.cpp index 90a4cbd0..7e760a9f 100644 --- a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSpecSwift.cpp +++ b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridVideoPlayerSpecSwift.hpp" diff --git a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSpecSwift.hpp b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSpecSwift.hpp index 096ae8c6..d1681e8d 100644 --- a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSpecSwift.hpp +++ b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoPlayerSpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -70,6 +70,12 @@ namespace margelo::nitro::video { inline size_t getExternalMemorySize() noexcept override { return _swiftPart.getMemorySize(); } + bool equals(const std::shared_ptr& other) override { + if (auto otherCast = std::dynamic_pointer_cast(other)) { + return _swiftPart.equals(otherCast->_swiftPart); + } + return false; + } void dispose() noexcept override { _swiftPart.dispose(); } diff --git a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerFactorySpecSwift.cpp b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerFactorySpecSwift.cpp index 4e0fa316..3cdd6c7c 100644 --- a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerFactorySpecSwift.cpp +++ b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerFactorySpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridVideoViewViewManagerFactorySpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridVideoViewViewManagerFactorySpecSwift.hpp" diff --git a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerFactorySpecSwift.hpp b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerFactorySpecSwift.hpp index d8507862..3d5a3a87 100644 --- a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerFactorySpecSwift.hpp +++ b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerFactorySpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridVideoViewViewManagerFactorySpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -49,6 +49,12 @@ namespace margelo::nitro::video { inline size_t getExternalMemorySize() noexcept override { return _swiftPart.getMemorySize(); } + bool equals(const std::shared_ptr& other) override { + if (auto otherCast = std::dynamic_pointer_cast(other)) { + return _swiftPart.equals(otherCast->_swiftPart); + } + return false; + } void dispose() noexcept override { _swiftPart.dispose(); } diff --git a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerSpecSwift.cpp b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerSpecSwift.cpp index e004cc59..6f4052dd 100644 --- a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerSpecSwift.cpp +++ b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerSpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridVideoViewViewManagerSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridVideoViewViewManagerSpecSwift.hpp" diff --git a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerSpecSwift.hpp b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerSpecSwift.hpp index b48f4b36..dd0e0a7f 100644 --- a/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerSpecSwift.hpp +++ b/packages/react-native-video/nitrogen/generated/ios/c++/HybridVideoViewViewManagerSpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridVideoViewViewManagerSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -60,6 +60,12 @@ namespace margelo::nitro::video { inline size_t getExternalMemorySize() noexcept override { return _swiftPart.getMemorySize(); } + bool equals(const std::shared_ptr& other) override { + if (auto otherCast = std::dynamic_pointer_cast(other)) { + return _swiftPart.equals(otherCast->_swiftPart); + } + return false; + } void dispose() noexcept override { _swiftPart.dispose(); } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/BandwidthData.swift b/packages/react-native-video/nitrogen/generated/ios/swift/BandwidthData.swift index 966c84da..c75ee31b 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/BandwidthData.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/BandwidthData.swift @@ -2,10 +2,9 @@ /// BandwidthData.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -35,48 +34,32 @@ public extension BandwidthData { }()) } + @inline(__always) var bitrate: Double { - @inline(__always) - get { - return self.__bitrate - } - @inline(__always) - set { - self.__bitrate = newValue - } + return self.__bitrate } + @inline(__always) var width: Double? { - @inline(__always) - get { - return self.__width.value - } - @inline(__always) - set { - self.__width = { () -> bridge.std__optional_double_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_double_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Double? in + if bridge.has_value_std__optional_double_(self.__width) { + let __unwrapped = bridge.get_std__optional_double_(self.__width) + return __unwrapped + } else { + return nil + } + }() } + @inline(__always) var height: Double? { - @inline(__always) - get { - return self.__height.value - } - @inline(__always) - set { - self.__height = { () -> bridge.std__optional_double_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_double_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Double? in + if bridge.has_value_std__optional_double_(self.__height) { + let __unwrapped = bridge.get_std__optional_double_(self.__height) + return __unwrapped + } else { + return nil + } + }() } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/BufferConfig.swift b/packages/react-native-video/nitrogen/generated/ios/swift/BufferConfig.swift index d1d88d56..4c63027d 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/BufferConfig.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/BufferConfig.swift @@ -2,10 +2,9 @@ /// BufferConfig.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -89,190 +88,114 @@ public extension BufferConfig { }()) } + @inline(__always) var livePlayback: LivePlaybackParams? { - @inline(__always) - get { - return self.__livePlayback.value - } - @inline(__always) - set { - self.__livePlayback = { () -> bridge.std__optional_LivePlaybackParams_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_LivePlaybackParams_(__unwrappedValue) - } else { - return .init() - } - }() - } + return self.__livePlayback.value } + @inline(__always) var minBufferMs: Double? { - @inline(__always) - get { - return self.__minBufferMs.value - } - @inline(__always) - set { - self.__minBufferMs = { () -> bridge.std__optional_double_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_double_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Double? in + if bridge.has_value_std__optional_double_(self.__minBufferMs) { + let __unwrapped = bridge.get_std__optional_double_(self.__minBufferMs) + return __unwrapped + } else { + return nil + } + }() } + @inline(__always) var maxBufferMs: Double? { - @inline(__always) - get { - return self.__maxBufferMs.value - } - @inline(__always) - set { - self.__maxBufferMs = { () -> bridge.std__optional_double_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_double_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Double? in + if bridge.has_value_std__optional_double_(self.__maxBufferMs) { + let __unwrapped = bridge.get_std__optional_double_(self.__maxBufferMs) + return __unwrapped + } else { + return nil + } + }() } + @inline(__always) var bufferForPlaybackMs: Double? { - @inline(__always) - get { - return self.__bufferForPlaybackMs.value - } - @inline(__always) - set { - self.__bufferForPlaybackMs = { () -> bridge.std__optional_double_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_double_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Double? in + if bridge.has_value_std__optional_double_(self.__bufferForPlaybackMs) { + let __unwrapped = bridge.get_std__optional_double_(self.__bufferForPlaybackMs) + return __unwrapped + } else { + return nil + } + }() } + @inline(__always) var bufferForPlaybackAfterRebufferMs: Double? { - @inline(__always) - get { - return self.__bufferForPlaybackAfterRebufferMs.value - } - @inline(__always) - set { - self.__bufferForPlaybackAfterRebufferMs = { () -> bridge.std__optional_double_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_double_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Double? in + if bridge.has_value_std__optional_double_(self.__bufferForPlaybackAfterRebufferMs) { + let __unwrapped = bridge.get_std__optional_double_(self.__bufferForPlaybackAfterRebufferMs) + return __unwrapped + } else { + return nil + } + }() } + @inline(__always) var backBufferDurationMs: Double? { - @inline(__always) - get { - return self.__backBufferDurationMs.value - } - @inline(__always) - set { - self.__backBufferDurationMs = { () -> bridge.std__optional_double_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_double_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Double? in + if bridge.has_value_std__optional_double_(self.__backBufferDurationMs) { + let __unwrapped = bridge.get_std__optional_double_(self.__backBufferDurationMs) + return __unwrapped + } else { + return nil + } + }() } + @inline(__always) var preferredForwardBufferDurationMs: Double? { - @inline(__always) - get { - return self.__preferredForwardBufferDurationMs.value - } - @inline(__always) - set { - self.__preferredForwardBufferDurationMs = { () -> bridge.std__optional_double_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_double_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Double? in + if bridge.has_value_std__optional_double_(self.__preferredForwardBufferDurationMs) { + let __unwrapped = bridge.get_std__optional_double_(self.__preferredForwardBufferDurationMs) + return __unwrapped + } else { + return nil + } + }() } + @inline(__always) var preferredPeakBitRate: Double? { - @inline(__always) - get { - return self.__preferredPeakBitRate.value - } - @inline(__always) - set { - self.__preferredPeakBitRate = { () -> bridge.std__optional_double_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_double_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Double? in + if bridge.has_value_std__optional_double_(self.__preferredPeakBitRate) { + let __unwrapped = bridge.get_std__optional_double_(self.__preferredPeakBitRate) + return __unwrapped + } else { + return nil + } + }() } + @inline(__always) var preferredMaximumResolution: Resolution? { - @inline(__always) - get { - return self.__preferredMaximumResolution.value - } - @inline(__always) - set { - self.__preferredMaximumResolution = { () -> bridge.std__optional_Resolution_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_Resolution_(__unwrappedValue) - } else { - return .init() - } - }() - } + return self.__preferredMaximumResolution.value } + @inline(__always) var preferredPeakBitRateForExpensiveNetworks: Double? { - @inline(__always) - get { - return self.__preferredPeakBitRateForExpensiveNetworks.value - } - @inline(__always) - set { - self.__preferredPeakBitRateForExpensiveNetworks = { () -> bridge.std__optional_double_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_double_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Double? in + if bridge.has_value_std__optional_double_(self.__preferredPeakBitRateForExpensiveNetworks) { + let __unwrapped = bridge.get_std__optional_double_(self.__preferredPeakBitRateForExpensiveNetworks) + return __unwrapped + } else { + return nil + } + }() } + @inline(__always) var preferredMaximumResolutionForExpensiveNetworks: Resolution? { - @inline(__always) - get { - return self.__preferredMaximumResolutionForExpensiveNetworks.value - } - @inline(__always) - set { - self.__preferredMaximumResolutionForExpensiveNetworks = { () -> bridge.std__optional_Resolution_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_Resolution_(__unwrappedValue) - } else { - return .init() - } - }() - } + return self.__preferredMaximumResolutionForExpensiveNetworks.value } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/CustomVideoMetadata.swift b/packages/react-native-video/nitrogen/generated/ios/swift/CustomVideoMetadata.swift index ce746e70..4cd9da5a 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/CustomVideoMetadata.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/CustomVideoMetadata.swift @@ -2,10 +2,9 @@ /// CustomVideoMetadata.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -53,123 +52,63 @@ public extension CustomVideoMetadata { }()) } + @inline(__always) var title: String? { - @inline(__always) - get { - return { () -> String? in - if bridge.has_value_std__optional_std__string_(self.__title) { - let __unwrapped = bridge.get_std__optional_std__string_(self.__title) - return String(__unwrapped) - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__title = { () -> bridge.std__optional_std__string_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_std__string_(std.string(__unwrappedValue)) - } else { - return .init() - } - }() - } + return { () -> String? in + if bridge.has_value_std__optional_std__string_(self.__title) { + let __unwrapped = bridge.get_std__optional_std__string_(self.__title) + return String(__unwrapped) + } else { + return nil + } + }() } + @inline(__always) var subtitle: String? { - @inline(__always) - get { - return { () -> String? in - if bridge.has_value_std__optional_std__string_(self.__subtitle) { - let __unwrapped = bridge.get_std__optional_std__string_(self.__subtitle) - return String(__unwrapped) - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__subtitle = { () -> bridge.std__optional_std__string_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_std__string_(std.string(__unwrappedValue)) - } else { - return .init() - } - }() - } + return { () -> String? in + if bridge.has_value_std__optional_std__string_(self.__subtitle) { + let __unwrapped = bridge.get_std__optional_std__string_(self.__subtitle) + return String(__unwrapped) + } else { + return nil + } + }() } + @inline(__always) var description: String? { - @inline(__always) - get { - return { () -> String? in - if bridge.has_value_std__optional_std__string_(self.__description) { - let __unwrapped = bridge.get_std__optional_std__string_(self.__description) - return String(__unwrapped) - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__description = { () -> bridge.std__optional_std__string_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_std__string_(std.string(__unwrappedValue)) - } else { - return .init() - } - }() - } + return { () -> String? in + if bridge.has_value_std__optional_std__string_(self.__description) { + let __unwrapped = bridge.get_std__optional_std__string_(self.__description) + return String(__unwrapped) + } else { + return nil + } + }() } + @inline(__always) var artist: String? { - @inline(__always) - get { - return { () -> String? in - if bridge.has_value_std__optional_std__string_(self.__artist) { - let __unwrapped = bridge.get_std__optional_std__string_(self.__artist) - return String(__unwrapped) - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__artist = { () -> bridge.std__optional_std__string_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_std__string_(std.string(__unwrappedValue)) - } else { - return .init() - } - }() - } + return { () -> String? in + if bridge.has_value_std__optional_std__string_(self.__artist) { + let __unwrapped = bridge.get_std__optional_std__string_(self.__artist) + return String(__unwrapped) + } else { + return nil + } + }() } + @inline(__always) var imageUri: String? { - @inline(__always) - get { - return { () -> String? in - if bridge.has_value_std__optional_std__string_(self.__imageUri) { - let __unwrapped = bridge.get_std__optional_std__string_(self.__imageUri) - return String(__unwrapped) - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__imageUri = { () -> bridge.std__optional_std__string_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_std__string_(std.string(__unwrappedValue)) - } else { - return .init() - } - }() - } + return { () -> String? in + if bridge.has_value_std__optional_std__string_(self.__imageUri) { + let __unwrapped = bridge.get_std__optional_std__string_(self.__imageUri) + return String(__unwrapped) + } else { + return nil + } + }() } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.swift index a0e368ed..4d5159fe 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.swift @@ -2,10 +2,9 @@ /// Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void.swift index 3139c473..2e070b14 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void.swift @@ -2,10 +2,9 @@ /// Func_void.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_BandwidthData.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_BandwidthData.swift index e16b3495..a0478d30 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_BandwidthData.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_BandwidthData.swift @@ -2,10 +2,9 @@ /// Func_void_BandwidthData.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_TimedMetadata.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_TimedMetadata.swift index b9db91d9..387ed0a3 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_TimedMetadata.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_TimedMetadata.swift @@ -2,10 +2,9 @@ /// Func_void_TimedMetadata.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_VideoInformation.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_VideoInformation.swift index 8ae8f4e2..f39d4280 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_VideoInformation.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_VideoInformation.swift @@ -2,10 +2,9 @@ /// Func_void_VideoInformation.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_VideoPlayerStatus.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_VideoPlayerStatus.swift index 8d7d091c..41edf44f 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_VideoPlayerStatus.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_VideoPlayerStatus.swift @@ -2,10 +2,9 @@ /// Func_void_VideoPlayerStatus.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_bool.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_bool.swift index d4d88c69..754ccefb 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_bool.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_bool.swift @@ -2,10 +2,9 @@ /// Func_void_bool.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_double.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_double.swift index a23ff459..c9ed5751 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_double.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_double.swift @@ -2,10 +2,9 @@ /// Func_void_double.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onLoadData.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onLoadData.swift index 8241fbf5..c85475f0 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onLoadData.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onLoadData.swift @@ -2,10 +2,9 @@ /// Func_void_onLoadData.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onLoadStartData.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onLoadStartData.swift index a2ab0556..4aca65b3 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onLoadStartData.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onLoadStartData.swift @@ -2,10 +2,9 @@ /// Func_void_onLoadStartData.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onPlaybackStateChangeData.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onPlaybackStateChangeData.swift index 463fb2ca..ae7ad0a1 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onPlaybackStateChangeData.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onPlaybackStateChangeData.swift @@ -2,10 +2,9 @@ /// Func_void_onPlaybackStateChangeData.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onProgressData.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onProgressData.swift index aac44735..efd625ba 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onProgressData.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onProgressData.swift @@ -2,10 +2,9 @@ /// Func_void_onProgressData.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onVolumeChangeData.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onVolumeChangeData.swift index 7234bff7..fcb96785 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onVolumeChangeData.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_onVolumeChangeData.swift @@ -2,10 +2,9 @@ /// Func_void_onVolumeChangeData.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift index 06b26143..9f7a9a37 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift @@ -2,10 +2,9 @@ /// Func_void_std__exception_ptr.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__optional_std__variant_nitro__NullType__TextTrack__.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__optional_std__variant_nitro__NullType__TextTrack__.swift index 6ec17592..edbaaa9e 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__optional_std__variant_nitro__NullType__TextTrack__.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__optional_std__variant_nitro__NullType__TextTrack__.swift @@ -2,10 +2,9 @@ /// Func_void_std__optional_std__variant_nitro__NullType__TextTrack__.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_std__string__.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_std__string__.swift index 812ccbca..ebe88f24 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_std__string__.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_std__string__.swift @@ -2,10 +2,9 @@ /// Func_void_std__shared_ptr_Promise_std__string__.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__string.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__string.swift index 47187d4a..1af0cb48 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__string.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__string.swift @@ -2,10 +2,9 @@ /// Func_void_std__string.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift index 7949acf8..c339926c 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift @@ -2,10 +2,9 @@ /// Func_void_std__vector_std__string_.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerEventEmitterSpec.swift b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerEventEmitterSpec.swift index 97542cb1..85d1bcb3 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerEventEmitterSpec.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerEventEmitterSpec.swift @@ -2,10 +2,9 @@ /// HybridVideoPlayerEventEmitterSpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /// See ``HybridVideoPlayerEventEmitterSpec`` @@ -49,14 +48,14 @@ open class HybridVideoPlayerEventEmitterSpec_base { public init() { } public func getCxxWrapper() -> HybridVideoPlayerEventEmitterSpec_cxx { #if DEBUG - guard self is HybridVideoPlayerEventEmitterSpec else { + guard self is any HybridVideoPlayerEventEmitterSpec else { fatalError("`self` is not a `HybridVideoPlayerEventEmitterSpec`! Did you accidentally inherit from `HybridVideoPlayerEventEmitterSpec_base` instead of `HybridVideoPlayerEventEmitterSpec`?") } #endif if let cxxWrapper = self.cxxWrapper { return cxxWrapper } else { - let cxxWrapper = HybridVideoPlayerEventEmitterSpec_cxx(self as! HybridVideoPlayerEventEmitterSpec) + let cxxWrapper = HybridVideoPlayerEventEmitterSpec_cxx(self as! any HybridVideoPlayerEventEmitterSpec) self.cxxWrapper = cxxWrapper return cxxWrapper } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerEventEmitterSpec_cxx.swift b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerEventEmitterSpec_cxx.swift index 66e61478..dcc394a9 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerEventEmitterSpec_cxx.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerEventEmitterSpec_cxx.swift @@ -2,10 +2,9 @@ /// HybridVideoPlayerEventEmitterSpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -96,6 +95,14 @@ open class HybridVideoPlayerEventEmitterSpec_cxx { return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize } + /** + * Compares this object with the given [other] object for reference equality. + */ + @inline(__always) + public func equals(other: HybridVideoPlayerEventEmitterSpec_cxx) -> Bool { + return self.__implementation === other.__implementation + } + /** * Call dispose() on the Swift class. * This _may_ be called manually from JS. diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerFactorySpec.swift b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerFactorySpec.swift index 8c2422bd..b0e611be 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerFactorySpec.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerFactorySpec.swift @@ -2,10 +2,9 @@ /// HybridVideoPlayerFactorySpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /// See ``HybridVideoPlayerFactorySpec`` @@ -30,14 +29,14 @@ open class HybridVideoPlayerFactorySpec_base { public init() { } public func getCxxWrapper() -> HybridVideoPlayerFactorySpec_cxx { #if DEBUG - guard self is HybridVideoPlayerFactorySpec else { + guard self is any HybridVideoPlayerFactorySpec else { fatalError("`self` is not a `HybridVideoPlayerFactorySpec`! Did you accidentally inherit from `HybridVideoPlayerFactorySpec_base` instead of `HybridVideoPlayerFactorySpec`?") } #endif if let cxxWrapper = self.cxxWrapper { return cxxWrapper } else { - let cxxWrapper = HybridVideoPlayerFactorySpec_cxx(self as! HybridVideoPlayerFactorySpec) + let cxxWrapper = HybridVideoPlayerFactorySpec_cxx(self as! any HybridVideoPlayerFactorySpec) self.cxxWrapper = cxxWrapper return cxxWrapper } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerFactorySpec_cxx.swift b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerFactorySpec_cxx.swift index 53301c9e..ec41c381 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerFactorySpec_cxx.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerFactorySpec_cxx.swift @@ -2,10 +2,9 @@ /// HybridVideoPlayerFactorySpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -96,6 +95,14 @@ open class HybridVideoPlayerFactorySpec_cxx { return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize } + /** + * Compares this object with the given [other] object for reference equality. + */ + @inline(__always) + public func equals(other: HybridVideoPlayerFactorySpec_cxx) -> Bool { + return self.__implementation === other.__implementation + } + /** * Call dispose() on the Swift class. * This _may_ be called manually from JS. @@ -120,7 +127,7 @@ open class HybridVideoPlayerFactorySpec_cxx { @inline(__always) public final func createPlayer(source: bridge.std__shared_ptr_HybridVideoPlayerSourceSpec_) -> bridge.Result_std__shared_ptr_HybridVideoPlayerSpec__ { do { - let __result = try self.__implementation.createPlayer(source: { () -> HybridVideoPlayerSourceSpec in + let __result = try self.__implementation.createPlayer(source: { () -> any HybridVideoPlayerSourceSpec in let __unsafePointer = bridge.get_std__shared_ptr_HybridVideoPlayerSourceSpec_(source) let __instance = HybridVideoPlayerSourceSpec_cxx.fromUnsafe(__unsafePointer) return __instance.getHybridVideoPlayerSourceSpec() diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceFactorySpec.swift b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceFactorySpec.swift index fc264211..aafea56a 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceFactorySpec.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceFactorySpec.swift @@ -2,10 +2,9 @@ /// HybridVideoPlayerSourceFactorySpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /// See ``HybridVideoPlayerSourceFactorySpec`` @@ -31,14 +30,14 @@ open class HybridVideoPlayerSourceFactorySpec_base { public init() { } public func getCxxWrapper() -> HybridVideoPlayerSourceFactorySpec_cxx { #if DEBUG - guard self is HybridVideoPlayerSourceFactorySpec else { + guard self is any HybridVideoPlayerSourceFactorySpec else { fatalError("`self` is not a `HybridVideoPlayerSourceFactorySpec`! Did you accidentally inherit from `HybridVideoPlayerSourceFactorySpec_base` instead of `HybridVideoPlayerSourceFactorySpec`?") } #endif if let cxxWrapper = self.cxxWrapper { return cxxWrapper } else { - let cxxWrapper = HybridVideoPlayerSourceFactorySpec_cxx(self as! HybridVideoPlayerSourceFactorySpec) + let cxxWrapper = HybridVideoPlayerSourceFactorySpec_cxx(self as! any HybridVideoPlayerSourceFactorySpec) self.cxxWrapper = cxxWrapper return cxxWrapper } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceFactorySpec_cxx.swift b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceFactorySpec_cxx.swift index d35fbc43..11438685 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceFactorySpec_cxx.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceFactorySpec_cxx.swift @@ -2,10 +2,9 @@ /// HybridVideoPlayerSourceFactorySpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -96,6 +95,14 @@ open class HybridVideoPlayerSourceFactorySpec_cxx { return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize } + /** + * Compares this object with the given [other] object for reference equality. + */ + @inline(__always) + public func equals(other: HybridVideoPlayerSourceFactorySpec_cxx) -> Bool { + return self.__implementation === other.__implementation + } + /** * Call dispose() on the Swift class. * This _may_ be called manually from JS. diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceSpec.swift b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceSpec.swift index 58094086..ee098805 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceSpec.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceSpec.swift @@ -2,10 +2,9 @@ /// HybridVideoPlayerSourceSpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /// See ``HybridVideoPlayerSourceSpec`` @@ -31,14 +30,14 @@ open class HybridVideoPlayerSourceSpec_base { public init() { } public func getCxxWrapper() -> HybridVideoPlayerSourceSpec_cxx { #if DEBUG - guard self is HybridVideoPlayerSourceSpec else { + guard self is any HybridVideoPlayerSourceSpec else { fatalError("`self` is not a `HybridVideoPlayerSourceSpec`! Did you accidentally inherit from `HybridVideoPlayerSourceSpec_base` instead of `HybridVideoPlayerSourceSpec`?") } #endif if let cxxWrapper = self.cxxWrapper { return cxxWrapper } else { - let cxxWrapper = HybridVideoPlayerSourceSpec_cxx(self as! HybridVideoPlayerSourceSpec) + let cxxWrapper = HybridVideoPlayerSourceSpec_cxx(self as! any HybridVideoPlayerSourceSpec) self.cxxWrapper = cxxWrapper return cxxWrapper } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceSpec_cxx.swift b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceSpec_cxx.swift index c5fb6152..0313472b 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceSpec_cxx.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSourceSpec_cxx.swift @@ -2,10 +2,9 @@ /// HybridVideoPlayerSourceSpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -96,6 +95,14 @@ open class HybridVideoPlayerSourceSpec_cxx { return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize } + /** + * Compares this object with the given [other] object for reference equality. + */ + @inline(__always) + public func equals(other: HybridVideoPlayerSourceSpec_cxx) -> Bool { + return self.__implementation === other.__implementation + } + /** * Call dispose() on the Swift class. * This _may_ be called manually from JS. diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSpec.swift b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSpec.swift index fd50ac52..9de71bcc 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSpec.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSpec.swift @@ -2,10 +2,9 @@ /// HybridVideoPlayerSpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /// See ``HybridVideoPlayerSpec`` @@ -54,14 +53,14 @@ open class HybridVideoPlayerSpec_base { public init() { } public func getCxxWrapper() -> HybridVideoPlayerSpec_cxx { #if DEBUG - guard self is HybridVideoPlayerSpec else { + guard self is any HybridVideoPlayerSpec else { fatalError("`self` is not a `HybridVideoPlayerSpec`! Did you accidentally inherit from `HybridVideoPlayerSpec_base` instead of `HybridVideoPlayerSpec`?") } #endif if let cxxWrapper = self.cxxWrapper { return cxxWrapper } else { - let cxxWrapper = HybridVideoPlayerSpec_cxx(self as! HybridVideoPlayerSpec) + let cxxWrapper = HybridVideoPlayerSpec_cxx(self as! any HybridVideoPlayerSpec) self.cxxWrapper = cxxWrapper return cxxWrapper } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSpec_cxx.swift b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSpec_cxx.swift index f972bd41..f47f2af8 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSpec_cxx.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoPlayerSpec_cxx.swift @@ -2,10 +2,9 @@ /// HybridVideoPlayerSpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -96,6 +95,14 @@ open class HybridVideoPlayerSpec_cxx { return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize } + /** + * Compares this object with the given [other] object for reference equality. + */ + @inline(__always) + public func equals(other: HybridVideoPlayerSpec_cxx) -> Bool { + return self.__implementation === other.__implementation + } + /** * Call dispose() on the Swift class. * This _may_ be called manually from JS. @@ -293,7 +300,7 @@ open class HybridVideoPlayerSpec_cxx { return .first(NullType.null) case 1: let __actual = __variant.get_1() - return .second({ () -> HybridVideoPlayerSourceSpec in + return .second({ () -> any HybridVideoPlayerSourceSpec in let __unsafePointer = bridge.get_std__shared_ptr_HybridVideoPlayerSourceSpec_(__actual) let __instance = HybridVideoPlayerSourceSpec_cxx.fromUnsafe(__unsafePointer) return __instance.getHybridVideoPlayerSourceSpec() diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerFactorySpec.swift b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerFactorySpec.swift index 493ed451..11479ca3 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerFactorySpec.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerFactorySpec.swift @@ -2,10 +2,9 @@ /// HybridVideoViewViewManagerFactorySpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /// See ``HybridVideoViewViewManagerFactorySpec`` @@ -30,14 +29,14 @@ open class HybridVideoViewViewManagerFactorySpec_base { public init() { } public func getCxxWrapper() -> HybridVideoViewViewManagerFactorySpec_cxx { #if DEBUG - guard self is HybridVideoViewViewManagerFactorySpec else { + guard self is any HybridVideoViewViewManagerFactorySpec else { fatalError("`self` is not a `HybridVideoViewViewManagerFactorySpec`! Did you accidentally inherit from `HybridVideoViewViewManagerFactorySpec_base` instead of `HybridVideoViewViewManagerFactorySpec`?") } #endif if let cxxWrapper = self.cxxWrapper { return cxxWrapper } else { - let cxxWrapper = HybridVideoViewViewManagerFactorySpec_cxx(self as! HybridVideoViewViewManagerFactorySpec) + let cxxWrapper = HybridVideoViewViewManagerFactorySpec_cxx(self as! any HybridVideoViewViewManagerFactorySpec) self.cxxWrapper = cxxWrapper return cxxWrapper } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerFactorySpec_cxx.swift b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerFactorySpec_cxx.swift index 5070b181..600c78d1 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerFactorySpec_cxx.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerFactorySpec_cxx.swift @@ -2,10 +2,9 @@ /// HybridVideoViewViewManagerFactorySpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -96,6 +95,14 @@ open class HybridVideoViewViewManagerFactorySpec_cxx { return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize } + /** + * Compares this object with the given [other] object for reference equality. + */ + @inline(__always) + public func equals(other: HybridVideoViewViewManagerFactorySpec_cxx) -> Bool { + return self.__implementation === other.__implementation + } + /** * Call dispose() on the Swift class. * This _may_ be called manually from JS. diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerSpec.swift b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerSpec.swift index be6f7c71..7c6ed28a 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerSpec.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerSpec.swift @@ -2,10 +2,9 @@ /// HybridVideoViewViewManagerSpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /// See ``HybridVideoViewViewManagerSpec`` @@ -47,14 +46,14 @@ open class HybridVideoViewViewManagerSpec_base { public init() { } public func getCxxWrapper() -> HybridVideoViewViewManagerSpec_cxx { #if DEBUG - guard self is HybridVideoViewViewManagerSpec else { + guard self is any HybridVideoViewViewManagerSpec else { fatalError("`self` is not a `HybridVideoViewViewManagerSpec`! Did you accidentally inherit from `HybridVideoViewViewManagerSpec_base` instead of `HybridVideoViewViewManagerSpec`?") } #endif if let cxxWrapper = self.cxxWrapper { return cxxWrapper } else { - let cxxWrapper = HybridVideoViewViewManagerSpec_cxx(self as! HybridVideoViewViewManagerSpec) + let cxxWrapper = HybridVideoViewViewManagerSpec_cxx(self as! any HybridVideoViewViewManagerSpec) self.cxxWrapper = cxxWrapper return cxxWrapper } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerSpec_cxx.swift b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerSpec_cxx.swift index 7577cd71..9bffe25b 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerSpec_cxx.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/HybridVideoViewViewManagerSpec_cxx.swift @@ -2,10 +2,9 @@ /// HybridVideoViewViewManagerSpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -96,6 +95,14 @@ open class HybridVideoViewViewManagerSpec_cxx { return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize } + /** + * Compares this object with the given [other] object for reference equality. + */ + @inline(__always) + public func equals(other: HybridVideoViewViewManagerSpec_cxx) -> Bool { + return self.__implementation === other.__implementation + } + /** * Call dispose() on the Swift class. * This _may_ be called manually from JS. @@ -133,7 +140,7 @@ open class HybridVideoViewViewManagerSpec_cxx { self.__implementation.player = { () -> (any HybridVideoPlayerSpec)? in if bridge.has_value_std__optional_std__shared_ptr_HybridVideoPlayerSpec__(newValue) { let __unwrapped = bridge.get_std__optional_std__shared_ptr_HybridVideoPlayerSpec__(newValue) - return { () -> HybridVideoPlayerSpec in + return { () -> any HybridVideoPlayerSpec in let __unsafePointer = bridge.get_std__shared_ptr_HybridVideoPlayerSpec_(__unwrapped) let __instance = HybridVideoPlayerSpec_cxx.fromUnsafe(__unsafePointer) return __instance.getHybridVideoPlayerSpec() diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/IgnoreSilentSwitchMode.swift b/packages/react-native-video/nitrogen/generated/ios/swift/IgnoreSilentSwitchMode.swift index ed8d01e3..b4f7ea97 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/IgnoreSilentSwitchMode.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/IgnoreSilentSwitchMode.swift @@ -2,7 +2,7 @@ /// IgnoreSilentSwitchMode.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/ListenerSubscription.swift b/packages/react-native-video/nitrogen/generated/ios/swift/ListenerSubscription.swift index ec697b3e..dfb3a359 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/ListenerSubscription.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/ListenerSubscription.swift @@ -2,10 +2,9 @@ /// ListenerSubscription.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -26,22 +25,13 @@ public extension ListenerSubscription { }()) } + @inline(__always) var remove: () -> Void { - @inline(__always) - get { - return { () -> () -> Void in - let __wrappedFunction = bridge.wrap_Func_void(self.__remove) - return { () -> Void in - __wrappedFunction.call() - } - }() - } - @inline(__always) - set { - self.__remove = { () -> bridge.Func_void in - let __closureWrapper = Func_void(newValue) - return bridge.create_Func_void(__closureWrapper.toUnsafe()) - }() - } + return { () -> () -> Void in + let __wrappedFunction = bridge.wrap_Func_void(self.__remove) + return { () -> Void in + __wrappedFunction.call() + } + }() } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/LivePlaybackParams.swift b/packages/react-native-video/nitrogen/generated/ios/swift/LivePlaybackParams.swift index efa07484..a3873e66 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/LivePlaybackParams.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/LivePlaybackParams.swift @@ -2,10 +2,9 @@ /// LivePlaybackParams.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -53,88 +52,63 @@ public extension LivePlaybackParams { }()) } + @inline(__always) var minPlaybackSpeed: Double? { - @inline(__always) - get { - return self.__minPlaybackSpeed.value - } - @inline(__always) - set { - self.__minPlaybackSpeed = { () -> bridge.std__optional_double_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_double_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Double? in + if bridge.has_value_std__optional_double_(self.__minPlaybackSpeed) { + let __unwrapped = bridge.get_std__optional_double_(self.__minPlaybackSpeed) + return __unwrapped + } else { + return nil + } + }() } + @inline(__always) var maxPlaybackSpeed: Double? { - @inline(__always) - get { - return self.__maxPlaybackSpeed.value - } - @inline(__always) - set { - self.__maxPlaybackSpeed = { () -> bridge.std__optional_double_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_double_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Double? in + if bridge.has_value_std__optional_double_(self.__maxPlaybackSpeed) { + let __unwrapped = bridge.get_std__optional_double_(self.__maxPlaybackSpeed) + return __unwrapped + } else { + return nil + } + }() } + @inline(__always) var maxOffsetMs: Double? { - @inline(__always) - get { - return self.__maxOffsetMs.value - } - @inline(__always) - set { - self.__maxOffsetMs = { () -> bridge.std__optional_double_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_double_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Double? in + if bridge.has_value_std__optional_double_(self.__maxOffsetMs) { + let __unwrapped = bridge.get_std__optional_double_(self.__maxOffsetMs) + return __unwrapped + } else { + return nil + } + }() } + @inline(__always) var minOffsetMs: Double? { - @inline(__always) - get { - return self.__minOffsetMs.value - } - @inline(__always) - set { - self.__minOffsetMs = { () -> bridge.std__optional_double_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_double_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Double? in + if bridge.has_value_std__optional_double_(self.__minOffsetMs) { + let __unwrapped = bridge.get_std__optional_double_(self.__minOffsetMs) + return __unwrapped + } else { + return nil + } + }() } + @inline(__always) var targetOffsetMs: Double? { - @inline(__always) - get { - return self.__targetOffsetMs.value - } - @inline(__always) - set { - self.__targetOffsetMs = { () -> bridge.std__optional_double_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_double_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Double? in + if bridge.has_value_std__optional_double_(self.__targetOffsetMs) { + let __unwrapped = bridge.get_std__optional_double_(self.__targetOffsetMs) + return __unwrapped + } else { + return nil + } + }() } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/MixAudioMode.swift b/packages/react-native-video/nitrogen/generated/ios/swift/MixAudioMode.swift index 425330b9..7139b70e 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/MixAudioMode.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/MixAudioMode.swift @@ -2,7 +2,7 @@ /// MixAudioMode.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/NativeDrmParams.swift b/packages/react-native-video/nitrogen/generated/ios/swift/NativeDrmParams.swift index 7106472a..56dcf894 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/NativeDrmParams.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/NativeDrmParams.swift @@ -2,10 +2,9 @@ /// NativeDrmParams.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -74,214 +73,121 @@ public extension NativeDrmParams { }()) } + @inline(__always) var type: String? { - @inline(__always) - get { - return { () -> String? in - if bridge.has_value_std__optional_std__string_(self.__type) { - let __unwrapped = bridge.get_std__optional_std__string_(self.__type) - return String(__unwrapped) - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__type = { () -> bridge.std__optional_std__string_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_std__string_(std.string(__unwrappedValue)) - } else { - return .init() - } - }() - } + return { () -> String? in + if bridge.has_value_std__optional_std__string_(self.__type) { + let __unwrapped = bridge.get_std__optional_std__string_(self.__type) + return String(__unwrapped) + } else { + return nil + } + }() } + @inline(__always) var licenseUrl: String? { - @inline(__always) - get { - return { () -> String? in - if bridge.has_value_std__optional_std__string_(self.__licenseUrl) { - let __unwrapped = bridge.get_std__optional_std__string_(self.__licenseUrl) - return String(__unwrapped) - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__licenseUrl = { () -> bridge.std__optional_std__string_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_std__string_(std.string(__unwrappedValue)) - } else { - return .init() - } - }() - } + return { () -> String? in + if bridge.has_value_std__optional_std__string_(self.__licenseUrl) { + let __unwrapped = bridge.get_std__optional_std__string_(self.__licenseUrl) + return String(__unwrapped) + } else { + return nil + } + }() } + @inline(__always) var certificateUrl: String? { - @inline(__always) - get { - return { () -> String? in - if bridge.has_value_std__optional_std__string_(self.__certificateUrl) { - let __unwrapped = bridge.get_std__optional_std__string_(self.__certificateUrl) - return String(__unwrapped) - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__certificateUrl = { () -> bridge.std__optional_std__string_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_std__string_(std.string(__unwrappedValue)) - } else { - return .init() - } - }() - } + return { () -> String? in + if bridge.has_value_std__optional_std__string_(self.__certificateUrl) { + let __unwrapped = bridge.get_std__optional_std__string_(self.__certificateUrl) + return String(__unwrapped) + } else { + return nil + } + }() } + @inline(__always) var contentId: String? { - @inline(__always) - get { - return { () -> String? in - if bridge.has_value_std__optional_std__string_(self.__contentId) { - let __unwrapped = bridge.get_std__optional_std__string_(self.__contentId) - return String(__unwrapped) - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__contentId = { () -> bridge.std__optional_std__string_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_std__string_(std.string(__unwrappedValue)) - } else { - return .init() - } - }() - } + return { () -> String? in + if bridge.has_value_std__optional_std__string_(self.__contentId) { + let __unwrapped = bridge.get_std__optional_std__string_(self.__contentId) + return String(__unwrapped) + } else { + return nil + } + }() } + @inline(__always) var licenseHeaders: Dictionary? { - @inline(__always) - get { - return { () -> Dictionary? in - if bridge.has_value_std__optional_std__unordered_map_std__string__std__string__(self.__licenseHeaders) { - let __unwrapped = bridge.get_std__optional_std__unordered_map_std__string__std__string__(self.__licenseHeaders) - return { () -> Dictionary in - var __dictionary = Dictionary(minimumCapacity: __unwrapped.size()) - let __keys = bridge.get_std__unordered_map_std__string__std__string__keys(__unwrapped) - for __key in __keys { - let __value = bridge.get_std__unordered_map_std__string__std__string__value(__unwrapped, __key) - __dictionary[String(__key)] = String(__value) - } - return __dictionary - }() - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__licenseHeaders = { () -> bridge.std__optional_std__unordered_map_std__string__std__string__ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_std__unordered_map_std__string__std__string__({ () -> bridge.std__unordered_map_std__string__std__string_ in - var __map = bridge.create_std__unordered_map_std__string__std__string_(__unwrappedValue.count) - for (__k, __v) in __unwrappedValue { - bridge.emplace_std__unordered_map_std__string__std__string_(&__map, std.string(__k), std.string(__v)) - } - return __map - }()) - } else { - return .init() - } - }() - } + return { () -> Dictionary? in + if bridge.has_value_std__optional_std__unordered_map_std__string__std__string__(self.__licenseHeaders) { + let __unwrapped = bridge.get_std__optional_std__unordered_map_std__string__std__string__(self.__licenseHeaders) + return { () -> Dictionary in + var __dictionary = Dictionary(minimumCapacity: __unwrapped.size()) + let __keys = bridge.get_std__unordered_map_std__string__std__string__keys(__unwrapped) + for __key in __keys { + let __value = bridge.get_std__unordered_map_std__string__std__string__value(__unwrapped, __key) + __dictionary[String(__key)] = String(__value) + } + return __dictionary + }() + } else { + return nil + } + }() } + @inline(__always) var multiSession: Bool? { - @inline(__always) - get { - return { () -> Bool? in - if bridge.has_value_std__optional_bool_(self.__multiSession) { - let __unwrapped = bridge.get_std__optional_bool_(self.__multiSession) - return __unwrapped - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__multiSession = { () -> bridge.std__optional_bool_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_bool_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Bool? in + if bridge.has_value_std__optional_bool_(self.__multiSession) { + let __unwrapped = bridge.get_std__optional_bool_(self.__multiSession) + return __unwrapped + } else { + return nil + } + }() } + @inline(__always) var getLicense: ((_ payload: OnGetLicensePayload) -> Promise>)? { - @inline(__always) - get { - return { () -> ((_ payload: OnGetLicensePayload) -> Promise>)? in - if bridge.has_value_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____const_OnGetLicensePayload_____payload______(self.__getLicense) { - let __unwrapped = bridge.get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____const_OnGetLicensePayload_____payload______(self.__getLicense) - return { () -> (OnGetLicensePayload) -> Promise> in - let __wrappedFunction = bridge.wrap_Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload(__unwrapped) - return { (__payload: OnGetLicensePayload) -> Promise> in - let __result = __wrappedFunction.call(__payload) - return { () -> Promise> in - let __promise = Promise>() - let __resolver = { (__result: Promise) in - __promise.resolve(withResult: __result) - } - let __rejecter = { (__error: Error) in - __promise.reject(withError: __error) - } - let __resolverCpp = { () -> bridge.Func_void_std__shared_ptr_Promise_std__string__ in - let __closureWrapper = Func_void_std__shared_ptr_Promise_std__string__(__resolver) - return bridge.create_Func_void_std__shared_ptr_Promise_std__string__(__closureWrapper.toUnsafe()) - }() - let __rejecterCpp = { () -> bridge.Func_void_std__exception_ptr in - let __closureWrapper = Func_void_std__exception_ptr(__rejecter) - return bridge.create_Func_void_std__exception_ptr(__closureWrapper.toUnsafe()) - }() - let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string____(__result) - __promiseHolder.addOnResolvedListener(__resolverCpp) - __promiseHolder.addOnRejectedListener(__rejecterCpp) - return __promise + return { () -> ((_ payload: OnGetLicensePayload) -> Promise>)? in + if bridge.has_value_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____const_OnGetLicensePayload_____payload______(self.__getLicense) { + let __unwrapped = bridge.get_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____const_OnGetLicensePayload_____payload______(self.__getLicense) + return { () -> (OnGetLicensePayload) -> Promise> in + let __wrappedFunction = bridge.wrap_Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload(__unwrapped) + return { (__payload: OnGetLicensePayload) -> Promise> in + let __result = __wrappedFunction.call(__payload) + return { () -> Promise> in + let __promise = Promise>() + let __resolver = { (__result: Promise) in + __promise.resolve(withResult: __result) + } + let __rejecter = { (__error: Error) in + __promise.reject(withError: __error) + } + let __resolverCpp = { () -> bridge.Func_void_std__shared_ptr_Promise_std__string__ in + let __closureWrapper = Func_void_std__shared_ptr_Promise_std__string__(__resolver) + return bridge.create_Func_void_std__shared_ptr_Promise_std__string__(__closureWrapper.toUnsafe()) }() - } - }() - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__getLicense = { () -> bridge.std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____const_OnGetLicensePayload_____payload______ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_std__function_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____const_OnGetLicensePayload_____payload______({ () -> bridge.Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload in - let __closureWrapper = Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload(__unwrappedValue) - return bridge.create_Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload(__closureWrapper.toUnsafe()) - }()) - } else { - return .init() - } - }() - } + let __rejecterCpp = { () -> bridge.Func_void_std__exception_ptr in + let __closureWrapper = Func_void_std__exception_ptr(__rejecter) + return bridge.create_Func_void_std__exception_ptr(__closureWrapper.toUnsafe()) + }() + let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string____(__result) + __promiseHolder.addOnResolvedListener(__resolverCpp) + __promiseHolder.addOnRejectedListener(__rejecterCpp) + return __promise + }() + } + }() + } else { + return nil + } + }() } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/NativeExternalSubtitle.swift b/packages/react-native-video/nitrogen/generated/ios/swift/NativeExternalSubtitle.swift index 3f656e1a..c688f52b 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/NativeExternalSubtitle.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/NativeExternalSubtitle.swift @@ -2,10 +2,9 @@ /// NativeExternalSubtitle.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -23,47 +22,23 @@ public extension NativeExternalSubtitle { self.init(std.string(uri), std.string(label), type, std.string(language)) } + @inline(__always) var uri: String { - @inline(__always) - get { - return String(self.__uri) - } - @inline(__always) - set { - self.__uri = std.string(newValue) - } + return String(self.__uri) } + @inline(__always) var label: String { - @inline(__always) - get { - return String(self.__label) - } - @inline(__always) - set { - self.__label = std.string(newValue) - } + return String(self.__label) } + @inline(__always) var type: SubtitleType { - @inline(__always) - get { - return self.__type - } - @inline(__always) - set { - self.__type = newValue - } + return self.__type } + @inline(__always) var language: String { - @inline(__always) - get { - return String(self.__language) - } - @inline(__always) - set { - self.__language = std.string(newValue) - } + return String(self.__language) } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/NativeVideoConfig.swift b/packages/react-native-video/nitrogen/generated/ios/swift/NativeVideoConfig.swift index 525ffad3..d20e26e6 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/NativeVideoConfig.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/NativeVideoConfig.swift @@ -2,10 +2,9 @@ /// NativeVideoConfig.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -71,157 +70,67 @@ public extension NativeVideoConfig { }()) } + @inline(__always) var uri: String { - @inline(__always) - get { - return String(self.__uri) - } - @inline(__always) - set { - self.__uri = std.string(newValue) - } + return String(self.__uri) } + @inline(__always) var externalSubtitles: [NativeExternalSubtitle]? { - @inline(__always) - get { - return { () -> [NativeExternalSubtitle]? in - if bridge.has_value_std__optional_std__vector_NativeExternalSubtitle__(self.__externalSubtitles) { - let __unwrapped = bridge.get_std__optional_std__vector_NativeExternalSubtitle__(self.__externalSubtitles) - return __unwrapped.map({ __item in __item }) - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__externalSubtitles = { () -> bridge.std__optional_std__vector_NativeExternalSubtitle__ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_std__vector_NativeExternalSubtitle__({ () -> bridge.std__vector_NativeExternalSubtitle_ in - var __vector = bridge.create_std__vector_NativeExternalSubtitle_(__unwrappedValue.count) - for __item in __unwrappedValue { - __vector.push_back(__item) - } - return __vector - }()) - } else { - return .init() - } - }() - } + return { () -> [NativeExternalSubtitle]? in + if bridge.has_value_std__optional_std__vector_NativeExternalSubtitle__(self.__externalSubtitles) { + let __unwrapped = bridge.get_std__optional_std__vector_NativeExternalSubtitle__(self.__externalSubtitles) + return __unwrapped.map({ __item in __item }) + } else { + return nil + } + }() } + @inline(__always) var drm: NativeDrmParams? { - @inline(__always) - get { - return self.__drm.value - } - @inline(__always) - set { - self.__drm = { () -> bridge.std__optional_NativeDrmParams_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_NativeDrmParams_(__unwrappedValue) - } else { - return .init() - } - }() - } + return self.__drm.value } + @inline(__always) var headers: Dictionary? { - @inline(__always) - get { - return { () -> Dictionary? in - if bridge.has_value_std__optional_std__unordered_map_std__string__std__string__(self.__headers) { - let __unwrapped = bridge.get_std__optional_std__unordered_map_std__string__std__string__(self.__headers) - return { () -> Dictionary in - var __dictionary = Dictionary(minimumCapacity: __unwrapped.size()) - let __keys = bridge.get_std__unordered_map_std__string__std__string__keys(__unwrapped) - for __key in __keys { - let __value = bridge.get_std__unordered_map_std__string__std__string__value(__unwrapped, __key) - __dictionary[String(__key)] = String(__value) - } - return __dictionary - }() - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__headers = { () -> bridge.std__optional_std__unordered_map_std__string__std__string__ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_std__unordered_map_std__string__std__string__({ () -> bridge.std__unordered_map_std__string__std__string_ in - var __map = bridge.create_std__unordered_map_std__string__std__string_(__unwrappedValue.count) - for (__k, __v) in __unwrappedValue { - bridge.emplace_std__unordered_map_std__string__std__string_(&__map, std.string(__k), std.string(__v)) - } - return __map - }()) - } else { - return .init() - } - }() - } + return { () -> Dictionary? in + if bridge.has_value_std__optional_std__unordered_map_std__string__std__string__(self.__headers) { + let __unwrapped = bridge.get_std__optional_std__unordered_map_std__string__std__string__(self.__headers) + return { () -> Dictionary in + var __dictionary = Dictionary(minimumCapacity: __unwrapped.size()) + let __keys = bridge.get_std__unordered_map_std__string__std__string__keys(__unwrapped) + for __key in __keys { + let __value = bridge.get_std__unordered_map_std__string__std__string__value(__unwrapped, __key) + __dictionary[String(__key)] = String(__value) + } + return __dictionary + }() + } else { + return nil + } + }() } + @inline(__always) var bufferConfig: BufferConfig? { - @inline(__always) - get { - return self.__bufferConfig.value - } - @inline(__always) - set { - self.__bufferConfig = { () -> bridge.std__optional_BufferConfig_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_BufferConfig_(__unwrappedValue) - } else { - return .init() - } - }() - } + return self.__bufferConfig.value } + @inline(__always) var metadata: CustomVideoMetadata? { - @inline(__always) - get { - return self.__metadata.value - } - @inline(__always) - set { - self.__metadata = { () -> bridge.std__optional_CustomVideoMetadata_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_CustomVideoMetadata_(__unwrappedValue) - } else { - return .init() - } - }() - } + return self.__metadata.value } + @inline(__always) var initializeOnCreation: Bool? { - @inline(__always) - get { - return { () -> Bool? in - if bridge.has_value_std__optional_bool_(self.__initializeOnCreation) { - let __unwrapped = bridge.get_std__optional_bool_(self.__initializeOnCreation) - return __unwrapped - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__initializeOnCreation = { () -> bridge.std__optional_bool_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_bool_(__unwrappedValue) - } else { - return .init() - } - }() - } + return { () -> Bool? in + if bridge.has_value_std__optional_bool_(self.__initializeOnCreation) { + let __unwrapped = bridge.get_std__optional_bool_(self.__initializeOnCreation) + return __unwrapped + } else { + return nil + } + }() } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/OnGetLicensePayload.swift b/packages/react-native-video/nitrogen/generated/ios/swift/OnGetLicensePayload.swift index 498e4e57..7b69988f 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/OnGetLicensePayload.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/OnGetLicensePayload.swift @@ -2,10 +2,9 @@ /// OnGetLicensePayload.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -23,47 +22,23 @@ public extension OnGetLicensePayload { self.init(std.string(contentId), std.string(licenseUrl), std.string(keyUrl), std.string(spc)) } + @inline(__always) var contentId: String { - @inline(__always) - get { - return String(self.__contentId) - } - @inline(__always) - set { - self.__contentId = std.string(newValue) - } + return String(self.__contentId) } + @inline(__always) var licenseUrl: String { - @inline(__always) - get { - return String(self.__licenseUrl) - } - @inline(__always) - set { - self.__licenseUrl = std.string(newValue) - } + return String(self.__licenseUrl) } + @inline(__always) var keyUrl: String { - @inline(__always) - get { - return String(self.__keyUrl) - } - @inline(__always) - set { - self.__keyUrl = std.string(newValue) - } + return String(self.__keyUrl) } + @inline(__always) var spc: String { - @inline(__always) - get { - return String(self.__spc) - } - @inline(__always) - set { - self.__spc = std.string(newValue) - } + return String(self.__spc) } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/ResizeMode.swift b/packages/react-native-video/nitrogen/generated/ios/swift/ResizeMode.swift index c596c061..0ad52034 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/ResizeMode.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/ResizeMode.swift @@ -2,7 +2,7 @@ /// ResizeMode.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Resolution.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Resolution.swift index e79ad0b3..63bbfc18 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Resolution.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Resolution.swift @@ -2,10 +2,9 @@ /// Resolution.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -23,25 +22,13 @@ public extension Resolution { self.init(width, height) } + @inline(__always) var width: Double { - @inline(__always) - get { - return self.__width - } - @inline(__always) - set { - self.__width = newValue - } + return self.__width } + @inline(__always) var height: Double { - @inline(__always) - get { - return self.__height - } - @inline(__always) - set { - self.__height = newValue - } + return self.__height } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/SourceType.swift b/packages/react-native-video/nitrogen/generated/ios/swift/SourceType.swift index 4ebe3cb8..0d702de6 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/SourceType.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/SourceType.swift @@ -2,7 +2,7 @@ /// SourceType.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/SubtitleType.swift b/packages/react-native-video/nitrogen/generated/ios/swift/SubtitleType.swift index 2e0eb2f6..614515e9 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/SubtitleType.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/SubtitleType.swift @@ -2,7 +2,7 @@ /// SubtitleType.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/SurfaceType.swift b/packages/react-native-video/nitrogen/generated/ios/swift/SurfaceType.swift index 49de04f3..aaaa0fc1 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/SurfaceType.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/SurfaceType.swift @@ -2,7 +2,7 @@ /// SurfaceType.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/TextTrack.swift b/packages/react-native-video/nitrogen/generated/ios/swift/TextTrack.swift index 2973d440..2686fc23 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/TextTrack.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/TextTrack.swift @@ -2,10 +2,9 @@ /// TextTrack.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -29,60 +28,30 @@ public extension TextTrack { }(), selected) } + @inline(__always) var id: String { - @inline(__always) - get { - return String(self.__id) - } - @inline(__always) - set { - self.__id = std.string(newValue) - } + return String(self.__id) } + @inline(__always) var label: String { - @inline(__always) - get { - return String(self.__label) - } - @inline(__always) - set { - self.__label = std.string(newValue) - } + return String(self.__label) } + @inline(__always) var language: String? { - @inline(__always) - get { - return { () -> String? in - if bridge.has_value_std__optional_std__string_(self.__language) { - let __unwrapped = bridge.get_std__optional_std__string_(self.__language) - return String(__unwrapped) - } else { - return nil - } - }() - } - @inline(__always) - set { - self.__language = { () -> bridge.std__optional_std__string_ in - if let __unwrappedValue = newValue { - return bridge.create_std__optional_std__string_(std.string(__unwrappedValue)) - } else { - return .init() - } - }() - } + return { () -> String? in + if bridge.has_value_std__optional_std__string_(self.__language) { + let __unwrapped = bridge.get_std__optional_std__string_(self.__language) + return String(__unwrapped) + } else { + return nil + } + }() } + @inline(__always) var selected: Bool { - @inline(__always) - get { - return self.__selected - } - @inline(__always) - set { - self.__selected = newValue - } + return self.__selected } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/TimedMetadata.swift b/packages/react-native-video/nitrogen/generated/ios/swift/TimedMetadata.swift index 37786bca..5e2c942e 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/TimedMetadata.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/TimedMetadata.swift @@ -2,10 +2,9 @@ /// TimedMetadata.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -29,20 +28,8 @@ public extension TimedMetadata { }()) } + @inline(__always) var metadata: [TimedMetadataObject] { - @inline(__always) - get { - return self.__metadata.map({ __item in __item }) - } - @inline(__always) - set { - self.__metadata = { () -> bridge.std__vector_TimedMetadataObject_ in - var __vector = bridge.create_std__vector_TimedMetadataObject_(newValue.count) - for __item in newValue { - __vector.push_back(__item) - } - return __vector - }() - } + return self.__metadata.map({ __item in __item }) } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/TimedMetadataObject.swift b/packages/react-native-video/nitrogen/generated/ios/swift/TimedMetadataObject.swift index 68ad441c..47fc4ba4 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/TimedMetadataObject.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/TimedMetadataObject.swift @@ -2,10 +2,9 @@ /// TimedMetadataObject.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -23,25 +22,13 @@ public extension TimedMetadataObject { self.init(std.string(value), std.string(identifier)) } + @inline(__always) var value: String { - @inline(__always) - get { - return String(self.__value) - } - @inline(__always) - set { - self.__value = std.string(newValue) - } + return String(self.__value) } + @inline(__always) var identifier: String { - @inline(__always) - get { - return String(self.__identifier) - } - @inline(__always) - set { - self.__identifier = std.string(newValue) - } + return String(self.__identifier) } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Variant_NullType_TextTrack.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Variant_NullType_TextTrack.swift index 37de7dc3..1b074151 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Variant_NullType_TextTrack.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Variant_NullType_TextTrack.swift @@ -2,7 +2,7 @@ /// Variant_NullType_TextTrack.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// import NitroModules diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/Variant_NullType__any_HybridVideoPlayerSourceSpec_.swift b/packages/react-native-video/nitrogen/generated/ios/swift/Variant_NullType__any_HybridVideoPlayerSourceSpec_.swift index 401804ec..8b2262d0 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/Variant_NullType__any_HybridVideoPlayerSourceSpec_.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/Variant_NullType__any_HybridVideoPlayerSourceSpec_.swift @@ -2,7 +2,7 @@ /// Variant_NullType__any_HybridVideoPlayerSourceSpec_.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// import NitroModules diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/VideoInformation.swift b/packages/react-native-video/nitrogen/generated/ios/swift/VideoInformation.swift index 71d470c1..09599d50 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/VideoInformation.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/VideoInformation.swift @@ -2,10 +2,9 @@ /// VideoInformation.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -19,95 +18,47 @@ public extension VideoInformation { /** * Create a new instance of `VideoInformation`. */ - init(bitrate: Double, width: Double, height: Double, duration: Int64, fileSize: Int64, isHDR: Bool, isLive: Bool, orientation: VideoOrientation) { + init(bitrate: Double, width: Double, height: Double, duration: Double, fileSize: Int64, isHDR: Bool, isLive: Bool, orientation: VideoOrientation) { self.init(bitrate, width, height, duration, fileSize, isHDR, isLive, orientation) } + @inline(__always) var bitrate: Double { - @inline(__always) - get { - return self.__bitrate - } - @inline(__always) - set { - self.__bitrate = newValue - } + return self.__bitrate } + @inline(__always) var width: Double { - @inline(__always) - get { - return self.__width - } - @inline(__always) - set { - self.__width = newValue - } + return self.__width } + @inline(__always) var height: Double { - @inline(__always) - get { - return self.__height - } - @inline(__always) - set { - self.__height = newValue - } + return self.__height } - var duration: Int64 { - @inline(__always) - get { - return self.__duration - } - @inline(__always) - set { - self.__duration = newValue - } + @inline(__always) + var duration: Double { + return self.__duration } + @inline(__always) var fileSize: Int64 { - @inline(__always) - get { - return self.__fileSize - } - @inline(__always) - set { - self.__fileSize = newValue - } + return self.__fileSize } + @inline(__always) var isHDR: Bool { - @inline(__always) - get { - return self.__isHDR - } - @inline(__always) - set { - self.__isHDR = newValue - } + return self.__isHDR } + @inline(__always) var isLive: Bool { - @inline(__always) - get { - return self.__isLive - } - @inline(__always) - set { - self.__isLive = newValue - } + return self.__isLive } + @inline(__always) var orientation: VideoOrientation { - @inline(__always) - get { - return self.__orientation - } - @inline(__always) - set { - self.__orientation = newValue - } + return self.__orientation } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/VideoOrientation.swift b/packages/react-native-video/nitrogen/generated/ios/swift/VideoOrientation.swift index f74ff262..f8fc5133 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/VideoOrientation.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/VideoOrientation.swift @@ -2,7 +2,7 @@ /// VideoOrientation.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/VideoPlayerStatus.swift b/packages/react-native-video/nitrogen/generated/ios/swift/VideoPlayerStatus.swift index dae121cb..abc45c1e 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/VideoPlayerStatus.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/VideoPlayerStatus.swift @@ -2,7 +2,7 @@ /// VideoPlayerStatus.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// /** diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/onLoadData.swift b/packages/react-native-video/nitrogen/generated/ios/swift/onLoadData.swift index 20af3eca..5ad75159 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/onLoadData.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/onLoadData.swift @@ -2,10 +2,9 @@ /// onLoadData.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -23,58 +22,28 @@ public extension onLoadData { self.init(currentTime, duration, height, width, orientation) } + @inline(__always) var currentTime: Double { - @inline(__always) - get { - return self.__currentTime - } - @inline(__always) - set { - self.__currentTime = newValue - } + return self.__currentTime } + @inline(__always) var duration: Double { - @inline(__always) - get { - return self.__duration - } - @inline(__always) - set { - self.__duration = newValue - } + return self.__duration } + @inline(__always) var height: Double { - @inline(__always) - get { - return self.__height - } - @inline(__always) - set { - self.__height = newValue - } + return self.__height } + @inline(__always) var width: Double { - @inline(__always) - get { - return self.__width - } - @inline(__always) - set { - self.__width = newValue - } + return self.__width } + @inline(__always) var orientation: VideoOrientation { - @inline(__always) - get { - return self.__orientation - } - @inline(__always) - set { - self.__orientation = newValue - } + return self.__orientation } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/onLoadStartData.swift b/packages/react-native-video/nitrogen/generated/ios/swift/onLoadStartData.swift index b09b3901..6fbde2f2 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/onLoadStartData.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/onLoadStartData.swift @@ -2,10 +2,9 @@ /// onLoadStartData.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -26,32 +25,17 @@ public extension onLoadStartData { }()) } + @inline(__always) var sourceType: SourceType { - @inline(__always) - get { - return self.__sourceType - } - @inline(__always) - set { - self.__sourceType = newValue - } + return self.__sourceType } + @inline(__always) var source: (any HybridVideoPlayerSourceSpec) { - @inline(__always) - get { - return { () -> HybridVideoPlayerSourceSpec in - let __unsafePointer = bridge.get_std__shared_ptr_HybridVideoPlayerSourceSpec_(self.__source) - let __instance = HybridVideoPlayerSourceSpec_cxx.fromUnsafe(__unsafePointer) - return __instance.getHybridVideoPlayerSourceSpec() - }() - } - @inline(__always) - set { - self.__source = { () -> bridge.std__shared_ptr_HybridVideoPlayerSourceSpec_ in - let __cxxWrapped = newValue.getCxxWrapper() - return __cxxWrapped.getCxxPart() - }() - } + return { () -> any HybridVideoPlayerSourceSpec in + let __unsafePointer = bridge.get_std__shared_ptr_HybridVideoPlayerSourceSpec_(self.__source) + let __instance = HybridVideoPlayerSourceSpec_cxx.fromUnsafe(__unsafePointer) + return __instance.getHybridVideoPlayerSourceSpec() + }() } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/onPlaybackStateChangeData.swift b/packages/react-native-video/nitrogen/generated/ios/swift/onPlaybackStateChangeData.swift index 3868931a..2d66de56 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/onPlaybackStateChangeData.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/onPlaybackStateChangeData.swift @@ -2,10 +2,9 @@ /// onPlaybackStateChangeData.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -23,25 +22,13 @@ public extension onPlaybackStateChangeData { self.init(isPlaying, isBuffering) } + @inline(__always) var isPlaying: Bool { - @inline(__always) - get { - return self.__isPlaying - } - @inline(__always) - set { - self.__isPlaying = newValue - } + return self.__isPlaying } + @inline(__always) var isBuffering: Bool { - @inline(__always) - get { - return self.__isBuffering - } - @inline(__always) - set { - self.__isBuffering = newValue - } + return self.__isBuffering } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/onProgressData.swift b/packages/react-native-video/nitrogen/generated/ios/swift/onProgressData.swift index d78b479f..d9527243 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/onProgressData.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/onProgressData.swift @@ -2,10 +2,9 @@ /// onProgressData.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -23,25 +22,13 @@ public extension onProgressData { self.init(currentTime, bufferDuration) } + @inline(__always) var currentTime: Double { - @inline(__always) - get { - return self.__currentTime - } - @inline(__always) - set { - self.__currentTime = newValue - } + return self.__currentTime } + @inline(__always) var bufferDuration: Double { - @inline(__always) - get { - return self.__bufferDuration - } - @inline(__always) - set { - self.__bufferDuration = newValue - } + return self.__bufferDuration } } diff --git a/packages/react-native-video/nitrogen/generated/ios/swift/onVolumeChangeData.swift b/packages/react-native-video/nitrogen/generated/ios/swift/onVolumeChangeData.swift index ddd7790d..440e09ae 100644 --- a/packages/react-native-video/nitrogen/generated/ios/swift/onVolumeChangeData.swift +++ b/packages/react-native-video/nitrogen/generated/ios/swift/onVolumeChangeData.swift @@ -2,10 +2,9 @@ /// onVolumeChangeData.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// -import Foundation import NitroModules /** @@ -23,25 +22,13 @@ public extension onVolumeChangeData { self.init(volume, muted) } + @inline(__always) var volume: Double { - @inline(__always) - get { - return self.__volume - } - @inline(__always) - set { - self.__volume = newValue - } + return self.__volume } + @inline(__always) var muted: Bool { - @inline(__always) - get { - return self.__muted - } - @inline(__always) - set { - self.__muted = newValue - } + return self.__muted } } diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/BandwidthData.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/BandwidthData.hpp index 4ed53ab1..5de09f5a 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/BandwidthData.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/BandwidthData.hpp @@ -2,7 +2,7 @@ /// BandwidthData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif @@ -32,7 +37,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (BandwidthData). */ - struct BandwidthData { + struct BandwidthData final { public: double bitrate SWIFT_PRIVATE; std::optional width SWIFT_PRIVATE; @@ -41,6 +46,9 @@ namespace margelo::nitro::video { public: BandwidthData() = default; explicit BandwidthData(double bitrate, std::optional width, std::optional height): bitrate(bitrate), width(width), height(height) {} + + public: + friend bool operator==(const BandwidthData& lhs, const BandwidthData& rhs) = default; }; } // namespace margelo::nitro::video @@ -53,16 +61,16 @@ namespace margelo::nitro { static inline margelo::nitro::video::BandwidthData fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::BandwidthData( - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "bitrate")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "width")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "height")) + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "bitrate"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "width"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "height"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::BandwidthData& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "bitrate", JSIConverter::toJSI(runtime, arg.bitrate)); - obj.setProperty(runtime, "width", JSIConverter>::toJSI(runtime, arg.width)); - obj.setProperty(runtime, "height", JSIConverter>::toJSI(runtime, arg.height)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "bitrate"), JSIConverter::toJSI(runtime, arg.bitrate)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "width"), JSIConverter>::toJSI(runtime, arg.width)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "height"), JSIConverter>::toJSI(runtime, arg.height)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -73,9 +81,9 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "bitrate"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "width"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "height"))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "bitrate")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "width")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "height")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/BufferConfig.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/BufferConfig.hpp index 6610b61f..5954fc86 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/BufferConfig.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/BufferConfig.hpp @@ -2,7 +2,7 @@ /// BufferConfig.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif // Forward declaration of `LivePlaybackParams` to properly resolve imports. namespace margelo::nitro::video { struct LivePlaybackParams; } @@ -37,7 +42,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (BufferConfig). */ - struct BufferConfig { + struct BufferConfig final { public: std::optional livePlayback SWIFT_PRIVATE; std::optional minBufferMs SWIFT_PRIVATE; @@ -54,6 +59,9 @@ namespace margelo::nitro::video { public: BufferConfig() = default; explicit BufferConfig(std::optional livePlayback, std::optional minBufferMs, std::optional maxBufferMs, std::optional bufferForPlaybackMs, std::optional bufferForPlaybackAfterRebufferMs, std::optional backBufferDurationMs, std::optional preferredForwardBufferDurationMs, std::optional preferredPeakBitRate, std::optional preferredMaximumResolution, std::optional preferredPeakBitRateForExpensiveNetworks, std::optional preferredMaximumResolutionForExpensiveNetworks): livePlayback(livePlayback), minBufferMs(minBufferMs), maxBufferMs(maxBufferMs), bufferForPlaybackMs(bufferForPlaybackMs), bufferForPlaybackAfterRebufferMs(bufferForPlaybackAfterRebufferMs), backBufferDurationMs(backBufferDurationMs), preferredForwardBufferDurationMs(preferredForwardBufferDurationMs), preferredPeakBitRate(preferredPeakBitRate), preferredMaximumResolution(preferredMaximumResolution), preferredPeakBitRateForExpensiveNetworks(preferredPeakBitRateForExpensiveNetworks), preferredMaximumResolutionForExpensiveNetworks(preferredMaximumResolutionForExpensiveNetworks) {} + + public: + friend bool operator==(const BufferConfig& lhs, const BufferConfig& rhs) = default; }; } // namespace margelo::nitro::video @@ -66,32 +74,32 @@ namespace margelo::nitro { static inline margelo::nitro::video::BufferConfig fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::BufferConfig( - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "livePlayback")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "minBufferMs")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "maxBufferMs")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "bufferForPlaybackMs")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "bufferForPlaybackAfterRebufferMs")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "backBufferDurationMs")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "preferredForwardBufferDurationMs")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "preferredPeakBitRate")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "preferredMaximumResolution")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "preferredPeakBitRateForExpensiveNetworks")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "preferredMaximumResolutionForExpensiveNetworks")) + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "livePlayback"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "minBufferMs"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "maxBufferMs"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "bufferForPlaybackMs"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "bufferForPlaybackAfterRebufferMs"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "backBufferDurationMs"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "preferredForwardBufferDurationMs"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "preferredPeakBitRate"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "preferredMaximumResolution"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "preferredPeakBitRateForExpensiveNetworks"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "preferredMaximumResolutionForExpensiveNetworks"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::BufferConfig& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "livePlayback", JSIConverter>::toJSI(runtime, arg.livePlayback)); - obj.setProperty(runtime, "minBufferMs", JSIConverter>::toJSI(runtime, arg.minBufferMs)); - obj.setProperty(runtime, "maxBufferMs", JSIConverter>::toJSI(runtime, arg.maxBufferMs)); - obj.setProperty(runtime, "bufferForPlaybackMs", JSIConverter>::toJSI(runtime, arg.bufferForPlaybackMs)); - obj.setProperty(runtime, "bufferForPlaybackAfterRebufferMs", JSIConverter>::toJSI(runtime, arg.bufferForPlaybackAfterRebufferMs)); - obj.setProperty(runtime, "backBufferDurationMs", JSIConverter>::toJSI(runtime, arg.backBufferDurationMs)); - obj.setProperty(runtime, "preferredForwardBufferDurationMs", JSIConverter>::toJSI(runtime, arg.preferredForwardBufferDurationMs)); - obj.setProperty(runtime, "preferredPeakBitRate", JSIConverter>::toJSI(runtime, arg.preferredPeakBitRate)); - obj.setProperty(runtime, "preferredMaximumResolution", JSIConverter>::toJSI(runtime, arg.preferredMaximumResolution)); - obj.setProperty(runtime, "preferredPeakBitRateForExpensiveNetworks", JSIConverter>::toJSI(runtime, arg.preferredPeakBitRateForExpensiveNetworks)); - obj.setProperty(runtime, "preferredMaximumResolutionForExpensiveNetworks", JSIConverter>::toJSI(runtime, arg.preferredMaximumResolutionForExpensiveNetworks)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "livePlayback"), JSIConverter>::toJSI(runtime, arg.livePlayback)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "minBufferMs"), JSIConverter>::toJSI(runtime, arg.minBufferMs)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "maxBufferMs"), JSIConverter>::toJSI(runtime, arg.maxBufferMs)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "bufferForPlaybackMs"), JSIConverter>::toJSI(runtime, arg.bufferForPlaybackMs)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "bufferForPlaybackAfterRebufferMs"), JSIConverter>::toJSI(runtime, arg.bufferForPlaybackAfterRebufferMs)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "backBufferDurationMs"), JSIConverter>::toJSI(runtime, arg.backBufferDurationMs)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "preferredForwardBufferDurationMs"), JSIConverter>::toJSI(runtime, arg.preferredForwardBufferDurationMs)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "preferredPeakBitRate"), JSIConverter>::toJSI(runtime, arg.preferredPeakBitRate)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "preferredMaximumResolution"), JSIConverter>::toJSI(runtime, arg.preferredMaximumResolution)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "preferredPeakBitRateForExpensiveNetworks"), JSIConverter>::toJSI(runtime, arg.preferredPeakBitRateForExpensiveNetworks)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "preferredMaximumResolutionForExpensiveNetworks"), JSIConverter>::toJSI(runtime, arg.preferredMaximumResolutionForExpensiveNetworks)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -102,17 +110,17 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "livePlayback"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "minBufferMs"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "maxBufferMs"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "bufferForPlaybackMs"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "bufferForPlaybackAfterRebufferMs"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "backBufferDurationMs"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "preferredForwardBufferDurationMs"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "preferredPeakBitRate"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "preferredMaximumResolution"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "preferredPeakBitRateForExpensiveNetworks"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "preferredMaximumResolutionForExpensiveNetworks"))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "livePlayback")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "minBufferMs")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "maxBufferMs")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "bufferForPlaybackMs")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "bufferForPlaybackAfterRebufferMs")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "backBufferDurationMs")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "preferredForwardBufferDurationMs")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "preferredPeakBitRate")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "preferredMaximumResolution")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "preferredPeakBitRateForExpensiveNetworks")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "preferredMaximumResolutionForExpensiveNetworks")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/CustomVideoMetadata.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/CustomVideoMetadata.hpp index f1d3b178..9b6a7fe3 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/CustomVideoMetadata.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/CustomVideoMetadata.hpp @@ -2,7 +2,7 @@ /// CustomVideoMetadata.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif @@ -33,7 +38,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (CustomVideoMetadata). */ - struct CustomVideoMetadata { + struct CustomVideoMetadata final { public: std::optional title SWIFT_PRIVATE; std::optional subtitle SWIFT_PRIVATE; @@ -44,6 +49,9 @@ namespace margelo::nitro::video { public: CustomVideoMetadata() = default; explicit CustomVideoMetadata(std::optional title, std::optional subtitle, std::optional description, std::optional artist, std::optional imageUri): title(title), subtitle(subtitle), description(description), artist(artist), imageUri(imageUri) {} + + public: + friend bool operator==(const CustomVideoMetadata& lhs, const CustomVideoMetadata& rhs) = default; }; } // namespace margelo::nitro::video @@ -56,20 +64,20 @@ namespace margelo::nitro { static inline margelo::nitro::video::CustomVideoMetadata fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::CustomVideoMetadata( - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "title")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "subtitle")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "description")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "artist")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "imageUri")) + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "title"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "subtitle"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "description"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "artist"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "imageUri"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::CustomVideoMetadata& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "title", JSIConverter>::toJSI(runtime, arg.title)); - obj.setProperty(runtime, "subtitle", JSIConverter>::toJSI(runtime, arg.subtitle)); - obj.setProperty(runtime, "description", JSIConverter>::toJSI(runtime, arg.description)); - obj.setProperty(runtime, "artist", JSIConverter>::toJSI(runtime, arg.artist)); - obj.setProperty(runtime, "imageUri", JSIConverter>::toJSI(runtime, arg.imageUri)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "title"), JSIConverter>::toJSI(runtime, arg.title)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "subtitle"), JSIConverter>::toJSI(runtime, arg.subtitle)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "description"), JSIConverter>::toJSI(runtime, arg.description)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "artist"), JSIConverter>::toJSI(runtime, arg.artist)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "imageUri"), JSIConverter>::toJSI(runtime, arg.imageUri)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -80,11 +88,11 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "title"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "subtitle"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "description"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "artist"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "imageUri"))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "title")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "subtitle")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "description")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "artist")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "imageUri")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerEventEmitterSpec.cpp b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerEventEmitterSpec.cpp index 526b5cff..487a971d 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerEventEmitterSpec.cpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerEventEmitterSpec.cpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerEventEmitterSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridVideoPlayerEventEmitterSpec.hpp" diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerEventEmitterSpec.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerEventEmitterSpec.hpp index 8423c160..69dc0be5 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerEventEmitterSpec.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerEventEmitterSpec.hpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerEventEmitterSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerFactorySpec.cpp b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerFactorySpec.cpp index 2c384f8c..138485b0 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerFactorySpec.cpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerFactorySpec.cpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerFactorySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridVideoPlayerFactorySpec.hpp" diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerFactorySpec.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerFactorySpec.hpp index ef3506b4..e9f83127 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerFactorySpec.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerFactorySpec.hpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerFactorySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceFactorySpec.cpp b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceFactorySpec.cpp index 19677655..2051a859 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceFactorySpec.cpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceFactorySpec.cpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerSourceFactorySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridVideoPlayerSourceFactorySpec.hpp" diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceFactorySpec.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceFactorySpec.hpp index 67b5c262..974d03e8 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceFactorySpec.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceFactorySpec.hpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerSourceFactorySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceSpec.cpp b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceSpec.cpp index dcf46bc4..9ca05fc9 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceSpec.cpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceSpec.cpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerSourceSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridVideoPlayerSourceSpec.hpp" diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceSpec.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceSpec.hpp index cff24f42..27b06f36 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceSpec.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSourceSpec.hpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerSourceSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.cpp b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.cpp index ee8795a1..97969174 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.cpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.cpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridVideoPlayerSpec.hpp" diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.hpp index 760583d9..238f355a 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.hpp @@ -2,7 +2,7 @@ /// HybridVideoPlayerSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerFactorySpec.cpp b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerFactorySpec.cpp index 2b6be369..25d98096 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerFactorySpec.cpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerFactorySpec.cpp @@ -2,7 +2,7 @@ /// HybridVideoViewViewManagerFactorySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridVideoViewViewManagerFactorySpec.hpp" diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerFactorySpec.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerFactorySpec.hpp index a2a2f84c..3977a688 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerFactorySpec.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerFactorySpec.hpp @@ -2,7 +2,7 @@ /// HybridVideoViewViewManagerFactorySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerSpec.cpp b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerSpec.cpp index b4b06b54..e1adddf8 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerSpec.cpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerSpec.cpp @@ -2,7 +2,7 @@ /// HybridVideoViewViewManagerSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #include "HybridVideoViewViewManagerSpec.hpp" diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerSpec.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerSpec.hpp index 19318e47..163bb9a5 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerSpec.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/HybridVideoViewViewManagerSpec.hpp @@ -2,7 +2,7 @@ /// HybridVideoViewViewManagerSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/IgnoreSilentSwitchMode.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/IgnoreSilentSwitchMode.hpp index 50651bea..9f0c52a1 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/IgnoreSilentSwitchMode.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/IgnoreSilentSwitchMode.hpp @@ -2,7 +2,7 @@ /// IgnoreSilentSwitchMode.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/ListenerSubscription.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/ListenerSubscription.hpp index 7e1e949f..aa016569 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/ListenerSubscription.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/ListenerSubscription.hpp @@ -2,7 +2,7 @@ /// ListenerSubscription.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif @@ -32,13 +37,16 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (ListenerSubscription). */ - struct ListenerSubscription { + struct ListenerSubscription final { public: std::function remove SWIFT_PRIVATE; public: ListenerSubscription() = default; explicit ListenerSubscription(std::function remove): remove(remove) {} + + public: + // ListenerSubscription is not equatable because these properties are not equatable: remove }; } // namespace margelo::nitro::video @@ -51,12 +59,12 @@ namespace margelo::nitro { static inline margelo::nitro::video::ListenerSubscription fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::ListenerSubscription( - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "remove")) + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "remove"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::ListenerSubscription& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "remove", JSIConverter>::toJSI(runtime, arg.remove)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "remove"), JSIConverter>::toJSI(runtime, arg.remove)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -67,7 +75,7 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "remove"))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "remove")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/LivePlaybackParams.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/LivePlaybackParams.hpp index b463e5d9..bebff66f 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/LivePlaybackParams.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/LivePlaybackParams.hpp @@ -2,7 +2,7 @@ /// LivePlaybackParams.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif @@ -32,7 +37,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (LivePlaybackParams). */ - struct LivePlaybackParams { + struct LivePlaybackParams final { public: std::optional minPlaybackSpeed SWIFT_PRIVATE; std::optional maxPlaybackSpeed SWIFT_PRIVATE; @@ -43,6 +48,9 @@ namespace margelo::nitro::video { public: LivePlaybackParams() = default; explicit LivePlaybackParams(std::optional minPlaybackSpeed, std::optional maxPlaybackSpeed, std::optional maxOffsetMs, std::optional minOffsetMs, std::optional targetOffsetMs): minPlaybackSpeed(minPlaybackSpeed), maxPlaybackSpeed(maxPlaybackSpeed), maxOffsetMs(maxOffsetMs), minOffsetMs(minOffsetMs), targetOffsetMs(targetOffsetMs) {} + + public: + friend bool operator==(const LivePlaybackParams& lhs, const LivePlaybackParams& rhs) = default; }; } // namespace margelo::nitro::video @@ -55,20 +63,20 @@ namespace margelo::nitro { static inline margelo::nitro::video::LivePlaybackParams fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::LivePlaybackParams( - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "minPlaybackSpeed")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "maxPlaybackSpeed")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "maxOffsetMs")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "minOffsetMs")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "targetOffsetMs")) + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "minPlaybackSpeed"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "maxPlaybackSpeed"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "maxOffsetMs"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "minOffsetMs"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "targetOffsetMs"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::LivePlaybackParams& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "minPlaybackSpeed", JSIConverter>::toJSI(runtime, arg.minPlaybackSpeed)); - obj.setProperty(runtime, "maxPlaybackSpeed", JSIConverter>::toJSI(runtime, arg.maxPlaybackSpeed)); - obj.setProperty(runtime, "maxOffsetMs", JSIConverter>::toJSI(runtime, arg.maxOffsetMs)); - obj.setProperty(runtime, "minOffsetMs", JSIConverter>::toJSI(runtime, arg.minOffsetMs)); - obj.setProperty(runtime, "targetOffsetMs", JSIConverter>::toJSI(runtime, arg.targetOffsetMs)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "minPlaybackSpeed"), JSIConverter>::toJSI(runtime, arg.minPlaybackSpeed)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "maxPlaybackSpeed"), JSIConverter>::toJSI(runtime, arg.maxPlaybackSpeed)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "maxOffsetMs"), JSIConverter>::toJSI(runtime, arg.maxOffsetMs)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "minOffsetMs"), JSIConverter>::toJSI(runtime, arg.minOffsetMs)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "targetOffsetMs"), JSIConverter>::toJSI(runtime, arg.targetOffsetMs)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -79,11 +87,11 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "minPlaybackSpeed"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "maxPlaybackSpeed"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "maxOffsetMs"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "minOffsetMs"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "targetOffsetMs"))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "minPlaybackSpeed")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "maxPlaybackSpeed")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "maxOffsetMs")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "minOffsetMs")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "targetOffsetMs")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/MixAudioMode.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/MixAudioMode.hpp index 2b36d2d0..ea57f33f 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/MixAudioMode.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/MixAudioMode.hpp @@ -2,7 +2,7 @@ /// MixAudioMode.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/NativeDrmParams.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/NativeDrmParams.hpp index c4e52066..023bc2ba 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/NativeDrmParams.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/NativeDrmParams.hpp @@ -2,7 +2,7 @@ /// NativeDrmParams.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif // Forward declaration of `OnGetLicensePayload` to properly resolve imports. namespace margelo::nitro::video { struct OnGetLicensePayload; } @@ -38,7 +43,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (NativeDrmParams). */ - struct NativeDrmParams { + struct NativeDrmParams final { public: std::optional type SWIFT_PRIVATE; std::optional licenseUrl SWIFT_PRIVATE; @@ -51,6 +56,9 @@ namespace margelo::nitro::video { public: NativeDrmParams() = default; explicit NativeDrmParams(std::optional type, std::optional licenseUrl, std::optional certificateUrl, std::optional contentId, std::optional> licenseHeaders, std::optional multiSession, std::optional>>>(const OnGetLicensePayload& /* payload */)>> getLicense): type(type), licenseUrl(licenseUrl), certificateUrl(certificateUrl), contentId(contentId), licenseHeaders(licenseHeaders), multiSession(multiSession), getLicense(getLicense) {} + + public: + // NativeDrmParams is not equatable because these properties are not equatable: getLicense }; } // namespace margelo::nitro::video @@ -63,24 +71,24 @@ namespace margelo::nitro { static inline margelo::nitro::video::NativeDrmParams fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::NativeDrmParams( - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "type")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "licenseUrl")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "certificateUrl")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "contentId")), - JSIConverter>>::fromJSI(runtime, obj.getProperty(runtime, "licenseHeaders")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "multiSession")), - JSIConverter>>>(const margelo::nitro::video::OnGetLicensePayload&)>>>::fromJSI(runtime, obj.getProperty(runtime, "getLicense")) + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "type"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "licenseUrl"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "certificateUrl"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "contentId"))), + JSIConverter>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "licenseHeaders"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "multiSession"))), + JSIConverter>>>(const margelo::nitro::video::OnGetLicensePayload&)>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "getLicense"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::NativeDrmParams& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "type", JSIConverter>::toJSI(runtime, arg.type)); - obj.setProperty(runtime, "licenseUrl", JSIConverter>::toJSI(runtime, arg.licenseUrl)); - obj.setProperty(runtime, "certificateUrl", JSIConverter>::toJSI(runtime, arg.certificateUrl)); - obj.setProperty(runtime, "contentId", JSIConverter>::toJSI(runtime, arg.contentId)); - obj.setProperty(runtime, "licenseHeaders", JSIConverter>>::toJSI(runtime, arg.licenseHeaders)); - obj.setProperty(runtime, "multiSession", JSIConverter>::toJSI(runtime, arg.multiSession)); - obj.setProperty(runtime, "getLicense", JSIConverter>>>(const margelo::nitro::video::OnGetLicensePayload&)>>>::toJSI(runtime, arg.getLicense)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "type"), JSIConverter>::toJSI(runtime, arg.type)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "licenseUrl"), JSIConverter>::toJSI(runtime, arg.licenseUrl)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "certificateUrl"), JSIConverter>::toJSI(runtime, arg.certificateUrl)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "contentId"), JSIConverter>::toJSI(runtime, arg.contentId)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "licenseHeaders"), JSIConverter>>::toJSI(runtime, arg.licenseHeaders)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "multiSession"), JSIConverter>::toJSI(runtime, arg.multiSession)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "getLicense"), JSIConverter>>>(const margelo::nitro::video::OnGetLicensePayload&)>>>::toJSI(runtime, arg.getLicense)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -91,13 +99,13 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "type"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "licenseUrl"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "certificateUrl"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "contentId"))) return false; - if (!JSIConverter>>::canConvert(runtime, obj.getProperty(runtime, "licenseHeaders"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "multiSession"))) return false; - if (!JSIConverter>>>(const margelo::nitro::video::OnGetLicensePayload&)>>>::canConvert(runtime, obj.getProperty(runtime, "getLicense"))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "type")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "licenseUrl")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "certificateUrl")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "contentId")))) return false; + if (!JSIConverter>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "licenseHeaders")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "multiSession")))) return false; + if (!JSIConverter>>>(const margelo::nitro::video::OnGetLicensePayload&)>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "getLicense")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/NativeExternalSubtitle.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/NativeExternalSubtitle.hpp index 94f7a6db..e5793c58 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/NativeExternalSubtitle.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/NativeExternalSubtitle.hpp @@ -2,7 +2,7 @@ /// NativeExternalSubtitle.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif // Forward declaration of `SubtitleType` to properly resolve imports. namespace margelo::nitro::video { enum class SubtitleType; } @@ -34,7 +39,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (NativeExternalSubtitle). */ - struct NativeExternalSubtitle { + struct NativeExternalSubtitle final { public: std::string uri SWIFT_PRIVATE; std::string label SWIFT_PRIVATE; @@ -44,6 +49,9 @@ namespace margelo::nitro::video { public: NativeExternalSubtitle() = default; explicit NativeExternalSubtitle(std::string uri, std::string label, SubtitleType type, std::string language): uri(uri), label(label), type(type), language(language) {} + + public: + friend bool operator==(const NativeExternalSubtitle& lhs, const NativeExternalSubtitle& rhs) = default; }; } // namespace margelo::nitro::video @@ -56,18 +64,18 @@ namespace margelo::nitro { static inline margelo::nitro::video::NativeExternalSubtitle fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::NativeExternalSubtitle( - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "uri")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "label")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "type")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "language")) + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "uri"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "label"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "type"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "language"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::NativeExternalSubtitle& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "uri", JSIConverter::toJSI(runtime, arg.uri)); - obj.setProperty(runtime, "label", JSIConverter::toJSI(runtime, arg.label)); - obj.setProperty(runtime, "type", JSIConverter::toJSI(runtime, arg.type)); - obj.setProperty(runtime, "language", JSIConverter::toJSI(runtime, arg.language)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "uri"), JSIConverter::toJSI(runtime, arg.uri)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "label"), JSIConverter::toJSI(runtime, arg.label)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "type"), JSIConverter::toJSI(runtime, arg.type)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "language"), JSIConverter::toJSI(runtime, arg.language)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -78,10 +86,10 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "uri"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "label"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "type"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "language"))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "uri")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "label")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "type")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "language")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/NativeVideoConfig.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/NativeVideoConfig.hpp index 89299e74..fd28bc88 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/NativeVideoConfig.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/NativeVideoConfig.hpp @@ -2,7 +2,7 @@ /// NativeVideoConfig.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif // Forward declaration of `NativeExternalSubtitle` to properly resolve imports. namespace margelo::nitro::video { struct NativeExternalSubtitle; } @@ -46,7 +51,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (NativeVideoConfig). */ - struct NativeVideoConfig { + struct NativeVideoConfig final { public: std::string uri SWIFT_PRIVATE; std::optional> externalSubtitles SWIFT_PRIVATE; @@ -59,6 +64,9 @@ namespace margelo::nitro::video { public: NativeVideoConfig() = default; explicit NativeVideoConfig(std::string uri, std::optional> externalSubtitles, std::optional drm, std::optional> headers, std::optional bufferConfig, std::optional metadata, std::optional initializeOnCreation): uri(uri), externalSubtitles(externalSubtitles), drm(drm), headers(headers), bufferConfig(bufferConfig), metadata(metadata), initializeOnCreation(initializeOnCreation) {} + + public: + // NativeVideoConfig is not equatable because these properties are not equatable: drm }; } // namespace margelo::nitro::video @@ -71,24 +79,24 @@ namespace margelo::nitro { static inline margelo::nitro::video::NativeVideoConfig fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::NativeVideoConfig( - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "uri")), - JSIConverter>>::fromJSI(runtime, obj.getProperty(runtime, "externalSubtitles")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "drm")), - JSIConverter>>::fromJSI(runtime, obj.getProperty(runtime, "headers")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "bufferConfig")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "metadata")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "initializeOnCreation")) + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "uri"))), + JSIConverter>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "externalSubtitles"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "drm"))), + JSIConverter>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "headers"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "bufferConfig"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "metadata"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "initializeOnCreation"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::NativeVideoConfig& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "uri", JSIConverter::toJSI(runtime, arg.uri)); - obj.setProperty(runtime, "externalSubtitles", JSIConverter>>::toJSI(runtime, arg.externalSubtitles)); - obj.setProperty(runtime, "drm", JSIConverter>::toJSI(runtime, arg.drm)); - obj.setProperty(runtime, "headers", JSIConverter>>::toJSI(runtime, arg.headers)); - obj.setProperty(runtime, "bufferConfig", JSIConverter>::toJSI(runtime, arg.bufferConfig)); - obj.setProperty(runtime, "metadata", JSIConverter>::toJSI(runtime, arg.metadata)); - obj.setProperty(runtime, "initializeOnCreation", JSIConverter>::toJSI(runtime, arg.initializeOnCreation)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "uri"), JSIConverter::toJSI(runtime, arg.uri)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "externalSubtitles"), JSIConverter>>::toJSI(runtime, arg.externalSubtitles)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "drm"), JSIConverter>::toJSI(runtime, arg.drm)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "headers"), JSIConverter>>::toJSI(runtime, arg.headers)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "bufferConfig"), JSIConverter>::toJSI(runtime, arg.bufferConfig)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "metadata"), JSIConverter>::toJSI(runtime, arg.metadata)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "initializeOnCreation"), JSIConverter>::toJSI(runtime, arg.initializeOnCreation)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -99,13 +107,13 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "uri"))) return false; - if (!JSIConverter>>::canConvert(runtime, obj.getProperty(runtime, "externalSubtitles"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "drm"))) return false; - if (!JSIConverter>>::canConvert(runtime, obj.getProperty(runtime, "headers"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "bufferConfig"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "metadata"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "initializeOnCreation"))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "uri")))) return false; + if (!JSIConverter>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "externalSubtitles")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "drm")))) return false; + if (!JSIConverter>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "headers")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "bufferConfig")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "metadata")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "initializeOnCreation")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/OnGetLicensePayload.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/OnGetLicensePayload.hpp index 3ba6d73b..a822dbce 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/OnGetLicensePayload.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/OnGetLicensePayload.hpp @@ -2,7 +2,7 @@ /// OnGetLicensePayload.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif @@ -32,7 +37,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (OnGetLicensePayload). */ - struct OnGetLicensePayload { + struct OnGetLicensePayload final { public: std::string contentId SWIFT_PRIVATE; std::string licenseUrl SWIFT_PRIVATE; @@ -42,6 +47,9 @@ namespace margelo::nitro::video { public: OnGetLicensePayload() = default; explicit OnGetLicensePayload(std::string contentId, std::string licenseUrl, std::string keyUrl, std::string spc): contentId(contentId), licenseUrl(licenseUrl), keyUrl(keyUrl), spc(spc) {} + + public: + friend bool operator==(const OnGetLicensePayload& lhs, const OnGetLicensePayload& rhs) = default; }; } // namespace margelo::nitro::video @@ -54,18 +62,18 @@ namespace margelo::nitro { static inline margelo::nitro::video::OnGetLicensePayload fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::OnGetLicensePayload( - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "contentId")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "licenseUrl")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "keyUrl")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "spc")) + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "contentId"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "licenseUrl"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "keyUrl"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "spc"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::OnGetLicensePayload& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "contentId", JSIConverter::toJSI(runtime, arg.contentId)); - obj.setProperty(runtime, "licenseUrl", JSIConverter::toJSI(runtime, arg.licenseUrl)); - obj.setProperty(runtime, "keyUrl", JSIConverter::toJSI(runtime, arg.keyUrl)); - obj.setProperty(runtime, "spc", JSIConverter::toJSI(runtime, arg.spc)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "contentId"), JSIConverter::toJSI(runtime, arg.contentId)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "licenseUrl"), JSIConverter::toJSI(runtime, arg.licenseUrl)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "keyUrl"), JSIConverter::toJSI(runtime, arg.keyUrl)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "spc"), JSIConverter::toJSI(runtime, arg.spc)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -76,10 +84,10 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "contentId"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "licenseUrl"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "keyUrl"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "spc"))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "contentId")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "licenseUrl")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "keyUrl")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "spc")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/ResizeMode.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/ResizeMode.hpp index c1db4467..b2eaa124 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/ResizeMode.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/ResizeMode.hpp @@ -2,7 +2,7 @@ /// ResizeMode.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/Resolution.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/Resolution.hpp index 8a0b44d3..461de5ae 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/Resolution.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/Resolution.hpp @@ -2,7 +2,7 @@ /// Resolution.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif @@ -32,7 +37,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (Resolution). */ - struct Resolution { + struct Resolution final { public: double width SWIFT_PRIVATE; double height SWIFT_PRIVATE; @@ -40,6 +45,9 @@ namespace margelo::nitro::video { public: Resolution() = default; explicit Resolution(double width, double height): width(width), height(height) {} + + public: + friend bool operator==(const Resolution& lhs, const Resolution& rhs) = default; }; } // namespace margelo::nitro::video @@ -52,14 +60,14 @@ namespace margelo::nitro { static inline margelo::nitro::video::Resolution fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::Resolution( - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "width")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "height")) + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "width"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "height"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::Resolution& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "width", JSIConverter::toJSI(runtime, arg.width)); - obj.setProperty(runtime, "height", JSIConverter::toJSI(runtime, arg.height)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "width"), JSIConverter::toJSI(runtime, arg.width)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "height"), JSIConverter::toJSI(runtime, arg.height)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -70,8 +78,8 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "width"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "height"))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "width")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "height")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/SourceType.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/SourceType.hpp index 31ea01d2..8b0a67d7 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/SourceType.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/SourceType.hpp @@ -2,7 +2,7 @@ /// SourceType.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/SubtitleType.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/SubtitleType.hpp index f76312a3..39813142 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/SubtitleType.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/SubtitleType.hpp @@ -2,7 +2,7 @@ /// SubtitleType.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/SurfaceType.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/SurfaceType.hpp index 4b8b3817..77c47ed0 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/SurfaceType.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/SurfaceType.hpp @@ -2,7 +2,7 @@ /// SurfaceType.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/TextTrack.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/TextTrack.hpp index 55f16670..10e0c426 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/TextTrack.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/TextTrack.hpp @@ -2,7 +2,7 @@ /// TextTrack.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif @@ -33,7 +38,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (TextTrack). */ - struct TextTrack { + struct TextTrack final { public: std::string id SWIFT_PRIVATE; std::string label SWIFT_PRIVATE; @@ -43,6 +48,9 @@ namespace margelo::nitro::video { public: TextTrack() = default; explicit TextTrack(std::string id, std::string label, std::optional language, bool selected): id(id), label(label), language(language), selected(selected) {} + + public: + friend bool operator==(const TextTrack& lhs, const TextTrack& rhs) = default; }; } // namespace margelo::nitro::video @@ -55,18 +63,18 @@ namespace margelo::nitro { static inline margelo::nitro::video::TextTrack fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::TextTrack( - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "id")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "label")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "language")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "selected")) + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "id"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "label"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "language"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "selected"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::TextTrack& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "id", JSIConverter::toJSI(runtime, arg.id)); - obj.setProperty(runtime, "label", JSIConverter::toJSI(runtime, arg.label)); - obj.setProperty(runtime, "language", JSIConverter>::toJSI(runtime, arg.language)); - obj.setProperty(runtime, "selected", JSIConverter::toJSI(runtime, arg.selected)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "id"), JSIConverter::toJSI(runtime, arg.id)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "label"), JSIConverter::toJSI(runtime, arg.label)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "language"), JSIConverter>::toJSI(runtime, arg.language)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "selected"), JSIConverter::toJSI(runtime, arg.selected)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -77,10 +85,10 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "id"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "label"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "language"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "selected"))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "id")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "label")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "language")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "selected")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/TimedMetadata.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/TimedMetadata.hpp index 30b48a4e..289f5092 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/TimedMetadata.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/TimedMetadata.hpp @@ -2,7 +2,7 @@ /// TimedMetadata.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif // Forward declaration of `TimedMetadataObject` to properly resolve imports. namespace margelo::nitro::video { struct TimedMetadataObject; } @@ -34,13 +39,16 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (TimedMetadata). */ - struct TimedMetadata { + struct TimedMetadata final { public: std::vector metadata SWIFT_PRIVATE; public: TimedMetadata() = default; explicit TimedMetadata(std::vector metadata): metadata(metadata) {} + + public: + friend bool operator==(const TimedMetadata& lhs, const TimedMetadata& rhs) = default; }; } // namespace margelo::nitro::video @@ -53,12 +61,12 @@ namespace margelo::nitro { static inline margelo::nitro::video::TimedMetadata fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::TimedMetadata( - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "metadata")) + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "metadata"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::TimedMetadata& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "metadata", JSIConverter>::toJSI(runtime, arg.metadata)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "metadata"), JSIConverter>::toJSI(runtime, arg.metadata)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -69,7 +77,7 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "metadata"))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "metadata")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/TimedMetadataObject.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/TimedMetadataObject.hpp index 58f1d0e2..e20a20bc 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/TimedMetadataObject.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/TimedMetadataObject.hpp @@ -2,7 +2,7 @@ /// TimedMetadataObject.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif @@ -32,7 +37,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (TimedMetadataObject). */ - struct TimedMetadataObject { + struct TimedMetadataObject final { public: std::string value SWIFT_PRIVATE; std::string identifier SWIFT_PRIVATE; @@ -40,6 +45,9 @@ namespace margelo::nitro::video { public: TimedMetadataObject() = default; explicit TimedMetadataObject(std::string value, std::string identifier): value(value), identifier(identifier) {} + + public: + friend bool operator==(const TimedMetadataObject& lhs, const TimedMetadataObject& rhs) = default; }; } // namespace margelo::nitro::video @@ -52,14 +60,14 @@ namespace margelo::nitro { static inline margelo::nitro::video::TimedMetadataObject fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::TimedMetadataObject( - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "value")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "identifier")) + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "value"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "identifier"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::TimedMetadataObject& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "value", JSIConverter::toJSI(runtime, arg.value)); - obj.setProperty(runtime, "identifier", JSIConverter::toJSI(runtime, arg.identifier)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "value"), JSIConverter::toJSI(runtime, arg.value)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "identifier"), JSIConverter::toJSI(runtime, arg.identifier)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -70,8 +78,8 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "value"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "identifier"))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "value")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "identifier")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/VideoInformation.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/VideoInformation.hpp index b55cfafb..68950d0d 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/VideoInformation.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/VideoInformation.hpp @@ -2,7 +2,7 @@ /// VideoInformation.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif // Forward declaration of `VideoOrientation` to properly resolve imports. namespace margelo::nitro::video { enum class VideoOrientation; } @@ -33,12 +38,12 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (VideoInformation). */ - struct VideoInformation { + struct VideoInformation final { public: double bitrate SWIFT_PRIVATE; double width SWIFT_PRIVATE; double height SWIFT_PRIVATE; - int64_t duration SWIFT_PRIVATE; + double duration SWIFT_PRIVATE; int64_t fileSize SWIFT_PRIVATE; bool isHDR SWIFT_PRIVATE; bool isLive SWIFT_PRIVATE; @@ -46,7 +51,10 @@ namespace margelo::nitro::video { public: VideoInformation() = default; - explicit VideoInformation(double bitrate, double width, double height, int64_t duration, int64_t fileSize, bool isHDR, bool isLive, VideoOrientation orientation): bitrate(bitrate), width(width), height(height), duration(duration), fileSize(fileSize), isHDR(isHDR), isLive(isLive), orientation(orientation) {} + explicit VideoInformation(double bitrate, double width, double height, double duration, int64_t fileSize, bool isHDR, bool isLive, VideoOrientation orientation): bitrate(bitrate), width(width), height(height), duration(duration), fileSize(fileSize), isHDR(isHDR), isLive(isLive), orientation(orientation) {} + + public: + friend bool operator==(const VideoInformation& lhs, const VideoInformation& rhs) = default; }; } // namespace margelo::nitro::video @@ -59,26 +67,26 @@ namespace margelo::nitro { static inline margelo::nitro::video::VideoInformation fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::VideoInformation( - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "bitrate")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "width")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "height")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "duration")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "fileSize")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "isHDR")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "isLive")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "orientation")) + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "bitrate"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "width"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "height"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "duration"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "fileSize"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isHDR"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isLive"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "orientation"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::VideoInformation& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "bitrate", JSIConverter::toJSI(runtime, arg.bitrate)); - obj.setProperty(runtime, "width", JSIConverter::toJSI(runtime, arg.width)); - obj.setProperty(runtime, "height", JSIConverter::toJSI(runtime, arg.height)); - obj.setProperty(runtime, "duration", JSIConverter::toJSI(runtime, arg.duration)); - obj.setProperty(runtime, "fileSize", JSIConverter::toJSI(runtime, arg.fileSize)); - obj.setProperty(runtime, "isHDR", JSIConverter::toJSI(runtime, arg.isHDR)); - obj.setProperty(runtime, "isLive", JSIConverter::toJSI(runtime, arg.isLive)); - obj.setProperty(runtime, "orientation", JSIConverter::toJSI(runtime, arg.orientation)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "bitrate"), JSIConverter::toJSI(runtime, arg.bitrate)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "width"), JSIConverter::toJSI(runtime, arg.width)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "height"), JSIConverter::toJSI(runtime, arg.height)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "duration"), JSIConverter::toJSI(runtime, arg.duration)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "fileSize"), JSIConverter::toJSI(runtime, arg.fileSize)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "isHDR"), JSIConverter::toJSI(runtime, arg.isHDR)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "isLive"), JSIConverter::toJSI(runtime, arg.isLive)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "orientation"), JSIConverter::toJSI(runtime, arg.orientation)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -89,14 +97,14 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "bitrate"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "width"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "height"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "duration"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "fileSize"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "isHDR"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "isLive"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "orientation"))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "bitrate")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "width")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "height")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "duration")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "fileSize")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isHDR")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isLive")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "orientation")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/VideoOrientation.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/VideoOrientation.hpp index 2d9444ce..c77694bb 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/VideoOrientation.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/VideoOrientation.hpp @@ -2,7 +2,7 @@ /// VideoOrientation.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/VideoPlayerStatus.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/VideoPlayerStatus.hpp index aeb15403..a11f1612 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/VideoPlayerStatus.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/VideoPlayerStatus.hpp @@ -2,7 +2,7 @@ /// VideoPlayerStatus.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/onLoadData.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/onLoadData.hpp index c1b86900..cdd023b9 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/onLoadData.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/onLoadData.hpp @@ -2,7 +2,7 @@ /// onLoadData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif // Forward declaration of `VideoOrientation` to properly resolve imports. namespace margelo::nitro::video { enum class VideoOrientation; } @@ -33,7 +38,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (onLoadData). */ - struct onLoadData { + struct onLoadData final { public: double currentTime SWIFT_PRIVATE; double duration SWIFT_PRIVATE; @@ -44,6 +49,9 @@ namespace margelo::nitro::video { public: onLoadData() = default; explicit onLoadData(double currentTime, double duration, double height, double width, VideoOrientation orientation): currentTime(currentTime), duration(duration), height(height), width(width), orientation(orientation) {} + + public: + friend bool operator==(const onLoadData& lhs, const onLoadData& rhs) = default; }; } // namespace margelo::nitro::video @@ -56,20 +64,20 @@ namespace margelo::nitro { static inline margelo::nitro::video::onLoadData fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::onLoadData( - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "currentTime")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "duration")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "height")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "width")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "orientation")) + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "currentTime"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "duration"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "height"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "width"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "orientation"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::onLoadData& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "currentTime", JSIConverter::toJSI(runtime, arg.currentTime)); - obj.setProperty(runtime, "duration", JSIConverter::toJSI(runtime, arg.duration)); - obj.setProperty(runtime, "height", JSIConverter::toJSI(runtime, arg.height)); - obj.setProperty(runtime, "width", JSIConverter::toJSI(runtime, arg.width)); - obj.setProperty(runtime, "orientation", JSIConverter::toJSI(runtime, arg.orientation)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "currentTime"), JSIConverter::toJSI(runtime, arg.currentTime)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "duration"), JSIConverter::toJSI(runtime, arg.duration)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "height"), JSIConverter::toJSI(runtime, arg.height)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "width"), JSIConverter::toJSI(runtime, arg.width)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "orientation"), JSIConverter::toJSI(runtime, arg.orientation)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -80,11 +88,11 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "currentTime"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "duration"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "height"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "width"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "orientation"))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "currentTime")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "duration")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "height")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "width")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "orientation")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/onLoadStartData.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/onLoadStartData.hpp index fc46f227..8b0833de 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/onLoadStartData.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/onLoadStartData.hpp @@ -2,7 +2,7 @@ /// onLoadStartData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif // Forward declaration of `SourceType` to properly resolve imports. namespace margelo::nitro::video { enum class SourceType; } @@ -37,7 +42,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (onLoadStartData). */ - struct onLoadStartData { + struct onLoadStartData final { public: SourceType sourceType SWIFT_PRIVATE; std::shared_ptr source SWIFT_PRIVATE; @@ -45,6 +50,9 @@ namespace margelo::nitro::video { public: onLoadStartData() = default; explicit onLoadStartData(SourceType sourceType, std::shared_ptr source): sourceType(sourceType), source(source) {} + + public: + friend bool operator==(const onLoadStartData& lhs, const onLoadStartData& rhs) = default; }; } // namespace margelo::nitro::video @@ -57,14 +65,14 @@ namespace margelo::nitro { static inline margelo::nitro::video::onLoadStartData fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::onLoadStartData( - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "sourceType")), - JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "source")) + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "sourceType"))), + JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "source"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::onLoadStartData& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "sourceType", JSIConverter::toJSI(runtime, arg.sourceType)); - obj.setProperty(runtime, "source", JSIConverter>::toJSI(runtime, arg.source)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "sourceType"), JSIConverter::toJSI(runtime, arg.sourceType)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "source"), JSIConverter>::toJSI(runtime, arg.source)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -75,8 +83,8 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "sourceType"))) return false; - if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "source"))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "sourceType")))) return false; + if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "source")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/onPlaybackStateChangeData.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/onPlaybackStateChangeData.hpp index 5de5e767..9c19ffb0 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/onPlaybackStateChangeData.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/onPlaybackStateChangeData.hpp @@ -2,7 +2,7 @@ /// onPlaybackStateChangeData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif @@ -32,7 +37,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (onPlaybackStateChangeData). */ - struct onPlaybackStateChangeData { + struct onPlaybackStateChangeData final { public: bool isPlaying SWIFT_PRIVATE; bool isBuffering SWIFT_PRIVATE; @@ -40,6 +45,9 @@ namespace margelo::nitro::video { public: onPlaybackStateChangeData() = default; explicit onPlaybackStateChangeData(bool isPlaying, bool isBuffering): isPlaying(isPlaying), isBuffering(isBuffering) {} + + public: + friend bool operator==(const onPlaybackStateChangeData& lhs, const onPlaybackStateChangeData& rhs) = default; }; } // namespace margelo::nitro::video @@ -52,14 +60,14 @@ namespace margelo::nitro { static inline margelo::nitro::video::onPlaybackStateChangeData fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::onPlaybackStateChangeData( - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "isPlaying")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "isBuffering")) + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isPlaying"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isBuffering"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::onPlaybackStateChangeData& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "isPlaying", JSIConverter::toJSI(runtime, arg.isPlaying)); - obj.setProperty(runtime, "isBuffering", JSIConverter::toJSI(runtime, arg.isBuffering)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "isPlaying"), JSIConverter::toJSI(runtime, arg.isPlaying)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "isBuffering"), JSIConverter::toJSI(runtime, arg.isBuffering)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -70,8 +78,8 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "isPlaying"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "isBuffering"))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isPlaying")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "isBuffering")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/onProgressData.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/onProgressData.hpp index 333b240d..a924563d 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/onProgressData.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/onProgressData.hpp @@ -2,7 +2,7 @@ /// onProgressData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif @@ -32,7 +37,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (onProgressData). */ - struct onProgressData { + struct onProgressData final { public: double currentTime SWIFT_PRIVATE; double bufferDuration SWIFT_PRIVATE; @@ -40,6 +45,9 @@ namespace margelo::nitro::video { public: onProgressData() = default; explicit onProgressData(double currentTime, double bufferDuration): currentTime(currentTime), bufferDuration(bufferDuration) {} + + public: + friend bool operator==(const onProgressData& lhs, const onProgressData& rhs) = default; }; } // namespace margelo::nitro::video @@ -52,14 +60,14 @@ namespace margelo::nitro { static inline margelo::nitro::video::onProgressData fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::onProgressData( - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "currentTime")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "bufferDuration")) + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "currentTime"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "bufferDuration"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::onProgressData& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "currentTime", JSIConverter::toJSI(runtime, arg.currentTime)); - obj.setProperty(runtime, "bufferDuration", JSIConverter::toJSI(runtime, arg.bufferDuration)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "currentTime"), JSIConverter::toJSI(runtime, arg.currentTime)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "bufferDuration"), JSIConverter::toJSI(runtime, arg.bufferDuration)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -70,8 +78,8 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "currentTime"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "bufferDuration"))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "currentTime")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "bufferDuration")))) return false; return true; } }; diff --git a/packages/react-native-video/nitrogen/generated/shared/c++/onVolumeChangeData.hpp b/packages/react-native-video/nitrogen/generated/shared/c++/onVolumeChangeData.hpp index b92cb507..f2515334 100644 --- a/packages/react-native-video/nitrogen/generated/shared/c++/onVolumeChangeData.hpp +++ b/packages/react-native-video/nitrogen/generated/shared/c++/onVolumeChangeData.hpp @@ -2,7 +2,7 @@ /// onVolumeChangeData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © Marc Rousavy @ Margelo /// #pragma once @@ -22,6 +22,11 @@ #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif @@ -32,7 +37,7 @@ namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (onVolumeChangeData). */ - struct onVolumeChangeData { + struct onVolumeChangeData final { public: double volume SWIFT_PRIVATE; bool muted SWIFT_PRIVATE; @@ -40,6 +45,9 @@ namespace margelo::nitro::video { public: onVolumeChangeData() = default; explicit onVolumeChangeData(double volume, bool muted): volume(volume), muted(muted) {} + + public: + friend bool operator==(const onVolumeChangeData& lhs, const onVolumeChangeData& rhs) = default; }; } // namespace margelo::nitro::video @@ -52,14 +60,14 @@ namespace margelo::nitro { static inline margelo::nitro::video::onVolumeChangeData fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::onVolumeChangeData( - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "volume")), - JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "muted")) + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "volume"))), + JSIConverter::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "muted"))) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::onVolumeChangeData& arg) { jsi::Object obj(runtime); - obj.setProperty(runtime, "volume", JSIConverter::toJSI(runtime, arg.volume)); - obj.setProperty(runtime, "muted", JSIConverter::toJSI(runtime, arg.muted)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "volume"), JSIConverter::toJSI(runtime, arg.volume)); + obj.setProperty(runtime, PropNameIDCache::get(runtime, "muted"), JSIConverter::toJSI(runtime, arg.muted)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { @@ -70,8 +78,8 @@ namespace margelo::nitro { if (!nitro::isPlainObject(runtime, obj)) { return false; } - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "volume"))) return false; - if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "muted"))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "volume")))) return false; + if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "muted")))) return false; return true; } }; diff --git a/packages/react-native-video/package.json b/packages/react-native-video/package.json index dd8e5ada..2aa218af 100644 --- a/packages/react-native-video/package.json +++ b/packages/react-native-video/package.json @@ -80,19 +80,19 @@ "eslint": "^8.51.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-prettier": "^5.0.1", - "nitrogen": "^0.31.0", + "nitrogen": "0.35.0", "prettier": "^3.0.3", "react": "18.3.1", "react-native": "^0.77.0", "@react-native/eslint-config": "^0.77.0", "react-native-builder-bob": "^0.40.0", - "react-native-nitro-modules": "^0.31.0", + "react-native-nitro-modules": "0.35.0", "typescript": "^5.2.2" }, "peerDependencies": { "react": "*", "react-native": "*", - "react-native-nitro-modules": ">=0.27.2" + "react-native-nitro-modules": ">=0.35.0" }, "release-it": { "npm": { diff --git a/packages/react-native-video/src/core/types/VideoInformation.ts b/packages/react-native-video/src/core/types/VideoInformation.ts index 45ab15be..a7dde54d 100644 --- a/packages/react-native-video/src/core/types/VideoInformation.ts +++ b/packages/react-native-video/src/core/types/VideoInformation.ts @@ -1,3 +1,4 @@ +import type { Int64 } from 'react-native-nitro-modules'; import type { VideoOrientation } from './VideoOrientation'; export interface VideoInformation { @@ -17,14 +18,14 @@ export interface VideoInformation { height: number; /** - * The duration of the video in seconds. + * The duration of the video in seconds, or `-1` if not available. */ - duration: bigint; + duration: number; /** - * The file size of the video in bytes. + * The file size of the video in bytes, or `-1` if not available. */ - fileSize: bigint; + fileSize: Int64; /** * Whether the video is HDR.