gitextract_c7gy42g0/ ├── .github/ │ ├── actions/ │ │ └── setup-bun/ │ │ └── action.yml │ └── workflows/ │ ├── deploy-docs.yml │ └── test-docs-build.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── bunfig.toml ├── config/ │ ├── .editorconfig │ ├── .eslintrc.js │ └── tsconfig.json ├── docs/ │ ├── .eslintrc.js │ ├── .gitignore │ ├── README.md │ ├── docs/ │ │ ├── fundamentals/ │ │ │ ├── _category_.json │ │ │ ├── configuration/ │ │ │ │ ├── _category_.json │ │ │ │ ├── with-expo.md │ │ │ │ └── without-expo.md │ │ │ ├── installation.md │ │ │ └── intro.mdx │ │ ├── offer.mdx │ │ ├── player/ │ │ │ ├── _category_.json │ │ │ ├── analytics/ │ │ │ │ ├── _category_.json │ │ │ │ ├── manual.md │ │ │ │ └── simple.md │ │ │ ├── downloading/ │ │ │ │ ├── _category_.json │ │ │ │ ├── downloading.md │ │ │ │ ├── drm-downloading.md │ │ │ │ ├── events-downloading.md │ │ │ │ ├── getting-started.md │ │ │ │ └── track-selection.md │ │ │ ├── drm.md │ │ │ ├── events.md │ │ │ ├── player.md │ │ │ ├── use-video-player.md │ │ │ └── video-player.md │ │ ├── plugins/ │ │ │ ├── _category_.json │ │ │ ├── ask-for-plugin.md │ │ │ ├── examples.md │ │ │ ├── interface.md │ │ │ ├── plugins.mdx │ │ │ ├── registry.md │ │ │ └── use-in-third-party-library.md │ │ ├── projects.md │ │ ├── updating.md │ │ └── video-view/ │ │ ├── _category_.json │ │ ├── chapters.md │ │ ├── events.md │ │ ├── methods.md │ │ ├── props.md │ │ └── video-view.md │ ├── docusaurus.config.ts │ ├── package.json │ ├── sidebars.ts │ ├── src/ │ │ ├── components/ │ │ │ ├── Homepage/ │ │ │ │ ├── Enterprise/ │ │ │ │ │ ├── Enterprise.module.css │ │ │ │ │ ├── Enterprise.tsx │ │ │ │ │ └── FeatureCard/ │ │ │ │ │ ├── FeatureCard.module.css │ │ │ │ │ └── FeatureCard.tsx │ │ │ │ ├── Features/ │ │ │ │ │ ├── Feature/ │ │ │ │ │ │ ├── Feature.module.css │ │ │ │ │ │ └── Feature.tsx │ │ │ │ │ ├── Features.module.css │ │ │ │ │ └── Features.tsx │ │ │ │ └── Hero/ │ │ │ │ ├── Badge/ │ │ │ │ │ ├── Badge.module.css │ │ │ │ │ └── Badge.tsx │ │ │ │ ├── Buttons/ │ │ │ │ │ ├── Buttons.module.css │ │ │ │ │ └── Buttons.tsx │ │ │ │ ├── Hero.module.css │ │ │ │ ├── Hero.tsx │ │ │ │ ├── ScrollIndicator/ │ │ │ │ │ ├── ScrollIndicator.module.css │ │ │ │ │ └── ScrollIndicator.tsx │ │ │ │ └── Stats/ │ │ │ │ ├── Stats.module.css │ │ │ │ └── Stats.tsx │ │ │ ├── Intro/ │ │ │ │ ├── V7ApiModel/ │ │ │ │ │ ├── V7ApiModel.module.css │ │ │ │ │ └── V7ApiModel.tsx │ │ │ │ ├── V7FeatureCards/ │ │ │ │ │ ├── V7FeatureCards.module.css │ │ │ │ │ └── V7FeatureCards.tsx │ │ │ │ ├── V7Lead/ │ │ │ │ │ ├── V7Lead.module.css │ │ │ │ │ └── V7Lead.tsx │ │ │ │ ├── V7NitroSection/ │ │ │ │ │ ├── V7NitroSection.module.css │ │ │ │ │ └── V7NitroSection.tsx │ │ │ │ ├── V7OpenSource/ │ │ │ │ │ ├── V7OpenSource.module.css │ │ │ │ │ └── V7OpenSource.tsx │ │ │ │ ├── V7ProPlugins/ │ │ │ │ │ ├── V7ProPlugins.module.css │ │ │ │ │ └── V7ProPlugins.tsx │ │ │ │ ├── V7StatusTimeline/ │ │ │ │ │ ├── V7StatusTimeline.module.css │ │ │ │ │ └── V7StatusTimeline.tsx │ │ │ │ └── index.ts │ │ │ ├── Offer/ │ │ │ │ ├── Contact/ │ │ │ │ │ ├── Contact.module.css │ │ │ │ │ └── Contact.tsx │ │ │ │ ├── DecisionTable/ │ │ │ │ │ ├── DecisionTable.module.css │ │ │ │ │ └── DecisionTable.tsx │ │ │ │ ├── Extensions/ │ │ │ │ │ ├── Extensions.module.css │ │ │ │ │ └── Extensions.tsx │ │ │ │ ├── Hero/ │ │ │ │ │ ├── IntroHero.module.css │ │ │ │ │ └── IntroHero.tsx │ │ │ │ ├── HowItWorks/ │ │ │ │ │ ├── HowItWorks.module.css │ │ │ │ │ └── HowItWorks.tsx │ │ │ │ ├── Migration/ │ │ │ │ │ ├── Migration.module.css │ │ │ │ │ └── Migration.tsx │ │ │ │ ├── OfferCards/ │ │ │ │ │ ├── OfferCards.module.css │ │ │ │ │ └── OfferCards.tsx │ │ │ │ ├── Services/ │ │ │ │ │ ├── Services.module.css │ │ │ │ │ └── Services.tsx │ │ │ │ └── index.ts │ │ │ └── PlatformsList/ │ │ │ ├── PlatformsList.module.css │ │ │ └── PlatformsList.tsx │ │ ├── css/ │ │ │ └── custom.css │ │ └── pages/ │ │ ├── index.module.css │ │ └── index.tsx │ ├── static/ │ │ └── .nojekyll │ ├── tsconfig.json │ ├── versioned_docs/ │ │ └── version-6.x/ │ │ ├── component/ │ │ │ ├── _category_.json │ │ │ ├── ads.md │ │ │ ├── drm.mdx │ │ │ ├── events.mdx │ │ │ ├── methods.mdx │ │ │ └── props.mdx │ │ ├── installation.md │ │ ├── intro.md │ │ ├── other/ │ │ │ ├── _category_.json │ │ │ ├── caching.md │ │ │ ├── debug.md │ │ │ ├── downloading.md │ │ │ ├── expo.md │ │ │ ├── misc.md │ │ │ ├── new-arch.md │ │ │ └── plugin.md │ │ ├── projects.md │ │ └── updating.md │ ├── versioned_sidebars/ │ │ └── version-6.x-sidebars.json │ └── versions.json ├── example/ │ ├── .bundle/ │ │ └── config │ ├── .eslintrc.js │ ├── .gitignore │ ├── .watchmanconfig │ ├── Gemfile │ ├── android/ │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ ├── debug.keystore │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── debug/ │ │ │ │ └── AndroidManifest.xml │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── videoexample/ │ │ │ │ ├── MainActivity.kt │ │ │ │ └── MainApplication.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── rn_edit_text_material.xml │ │ │ └── values/ │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── app.json │ ├── babel.config.js │ ├── index.js │ ├── ios/ │ │ ├── .xcode.env │ │ ├── Podfile │ │ ├── VideoExample/ │ │ │ ├── AppDelegate.swift │ │ │ ├── Images.xcassets/ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── Info.plist │ │ │ ├── LaunchScreen.storyboard │ │ │ └── PrivacyInfo.xcprivacy │ │ ├── VideoExample-Bridging-Header.h │ │ ├── VideoExample.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ └── xcshareddata/ │ │ │ └── xcschemes/ │ │ │ └── VideoExample.xcscheme │ │ ├── VideoExample.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── VideoExampleTests/ │ │ ├── Info.plist │ │ └── VideoExampleTests.m │ ├── metro.config.js │ ├── package.json │ ├── src/ │ │ ├── App.tsx │ │ ├── components/ │ │ │ ├── Controls.tsx │ │ │ └── TextTrackManager.tsx │ │ ├── styles.ts │ │ ├── types/ │ │ │ └── videoSettings.ts │ │ └── utils/ │ │ ├── time.ts │ │ └── videoSource.ts │ └── tsconfig.json ├── lefthook.yml ├── package.json ├── packages/ │ ├── drm-plugin/ │ │ ├── .eslintrc.js │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── .watchmanconfig │ │ ├── README.md │ │ ├── ReactNativeVideoDrm.podspec │ │ ├── android/ │ │ │ ├── CMakeLists.txt │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── cpp/ │ │ │ │ └── cpp-adapter.cpp │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── twg/ │ │ │ └── videodrm/ │ │ │ ├── DRMManager/ │ │ │ │ └── DRMManager.kt │ │ │ ├── DRMPlugin.kt │ │ │ ├── PluginManager.kt │ │ │ └── VideoDrmPackage.kt │ │ ├── babel.config.js │ │ ├── ios/ │ │ │ ├── DRMManager/ │ │ │ │ ├── DRMManager+AVContentKeySessionDelegate.swift │ │ │ │ └── DRMManager.swift │ │ │ ├── DRMPlugin.swift │ │ │ └── PluginManager.swift │ │ ├── nitro.json │ │ ├── nitrogen/ │ │ │ └── generated/ │ │ │ ├── .gitattributes │ │ │ ├── android/ │ │ │ │ ├── ReactNativeVideoDrm+autolinking.cmake │ │ │ │ ├── ReactNativeVideoDrm+autolinking.gradle │ │ │ │ ├── ReactNativeVideoDrmOnLoad.cpp │ │ │ │ ├── ReactNativeVideoDrmOnLoad.hpp │ │ │ │ ├── c++/ │ │ │ │ │ ├── JHybridPluginManagerSpec.cpp │ │ │ │ │ └── JHybridPluginManagerSpec.hpp │ │ │ │ └── kotlin/ │ │ │ │ └── com/ │ │ │ │ └── margelo/ │ │ │ │ └── nitro/ │ │ │ │ └── videodrm/ │ │ │ │ ├── HybridPluginManagerSpec.kt │ │ │ │ └── ReactNativeVideoDrmOnLoad.kt │ │ │ ├── ios/ │ │ │ │ ├── ReactNativeVideoDrm+autolinking.rb │ │ │ │ ├── ReactNativeVideoDrm-Swift-Cxx-Bridge.cpp │ │ │ │ ├── ReactNativeVideoDrm-Swift-Cxx-Bridge.hpp │ │ │ │ ├── ReactNativeVideoDrm-Swift-Cxx-Umbrella.hpp │ │ │ │ ├── ReactNativeVideoDrmAutolinking.mm │ │ │ │ ├── ReactNativeVideoDrmAutolinking.swift │ │ │ │ ├── c++/ │ │ │ │ │ ├── HybridPluginManagerSpecSwift.cpp │ │ │ │ │ └── HybridPluginManagerSpecSwift.hpp │ │ │ │ └── swift/ │ │ │ │ ├── HybridPluginManagerSpec.swift │ │ │ │ └── HybridPluginManagerSpec_cxx.swift │ │ │ └── shared/ │ │ │ └── c++/ │ │ │ ├── HybridPluginManagerSpec.cpp │ │ │ └── HybridPluginManagerSpec.hpp │ │ ├── package.json │ │ ├── src/ │ │ │ ├── PluginManager.nitro.ts │ │ │ └── index.tsx │ │ ├── tsconfig.build.json │ │ └── tsconfig.json │ └── react-native-video/ │ ├── .eslintrc.js │ ├── .gitignore │ ├── .watchmanconfig │ ├── ReactNativeVideo.podspec │ ├── android/ │ │ ├── CMakeLists.txt │ │ ├── build.gradle │ │ ├── fix-prefab.gradle │ │ ├── gradle.properties │ │ └── src/ │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── AndroidManifestNew.xml │ │ │ ├── cpp/ │ │ │ │ └── cpp-adapter.cpp │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── twg/ │ │ │ │ └── video/ │ │ │ │ ├── core/ │ │ │ │ │ ├── AudioFocusManager.kt │ │ │ │ │ ├── VideoError.kt │ │ │ │ │ ├── VideoManager.kt │ │ │ │ │ ├── extensions/ │ │ │ │ │ │ ├── ResizeMode+AspectRatioFrameLayout.kt │ │ │ │ │ │ ├── SubtitleType+toString.kt │ │ │ │ │ │ └── VideoPlaybackService+ServiceManagment.kt │ │ │ │ │ ├── fragments/ │ │ │ │ │ │ ├── FullscreenVideoFragment.kt │ │ │ │ │ │ └── PictureInPictureHelperFragment.kt │ │ │ │ │ ├── player/ │ │ │ │ │ │ ├── DRMManagerSpec.kt │ │ │ │ │ │ ├── DataSourceFactoryUtils.kt │ │ │ │ │ │ ├── MediaItemUtils.kt │ │ │ │ │ │ ├── MediaSourceUtils.kt │ │ │ │ │ │ └── OnAudioFocusChangedListener.kt │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ ├── PluginsRegistry.kt │ │ │ │ │ │ └── ReactNativeVideoPlugin.kt │ │ │ │ │ ├── recivers/ │ │ │ │ │ │ └── AudioBecomingNoisyReceiver.kt │ │ │ │ │ ├── services/ │ │ │ │ │ │ └── playback/ │ │ │ │ │ │ ├── CustomMediaNotificationProvider.kt │ │ │ │ │ │ ├── VideoPlaybackCallback.kt │ │ │ │ │ │ ├── VideoPlaybackService.kt │ │ │ │ │ │ └── VideoPlaybackServiceConnection.kt │ │ │ │ │ └── utils/ │ │ │ │ │ ├── PictureInPictureUtils.kt │ │ │ │ │ ├── SmallVideoPlayerOptimizer.kt │ │ │ │ │ ├── SourceLoader.kt │ │ │ │ │ ├── TextTrackUtils.kt │ │ │ │ │ ├── Threading.kt │ │ │ │ │ ├── VideoFileHelper.kt │ │ │ │ │ ├── VideoInformationUtils.kt │ │ │ │ │ └── VideoOrientationUtils.kt │ │ │ │ ├── hybrids/ │ │ │ │ │ ├── videoplayer/ │ │ │ │ │ │ ├── HybridVideoPlayer.kt │ │ │ │ │ │ └── HybridVideoPlayerFactory.kt │ │ │ │ │ ├── videoplayereventemitter/ │ │ │ │ │ │ └── HybridVideoPlayerEventEmitter.kt │ │ │ │ │ ├── videoplayersource/ │ │ │ │ │ │ ├── HybridVideoPlayerSource.kt │ │ │ │ │ │ └── HybridVideoPlayerSourceFactory.kt │ │ │ │ │ └── videoviewviewmanager/ │ │ │ │ │ ├── HybridVideoViewViewManager.kt │ │ │ │ │ └── HybridVideoViewViewManagerFactory.kt │ │ │ │ ├── react/ │ │ │ │ │ ├── VideoPackage.kt │ │ │ │ │ └── VideoViewViewManager.kt │ │ │ │ └── view/ │ │ │ │ └── VideoView.kt │ │ │ └── res/ │ │ │ └── layout/ │ │ │ ├── player_view_surface.xml │ │ │ └── player_view_texture.xml │ │ ├── paper/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── facebook/ │ │ │ └── react/ │ │ │ └── viewmanagers/ │ │ │ ├── RNCVideoViewManagerDelegate.java │ │ │ └── RNCVideoViewManagerInterface.java │ │ └── stubs/ │ │ ├── dash/ │ │ │ └── androidx/ │ │ │ └── media3/ │ │ │ └── exoplayer/ │ │ │ └── dash/ │ │ │ ├── DashMediaSource.kt │ │ │ ├── DashUtil.kt │ │ │ └── manifest/ │ │ │ ├── AdaptationSet.kt │ │ │ ├── DashManifest.kt │ │ │ ├── Period.kt │ │ │ └── Representation.kt │ │ └── hls/ │ │ └── androidx/ │ │ └── media3/ │ │ └── exoplayer/ │ │ └── hls/ │ │ └── HlsMediaSource.kt │ ├── app.plugin.js │ ├── babel.config.js │ ├── ios/ │ │ ├── Video-Bridging-Header.h │ │ ├── core/ │ │ │ ├── Extensions/ │ │ │ │ ├── AVAsset+estimatedMemoryUsage.swift │ │ │ │ ├── AVAssetTrack+orientation.swift │ │ │ │ ├── AVMetadataItem+make.swift │ │ │ │ ├── AVPlayerItem+externalSubtitles.swift │ │ │ │ ├── AVPlayerItem+getBufferedDurration.swift │ │ │ │ ├── AVPlayerItem+setBufferConfig.swift │ │ │ │ ├── AVPlayerViewController+Fullscreen.swift │ │ │ │ ├── AVPlayerViewController+PictureInPicture.swift │ │ │ │ ├── AVURLAsset+getAssetInformation.swift │ │ │ │ ├── NSObject+PerformIfResponds.swift │ │ │ │ └── ResizeMode+VideoGravity.swift │ │ │ ├── HLSSubtitleInjector.swift │ │ │ ├── NowPlayingInfoCenterManager.swift │ │ │ ├── Plugins/ │ │ │ │ ├── PluginsRegistry.swift │ │ │ │ └── ReactNativeVideoPlugin.swift │ │ │ ├── Spec/ │ │ │ │ ├── DRMManagerSpec.swift │ │ │ │ ├── NativeVideoPlayerSourceSpec.swift │ │ │ │ └── NativeVideoPlayerSpec.swift │ │ │ ├── Utils/ │ │ │ │ ├── ExternalSubtitlesUtils.swift │ │ │ │ ├── HLSManifestParser.swift │ │ │ │ └── Weak.swift │ │ │ ├── VideoError.swift │ │ │ ├── VideoFileHelper.swift │ │ │ ├── VideoManager.swift │ │ │ └── VideoPlayerObserver.swift │ │ ├── hybrids/ │ │ │ ├── VideoPlayer/ │ │ │ │ ├── HybridVideoPlayer+Events.swift │ │ │ │ ├── HybridVideoPlayer.swift │ │ │ │ └── HybridVideoPlayerFactory.swift │ │ │ ├── VideoPlayerEmitter/ │ │ │ │ └── HybridVideoPlayerEventEmitter.swift │ │ │ ├── VideoPlayerSource/ │ │ │ │ ├── HybridVideoPlayerSource.swift │ │ │ │ ├── HybridVideoPlayerSourceFactory.swift │ │ │ │ └── SourceLoader.swift │ │ │ └── VideoViewViewManager/ │ │ │ ├── HybridVideoViewViewManager.swift │ │ │ └── HybridVideoViewViewManagerFactory.swift │ │ └── view/ │ │ ├── VideoComponentView.swift │ │ ├── VideoComponentViewObserver.swift │ │ ├── fabric/ │ │ │ ├── RCTVideoViewComponentView.h │ │ │ ├── RCTVideoViewComponentView.mm │ │ │ └── RCTVideoViewViewManager.mm │ │ └── paper/ │ │ ├── RCTVideoViewComponentView.h │ │ ├── RCTVideoViewComponentView.mm │ │ └── RCTVideoViewViewManager.m │ ├── nitro.json │ ├── nitrogen/ │ │ └── generated/ │ │ ├── .gitattributes │ │ ├── android/ │ │ │ ├── ReactNativeVideo+autolinking.cmake │ │ │ ├── ReactNativeVideo+autolinking.gradle │ │ │ ├── ReactNativeVideoOnLoad.cpp │ │ │ ├── ReactNativeVideoOnLoad.hpp │ │ │ ├── c++/ │ │ │ │ ├── JBandwidthData.hpp │ │ │ │ ├── JBufferConfig.hpp │ │ │ │ ├── JCustomVideoMetadata.hpp │ │ │ │ ├── JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.hpp │ │ │ │ ├── JFunc_void.hpp │ │ │ │ ├── JFunc_void_BandwidthData.hpp │ │ │ │ ├── JFunc_void_TimedMetadata.hpp │ │ │ │ ├── JFunc_void_VideoPlayerStatus.hpp │ │ │ │ ├── JFunc_void_bool.hpp │ │ │ │ ├── JFunc_void_double.hpp │ │ │ │ ├── JFunc_void_onLoadData.hpp │ │ │ │ ├── JFunc_void_onLoadStartData.hpp │ │ │ │ ├── JFunc_void_onPlaybackStateChangeData.hpp │ │ │ │ ├── JFunc_void_onProgressData.hpp │ │ │ │ ├── JFunc_void_onVolumeChangeData.hpp │ │ │ │ ├── JFunc_void_std__optional_std__variant_nitro__NullType__TextTrack__.hpp │ │ │ │ ├── JFunc_void_std__vector_std__string_.hpp │ │ │ │ ├── JHybridVideoPlayerEventEmitterSpec.cpp │ │ │ │ ├── JHybridVideoPlayerEventEmitterSpec.hpp │ │ │ │ ├── JHybridVideoPlayerFactorySpec.cpp │ │ │ │ ├── JHybridVideoPlayerFactorySpec.hpp │ │ │ │ ├── JHybridVideoPlayerSourceFactorySpec.cpp │ │ │ │ ├── JHybridVideoPlayerSourceFactorySpec.hpp │ │ │ │ ├── JHybridVideoPlayerSourceSpec.cpp │ │ │ │ ├── JHybridVideoPlayerSourceSpec.hpp │ │ │ │ ├── JHybridVideoPlayerSpec.cpp │ │ │ │ ├── JHybridVideoPlayerSpec.hpp │ │ │ │ ├── JHybridVideoViewViewManagerFactorySpec.cpp │ │ │ │ ├── JHybridVideoViewViewManagerFactorySpec.hpp │ │ │ │ ├── JHybridVideoViewViewManagerSpec.cpp │ │ │ │ ├── JHybridVideoViewViewManagerSpec.hpp │ │ │ │ ├── JIgnoreSilentSwitchMode.hpp │ │ │ │ ├── JListenerSubscription.hpp │ │ │ │ ├── JLivePlaybackParams.hpp │ │ │ │ ├── JMixAudioMode.hpp │ │ │ │ ├── JNativeDrmParams.hpp │ │ │ │ ├── JNativeExternalSubtitle.hpp │ │ │ │ ├── JNativeVideoConfig.hpp │ │ │ │ ├── JOnGetLicensePayload.hpp │ │ │ │ ├── JResizeMode.hpp │ │ │ │ ├── JResolution.hpp │ │ │ │ ├── JSourceType.hpp │ │ │ │ ├── JSubtitleType.hpp │ │ │ │ ├── JSurfaceType.hpp │ │ │ │ ├── JTextTrack.hpp │ │ │ │ ├── JTimedMetadata.hpp │ │ │ │ ├── JTimedMetadataObject.hpp │ │ │ │ ├── JVariant_NullType_HybridVideoPlayerSourceSpec.cpp │ │ │ │ ├── JVariant_NullType_HybridVideoPlayerSourceSpec.hpp │ │ │ │ ├── JVariant_NullType_TextTrack.cpp │ │ │ │ ├── JVariant_NullType_TextTrack.hpp │ │ │ │ ├── JVideoInformation.hpp │ │ │ │ ├── JVideoOrientation.hpp │ │ │ │ ├── JVideoPlayerStatus.hpp │ │ │ │ ├── JonLoadData.hpp │ │ │ │ ├── JonLoadStartData.hpp │ │ │ │ ├── JonPlaybackStateChangeData.hpp │ │ │ │ ├── JonProgressData.hpp │ │ │ │ └── JonVolumeChangeData.hpp │ │ │ └── kotlin/ │ │ │ └── com/ │ │ │ └── margelo/ │ │ │ └── nitro/ │ │ │ └── video/ │ │ │ ├── BandwidthData.kt │ │ │ ├── BufferConfig.kt │ │ │ ├── CustomVideoMetadata.kt │ │ │ ├── Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.kt │ │ │ ├── Func_void.kt │ │ │ ├── Func_void_BandwidthData.kt │ │ │ ├── Func_void_TimedMetadata.kt │ │ │ ├── Func_void_VideoPlayerStatus.kt │ │ │ ├── Func_void_bool.kt │ │ │ ├── Func_void_double.kt │ │ │ ├── Func_void_onLoadData.kt │ │ │ ├── Func_void_onLoadStartData.kt │ │ │ ├── Func_void_onPlaybackStateChangeData.kt │ │ │ ├── Func_void_onProgressData.kt │ │ │ ├── Func_void_onVolumeChangeData.kt │ │ │ ├── Func_void_std__optional_std__variant_nitro__NullType__TextTrack__.kt │ │ │ ├── Func_void_std__vector_std__string_.kt │ │ │ ├── HybridVideoPlayerEventEmitterSpec.kt │ │ │ ├── HybridVideoPlayerFactorySpec.kt │ │ │ ├── HybridVideoPlayerSourceFactorySpec.kt │ │ │ ├── HybridVideoPlayerSourceSpec.kt │ │ │ ├── HybridVideoPlayerSpec.kt │ │ │ ├── HybridVideoViewViewManagerFactorySpec.kt │ │ │ ├── HybridVideoViewViewManagerSpec.kt │ │ │ ├── IgnoreSilentSwitchMode.kt │ │ │ ├── ListenerSubscription.kt │ │ │ ├── LivePlaybackParams.kt │ │ │ ├── MixAudioMode.kt │ │ │ ├── NativeDrmParams.kt │ │ │ ├── NativeExternalSubtitle.kt │ │ │ ├── NativeVideoConfig.kt │ │ │ ├── OnGetLicensePayload.kt │ │ │ ├── ReactNativeVideoOnLoad.kt │ │ │ ├── ResizeMode.kt │ │ │ ├── Resolution.kt │ │ │ ├── SourceType.kt │ │ │ ├── SubtitleType.kt │ │ │ ├── SurfaceType.kt │ │ │ ├── TextTrack.kt │ │ │ ├── TimedMetadata.kt │ │ │ ├── TimedMetadataObject.kt │ │ │ ├── Variant_NullType_HybridVideoPlayerSourceSpec.kt │ │ │ ├── Variant_NullType_TextTrack.kt │ │ │ ├── VideoInformation.kt │ │ │ ├── VideoOrientation.kt │ │ │ ├── VideoPlayerStatus.kt │ │ │ ├── onLoadData.kt │ │ │ ├── onLoadStartData.kt │ │ │ ├── onPlaybackStateChangeData.kt │ │ │ ├── onProgressData.kt │ │ │ └── onVolumeChangeData.kt │ │ ├── ios/ │ │ │ ├── ReactNativeVideo+autolinking.rb │ │ │ ├── ReactNativeVideo-Swift-Cxx-Bridge.cpp │ │ │ ├── ReactNativeVideo-Swift-Cxx-Bridge.hpp │ │ │ ├── ReactNativeVideo-Swift-Cxx-Umbrella.hpp │ │ │ ├── ReactNativeVideoAutolinking.mm │ │ │ ├── ReactNativeVideoAutolinking.swift │ │ │ ├── c++/ │ │ │ │ ├── HybridVideoPlayerEventEmitterSpecSwift.cpp │ │ │ │ ├── HybridVideoPlayerEventEmitterSpecSwift.hpp │ │ │ │ ├── HybridVideoPlayerFactorySpecSwift.cpp │ │ │ │ ├── HybridVideoPlayerFactorySpecSwift.hpp │ │ │ │ ├── HybridVideoPlayerSourceFactorySpecSwift.cpp │ │ │ │ ├── HybridVideoPlayerSourceFactorySpecSwift.hpp │ │ │ │ ├── HybridVideoPlayerSourceSpecSwift.cpp │ │ │ │ ├── HybridVideoPlayerSourceSpecSwift.hpp │ │ │ │ ├── HybridVideoPlayerSpecSwift.cpp │ │ │ │ ├── HybridVideoPlayerSpecSwift.hpp │ │ │ │ ├── HybridVideoViewViewManagerFactorySpecSwift.cpp │ │ │ │ ├── HybridVideoViewViewManagerFactorySpecSwift.hpp │ │ │ │ ├── HybridVideoViewViewManagerSpecSwift.cpp │ │ │ │ └── HybridVideoViewViewManagerSpecSwift.hpp │ │ │ └── swift/ │ │ │ ├── BandwidthData.swift │ │ │ ├── BufferConfig.swift │ │ │ ├── CustomVideoMetadata.swift │ │ │ ├── Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__string_____OnGetLicensePayload.swift │ │ │ ├── Func_void.swift │ │ │ ├── Func_void_BandwidthData.swift │ │ │ ├── Func_void_TimedMetadata.swift │ │ │ ├── Func_void_VideoInformation.swift │ │ │ ├── Func_void_VideoPlayerStatus.swift │ │ │ ├── Func_void_bool.swift │ │ │ ├── Func_void_double.swift │ │ │ ├── Func_void_onLoadData.swift │ │ │ ├── Func_void_onLoadStartData.swift │ │ │ ├── Func_void_onPlaybackStateChangeData.swift │ │ │ ├── Func_void_onProgressData.swift │ │ │ ├── Func_void_onVolumeChangeData.swift │ │ │ ├── Func_void_std__exception_ptr.swift │ │ │ ├── Func_void_std__optional_std__variant_nitro__NullType__TextTrack__.swift │ │ │ ├── Func_void_std__shared_ptr_Promise_std__string__.swift │ │ │ ├── Func_void_std__string.swift │ │ │ ├── Func_void_std__vector_std__string_.swift │ │ │ ├── HybridVideoPlayerEventEmitterSpec.swift │ │ │ ├── HybridVideoPlayerEventEmitterSpec_cxx.swift │ │ │ ├── HybridVideoPlayerFactorySpec.swift │ │ │ ├── HybridVideoPlayerFactorySpec_cxx.swift │ │ │ ├── HybridVideoPlayerSourceFactorySpec.swift │ │ │ ├── HybridVideoPlayerSourceFactorySpec_cxx.swift │ │ │ ├── HybridVideoPlayerSourceSpec.swift │ │ │ ├── HybridVideoPlayerSourceSpec_cxx.swift │ │ │ ├── HybridVideoPlayerSpec.swift │ │ │ ├── HybridVideoPlayerSpec_cxx.swift │ │ │ ├── HybridVideoViewViewManagerFactorySpec.swift │ │ │ ├── HybridVideoViewViewManagerFactorySpec_cxx.swift │ │ │ ├── HybridVideoViewViewManagerSpec.swift │ │ │ ├── HybridVideoViewViewManagerSpec_cxx.swift │ │ │ ├── IgnoreSilentSwitchMode.swift │ │ │ ├── ListenerSubscription.swift │ │ │ ├── LivePlaybackParams.swift │ │ │ ├── MixAudioMode.swift │ │ │ ├── NativeDrmParams.swift │ │ │ ├── NativeExternalSubtitle.swift │ │ │ ├── NativeVideoConfig.swift │ │ │ ├── OnGetLicensePayload.swift │ │ │ ├── ResizeMode.swift │ │ │ ├── Resolution.swift │ │ │ ├── SourceType.swift │ │ │ ├── SubtitleType.swift │ │ │ ├── SurfaceType.swift │ │ │ ├── TextTrack.swift │ │ │ ├── TimedMetadata.swift │ │ │ ├── TimedMetadataObject.swift │ │ │ ├── Variant_NullType_TextTrack.swift │ │ │ ├── Variant_NullType__any_HybridVideoPlayerSourceSpec_.swift │ │ │ ├── VideoInformation.swift │ │ │ ├── VideoOrientation.swift │ │ │ ├── VideoPlayerStatus.swift │ │ │ ├── onLoadData.swift │ │ │ ├── onLoadStartData.swift │ │ │ ├── onPlaybackStateChangeData.swift │ │ │ ├── onProgressData.swift │ │ │ └── onVolumeChangeData.swift │ │ └── shared/ │ │ └── c++/ │ │ ├── BandwidthData.hpp │ │ ├── BufferConfig.hpp │ │ ├── CustomVideoMetadata.hpp │ │ ├── HybridVideoPlayerEventEmitterSpec.cpp │ │ ├── HybridVideoPlayerEventEmitterSpec.hpp │ │ ├── HybridVideoPlayerFactorySpec.cpp │ │ ├── HybridVideoPlayerFactorySpec.hpp │ │ ├── HybridVideoPlayerSourceFactorySpec.cpp │ │ ├── HybridVideoPlayerSourceFactorySpec.hpp │ │ ├── HybridVideoPlayerSourceSpec.cpp │ │ ├── HybridVideoPlayerSourceSpec.hpp │ │ ├── HybridVideoPlayerSpec.cpp │ │ ├── HybridVideoPlayerSpec.hpp │ │ ├── HybridVideoViewViewManagerFactorySpec.cpp │ │ ├── HybridVideoViewViewManagerFactorySpec.hpp │ │ ├── HybridVideoViewViewManagerSpec.cpp │ │ ├── HybridVideoViewViewManagerSpec.hpp │ │ ├── IgnoreSilentSwitchMode.hpp │ │ ├── ListenerSubscription.hpp │ │ ├── LivePlaybackParams.hpp │ │ ├── MixAudioMode.hpp │ │ ├── NativeDrmParams.hpp │ │ ├── NativeExternalSubtitle.hpp │ │ ├── NativeVideoConfig.hpp │ │ ├── OnGetLicensePayload.hpp │ │ ├── ResizeMode.hpp │ │ ├── Resolution.hpp │ │ ├── SourceType.hpp │ │ ├── SubtitleType.hpp │ │ ├── SurfaceType.hpp │ │ ├── TextTrack.hpp │ │ ├── TimedMetadata.hpp │ │ ├── TimedMetadataObject.hpp │ │ ├── VideoInformation.hpp │ │ ├── VideoOrientation.hpp │ │ ├── VideoPlayerStatus.hpp │ │ ├── onLoadData.hpp │ │ ├── onLoadStartData.hpp │ │ ├── onPlaybackStateChangeData.hpp │ │ ├── onProgressData.hpp │ │ └── onVolumeChangeData.hpp │ ├── package.json │ ├── react-native.config.js │ ├── src/ │ │ ├── core/ │ │ │ ├── VideoPlayer.ts │ │ │ ├── VideoPlayerEvents.ts │ │ │ ├── hooks/ │ │ │ │ ├── useEvent.ts │ │ │ │ ├── useManagedInstance.ts │ │ │ │ └── useVideoPlayer.ts │ │ │ ├── types/ │ │ │ │ ├── BufferConfig.ts │ │ │ │ ├── DrmParams.ts │ │ │ │ ├── Events.ts │ │ │ │ ├── IgnoreSilentSwitchMode.ts │ │ │ │ ├── MixAudioMode.ts │ │ │ │ ├── ResizeMode.ts │ │ │ │ ├── TextTrack.ts │ │ │ │ ├── Utils.ts │ │ │ │ ├── VideoConfig.ts │ │ │ │ ├── VideoError.ts │ │ │ │ ├── VideoInformation.ts │ │ │ │ ├── VideoOrientation.ts │ │ │ │ ├── VideoPlayerBase.ts │ │ │ │ ├── VideoPlayerSourceBase.ts │ │ │ │ └── VideoPlayerStatus.ts │ │ │ ├── utils/ │ │ │ │ ├── playerFactory.ts │ │ │ │ └── sourceFactory.ts │ │ │ └── video-view/ │ │ │ ├── NativeVideoView.tsx │ │ │ └── VideoView.tsx │ │ ├── expo-plugins/ │ │ │ ├── @types.ts │ │ │ ├── getPackageInfo.ts │ │ │ ├── withAndroidExtensions.ts │ │ │ ├── withAndroidNotificationControls.ts │ │ │ ├── withAndroidPictureInPicture.ts │ │ │ ├── withBackgroundAudio.ts │ │ │ ├── withReactNativeVideo.ts │ │ │ └── writeToPodfile.ts │ │ ├── index.tsx │ │ └── spec/ │ │ ├── fabric/ │ │ │ └── VideoViewNativeComponent.ts │ │ └── nitro/ │ │ ├── VideoPlayer.nitro.ts │ │ ├── VideoPlayerEventEmitter.nitro.ts │ │ ├── VideoPlayerSource.nitro.ts │ │ └── VideoViewViewManager.nitro.ts │ ├── tsconfig.build.json │ └── tsconfig.json └── scripts/ └── release.sh