diff --git a/components/AndroidVideoPlayer.tsx b/components/AndroidVideoPlayer.tsx index 523f752..94a1a8b 100644 --- a/components/AndroidVideoPlayer.tsx +++ b/components/AndroidVideoPlayer.tsx @@ -1,8 +1,41 @@ -import React, { useEffect, useRef, useState, useCallback } from 'react'; +import React, { useEffect, useRef, useState, useCallback, useMemo } from 'react'; import { Platform, Animated, TouchableWithoutFeedback, View } from 'react-native'; import Video, { VideoRef, SelectedTrack, BufferingStrategyType, ResizeMode } from 'react-native-video'; import RNImmersiveMode from 'react-native-immersive-mode'; +// Subtitle style configuration interface - matches ExoPlayer's SubtitleStyle +export interface SubtitleStyleConfig { + // Font size in SP (scale-independent pixels) for subtitle text + // Default: -1 (uses system default) + fontSize?: number; + + // Padding values in pixels + paddingTop?: number; + paddingBottom?: number; + paddingLeft?: number; + paddingRight?: number; + + // Opacity of subtitles (0.0 to 1.0) + // 0 = hidden, 1 = fully visible + opacity?: number; + + // Whether subtitles should follow video position when video is resized + // true = subtitles stay within video bounds + // false = subtitles can extend beyond video bounds + subtitlesFollowVideo?: boolean; +} + +// Default subtitle style configuration +export const DEFAULT_SUBTITLE_STYLE: SubtitleStyleConfig = { + fontSize: 18, + paddingTop: 0, + paddingBottom: 60, + paddingLeft: 16, + paddingRight: 16, + opacity: 1, + subtitlesFollowVideo: true, +}; + interface VideoPlayerProps { src: string; headers?: { [key: string]: string }; @@ -12,6 +45,8 @@ interface VideoPlayerProps { selectedAudioTrack?: SelectedTrack; selectedTextTrack?: SelectedTrack; resizeMode?: ResizeMode; + // Subtitle customization - pass custom subtitle styling + subtitleStyle?: SubtitleStyleConfig; onProgress?: (data: { currentTime: number; playableDuration: number }) => void; onLoad?: (data: { duration: number }) => void; onError?: (error: any) => void; @@ -29,6 +64,7 @@ export const AndroidVideoPlayer: React.FC = ({ selectedAudioTrack, selectedTextTrack, resizeMode = 'contain' as ResizeMode, + subtitleStyle: customSubtitleStyle, onProgress, onLoad, onError, @@ -41,6 +77,12 @@ export const AndroidVideoPlayer: React.FC = ({ const [isSeeking, setIsSeeking] = useState(false); const [lastSeekTime, setLastSeekTime] = useState(0); + // Merge custom subtitle style with defaults + const subtitleStyle = useMemo(() => ({ + ...DEFAULT_SUBTITLE_STYLE, + ...customSubtitleStyle, + }), [customSubtitleStyle]); + // Enable immersive mode when video player mounts, disable when it unmounts useEffect(() => { if (Platform.OS === 'android') { @@ -132,13 +174,21 @@ export const AndroidVideoPlayer: React.FC = ({ rate={1.0} repeat={false} reportBandwidth={true} - textTracks={[]} - useTextureView={false} + useTextureView={true} disableFocus={false} minLoadRetryCount={3} automaticallyWaitsToMinimizeStalling={true} hideShutterView={false} shutterColor="#000000" + subtitleStyle={{ + fontSize: subtitleStyle.fontSize, + paddingTop: subtitleStyle.paddingTop, + paddingBottom: subtitleStyle.paddingBottom, + paddingLeft: subtitleStyle.paddingLeft, + paddingRight: subtitleStyle.paddingRight, + opacity: subtitleStyle.opacity, + subtitlesFollowVideo: subtitleStyle.subtitlesFollowVideo, + }} /> ); }; diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 284c15b..b0ab03c 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -11,7 +11,7 @@ PODS: - ExpoModulesCore - EXNotifications (0.32.15): - ExpoModulesCore - - Expo (54.0.30): + - Expo (54.0.29): - ExpoModulesCore - hermes-engine - RCTRequired @@ -207,7 +207,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ExpoAsset (12.0.12): + - ExpoAsset (12.0.11): - ExpoModulesCore - ExpoBlur (15.0.8): - ExpoModulesCore @@ -233,7 +233,7 @@ PODS: - ExpoModulesCore - ExpoLinearGradient (15.0.8): - ExpoModulesCore - - ExpoLinking (8.0.11): + - ExpoLinking (8.0.10): - ExpoModulesCore - ExpoLocalization (17.0.8): - ExpoModulesCore @@ -322,15 +322,15 @@ PODS: - Yoga - EXUpdatesInterface (2.0.0): - ExpoModulesCore - - FBLazyVector (0.81.5-1) + - FBLazyVector (0.81.4) - FFmpegKit (6.1.0): - FFmpegKit/FFmpegKit (= 6.1.0) - FFmpegKit/FFmpegKit (6.1.0): - Libass - google-cast-sdk (4.8.4) - - hermes-engine (0.81.5): - - hermes-engine/Pre-built (= 0.81.5) - - hermes-engine/Pre-built (0.81.5) + - hermes-engine (0.81.4): + - hermes-engine/Pre-built (= 0.81.4) + - hermes-engine/Pre-built (0.81.4) - ImageColors (2.5.1): - ExpoModulesCore - KSPlayer (1.1.0): @@ -454,31 +454,32 @@ PODS: - ReactNativeDependencies - Yoga - PromisesObjC (2.4.0) - - RCTDeprecation (0.81.5-1) - - RCTRequired (0.81.5-1) - - RCTTypeSafety (0.81.5-1): - - FBLazyVector (= 0.81.5-1) - - RCTRequired (= 0.81.5-1) - - React-Core (= 0.81.5-1) + - RCTDeprecation (0.81.4) + - RCTRequired (0.81.4) + - RCTTypeSafety (0.81.4): + - FBLazyVector (= 0.81.4) + - RCTRequired (= 0.81.4) + - React-Core (= 0.81.4) - ReachabilitySwift (5.2.4) - - React (0.81.5-1): - - React-Core (= 0.81.5-1) - - React-Core/DevSupport (= 0.81.5-1) - - React-Core/RCTWebSocket (= 0.81.5-1) - - React-RCTActionSheet (= 0.81.5-1) - - React-RCTAnimation (= 0.81.5-1) - - React-RCTBlob (= 0.81.5-1) - - React-RCTImage (= 0.81.5-1) - - React-RCTLinking (= 0.81.5-1) - - React-RCTNetwork (= 0.81.5-1) - - React-RCTSettings (= 0.81.5-1) - - React-RCTText (= 0.81.5-1) - - React-callinvoker (0.81.5-1) - - React-Core (0.81.5-1): + - React (0.81.4): + - React-Core (= 0.81.4) + - React-Core/DevSupport (= 0.81.4) + - React-Core/RCTWebSocket (= 0.81.4) + - React-RCTActionSheet (= 0.81.4) + - React-RCTAnimation (= 0.81.4) + - React-RCTBlob (= 0.81.4) + - React-RCTImage (= 0.81.4) + - React-RCTLinking (= 0.81.4) + - React-RCTNetwork (= 0.81.4) + - React-RCTSettings (= 0.81.4) + - React-RCTText (= 0.81.4) + - React-RCTVibration (= 0.81.4) + - React-callinvoker (0.81.4) + - React-Core (0.81.4): - hermes-engine - RCTDeprecation - React-Core-prebuilt - - React-Core/Default (= 0.81.5-1) + - React-Core/Default (= 0.81.4) - React-cxxreact - React-featureflags - React-hermes @@ -493,9 +494,9 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core-prebuilt (0.81.5-1): + - React-Core-prebuilt (0.81.4): - ReactNativeDependencies - - React-Core/CoreModulesHeaders (0.81.5-1): + - React-Core/CoreModulesHeaders (0.81.4): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -514,7 +515,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/Default (0.81.5-1): + - React-Core/Default (0.81.4): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -532,12 +533,12 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/DevSupport (0.81.5-1): + - React-Core/DevSupport (0.81.4): - hermes-engine - RCTDeprecation - React-Core-prebuilt - - React-Core/Default (= 0.81.5-1) - - React-Core/RCTWebSocket (= 0.81.5-1) + - React-Core/Default (= 0.81.4) + - React-Core/RCTWebSocket (= 0.81.4) - React-cxxreact - React-featureflags - React-hermes @@ -552,7 +553,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTActionSheetHeaders (0.81.5-1): + - React-Core/RCTActionSheetHeaders (0.81.4): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -571,7 +572,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTAnimationHeaders (0.81.5-1): + - React-Core/RCTAnimationHeaders (0.81.4): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -590,7 +591,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTBlobHeaders (0.81.5-1): + - React-Core/RCTBlobHeaders (0.81.4): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -609,7 +610,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTImageHeaders (0.81.5-1): + - React-Core/RCTImageHeaders (0.81.4): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -628,7 +629,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTLinkingHeaders (0.81.5-1): + - React-Core/RCTLinkingHeaders (0.81.4): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -647,7 +648,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTNetworkHeaders (0.81.5-1): + - React-Core/RCTNetworkHeaders (0.81.4): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -666,7 +667,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTSettingsHeaders (0.81.5-1): + - React-Core/RCTSettingsHeaders (0.81.4): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -685,7 +686,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTTextHeaders (0.81.5-1): + - React-Core/RCTTextHeaders (0.81.4): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -704,7 +705,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTVibrationHeaders (0.81.5-1): + - React-Core/RCTVibrationHeaders (0.81.4): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -723,11 +724,11 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTWebSocket (0.81.5-1): + - React-Core/RCTWebSocket (0.81.4): - hermes-engine - RCTDeprecation - React-Core-prebuilt - - React-Core/Default (= 0.81.5-1) + - React-Core/Default (= 0.81.4) - React-cxxreact - React-featureflags - React-hermes @@ -742,37 +743,37 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-CoreModules (0.81.5-1): - - RCTTypeSafety (= 0.81.5-1) + - React-CoreModules (0.81.4): + - RCTTypeSafety (= 0.81.4) - React-Core-prebuilt - - React-Core/CoreModulesHeaders (= 0.81.5-1) - - React-jsi (= 0.81.5-1) + - React-Core/CoreModulesHeaders (= 0.81.4) + - React-jsi (= 0.81.4) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - React-NativeModulesApple - React-RCTBlob - React-RCTFBReactNativeSpec - - React-RCTImage (= 0.81.5-1) + - React-RCTImage (= 0.81.4) - React-runtimeexecutor - ReactCommon - ReactNativeDependencies - - React-cxxreact (0.81.5-1): + - React-cxxreact (0.81.4): - hermes-engine - - React-callinvoker (= 0.81.5-1) + - React-callinvoker (= 0.81.4) - React-Core-prebuilt - - React-debug (= 0.81.5-1) - - React-jsi (= 0.81.5-1) + - React-debug (= 0.81.4) + - React-jsi (= 0.81.4) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - - React-logger (= 0.81.5-1) - - React-perflogger (= 0.81.5-1) + - React-logger (= 0.81.4) + - React-perflogger (= 0.81.4) - React-runtimeexecutor - - React-timing (= 0.81.5-1) + - React-timing (= 0.81.4) - ReactNativeDependencies - - React-debug (0.81.5-1) - - React-defaultsnativemodule (0.81.5-1): + - React-debug (0.81.4) + - React-defaultsnativemodule (0.81.4): - hermes-engine - React-Core-prebuilt - React-domnativemodule @@ -783,7 +784,7 @@ PODS: - React-microtasksnativemodule - React-RCTFBReactNativeSpec - ReactNativeDependencies - - React-domnativemodule (0.81.5-1): + - React-domnativemodule (0.81.4): - hermes-engine - React-Core-prebuilt - React-Fabric @@ -797,7 +798,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-Fabric (0.81.5-1): + - React-Fabric (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -805,23 +806,23 @@ PODS: - React-Core-prebuilt - React-cxxreact - React-debug - - React-Fabric/animations (= 0.81.5-1) - - React-Fabric/attributedstring (= 0.81.5-1) - - React-Fabric/bridging (= 0.81.5-1) - - React-Fabric/componentregistry (= 0.81.5-1) - - React-Fabric/componentregistrynative (= 0.81.5-1) - - React-Fabric/components (= 0.81.5-1) - - React-Fabric/consistency (= 0.81.5-1) - - React-Fabric/core (= 0.81.5-1) - - React-Fabric/dom (= 0.81.5-1) - - React-Fabric/imagemanager (= 0.81.5-1) - - React-Fabric/leakchecker (= 0.81.5-1) - - React-Fabric/mounting (= 0.81.5-1) - - React-Fabric/observers (= 0.81.5-1) - - React-Fabric/scheduler (= 0.81.5-1) - - React-Fabric/telemetry (= 0.81.5-1) - - React-Fabric/templateprocessor (= 0.81.5-1) - - React-Fabric/uimanager (= 0.81.5-1) + - React-Fabric/animations (= 0.81.4) + - React-Fabric/attributedstring (= 0.81.4) + - React-Fabric/bridging (= 0.81.4) + - React-Fabric/componentregistry (= 0.81.4) + - React-Fabric/componentregistrynative (= 0.81.4) + - React-Fabric/components (= 0.81.4) + - React-Fabric/consistency (= 0.81.4) + - React-Fabric/core (= 0.81.4) + - React-Fabric/dom (= 0.81.4) + - React-Fabric/imagemanager (= 0.81.4) + - React-Fabric/leakchecker (= 0.81.4) + - React-Fabric/mounting (= 0.81.4) + - React-Fabric/observers (= 0.81.4) + - React-Fabric/scheduler (= 0.81.4) + - React-Fabric/telemetry (= 0.81.4) + - React-Fabric/templateprocessor (= 0.81.4) + - React-Fabric/uimanager (= 0.81.4) - React-featureflags - React-graphics - React-jsi @@ -833,7 +834,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/animations (0.81.5-1): + - React-Fabric/animations (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -852,7 +853,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/attributedstring (0.81.5-1): + - React-Fabric/attributedstring (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -871,7 +872,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/bridging (0.81.5-1): + - React-Fabric/bridging (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -890,7 +891,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/componentregistry (0.81.5-1): + - React-Fabric/componentregistry (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -909,7 +910,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/componentregistrynative (0.81.5-1): + - React-Fabric/componentregistrynative (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -928,7 +929,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/components (0.81.5-1): + - React-Fabric/components (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -936,10 +937,10 @@ PODS: - React-Core-prebuilt - React-cxxreact - React-debug - - React-Fabric/components/legacyviewmanagerinterop (= 0.81.5-1) - - React-Fabric/components/root (= 0.81.5-1) - - React-Fabric/components/scrollview (= 0.81.5-1) - - React-Fabric/components/view (= 0.81.5-1) + - React-Fabric/components/legacyviewmanagerinterop (= 0.81.4) + - React-Fabric/components/root (= 0.81.4) + - React-Fabric/components/scrollview (= 0.81.4) + - React-Fabric/components/view (= 0.81.4) - React-featureflags - React-graphics - React-jsi @@ -951,7 +952,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/components/legacyviewmanagerinterop (0.81.5-1): + - React-Fabric/components/legacyviewmanagerinterop (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -970,7 +971,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/components/root (0.81.5-1): + - React-Fabric/components/root (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -989,7 +990,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/components/scrollview (0.81.5-1): + - React-Fabric/components/scrollview (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1008,7 +1009,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/components/view (0.81.5-1): + - React-Fabric/components/view (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1029,7 +1030,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-Fabric/consistency (0.81.5-1): + - React-Fabric/consistency (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1048,7 +1049,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/core (0.81.5-1): + - React-Fabric/core (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1067,7 +1068,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/dom (0.81.5-1): + - React-Fabric/dom (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1086,7 +1087,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/imagemanager (0.81.5-1): + - React-Fabric/imagemanager (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1105,7 +1106,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/leakchecker (0.81.5-1): + - React-Fabric/leakchecker (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1124,7 +1125,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/mounting (0.81.5-1): + - React-Fabric/mounting (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1143,7 +1144,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/observers (0.81.5-1): + - React-Fabric/observers (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1151,7 +1152,7 @@ PODS: - React-Core-prebuilt - React-cxxreact - React-debug - - React-Fabric/observers/events (= 0.81.5-1) + - React-Fabric/observers/events (= 0.81.4) - React-featureflags - React-graphics - React-jsi @@ -1163,7 +1164,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/observers/events (0.81.5-1): + - React-Fabric/observers/events (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1182,7 +1183,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/scheduler (0.81.5-1): + - React-Fabric/scheduler (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1203,7 +1204,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/telemetry (0.81.5-1): + - React-Fabric/telemetry (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1222,7 +1223,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/templateprocessor (0.81.5-1): + - React-Fabric/templateprocessor (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1241,7 +1242,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/uimanager (0.81.5-1): + - React-Fabric/uimanager (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1249,7 +1250,7 @@ PODS: - React-Core-prebuilt - React-cxxreact - React-debug - - React-Fabric/uimanager/consistency (= 0.81.5-1) + - React-Fabric/uimanager/consistency (= 0.81.4) - React-featureflags - React-graphics - React-jsi @@ -1262,7 +1263,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/uimanager/consistency (0.81.5-1): + - React-Fabric/uimanager/consistency (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1282,7 +1283,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-FabricComponents (0.81.5-1): + - React-FabricComponents (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1291,8 +1292,8 @@ PODS: - React-cxxreact - React-debug - React-Fabric - - React-FabricComponents/components (= 0.81.5-1) - - React-FabricComponents/textlayoutmanager (= 0.81.5-1) + - React-FabricComponents/components (= 0.81.4) + - React-FabricComponents/textlayoutmanager (= 0.81.4) - React-featureflags - React-graphics - React-jsi @@ -1305,7 +1306,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components (0.81.5-1): + - React-FabricComponents/components (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1314,17 +1315,17 @@ PODS: - React-cxxreact - React-debug - React-Fabric - - React-FabricComponents/components/inputaccessory (= 0.81.5-1) - - React-FabricComponents/components/iostextinput (= 0.81.5-1) - - React-FabricComponents/components/modal (= 0.81.5-1) - - React-FabricComponents/components/rncore (= 0.81.5-1) - - React-FabricComponents/components/safeareaview (= 0.81.5-1) - - React-FabricComponents/components/scrollview (= 0.81.5-1) - - React-FabricComponents/components/switch (= 0.81.5-1) - - React-FabricComponents/components/text (= 0.81.5-1) - - React-FabricComponents/components/textinput (= 0.81.5-1) - - React-FabricComponents/components/unimplementedview (= 0.81.5-1) - - React-FabricComponents/components/virtualview (= 0.81.5-1) + - React-FabricComponents/components/inputaccessory (= 0.81.4) + - React-FabricComponents/components/iostextinput (= 0.81.4) + - React-FabricComponents/components/modal (= 0.81.4) + - React-FabricComponents/components/rncore (= 0.81.4) + - React-FabricComponents/components/safeareaview (= 0.81.4) + - React-FabricComponents/components/scrollview (= 0.81.4) + - React-FabricComponents/components/switch (= 0.81.4) + - React-FabricComponents/components/text (= 0.81.4) + - React-FabricComponents/components/textinput (= 0.81.4) + - React-FabricComponents/components/unimplementedview (= 0.81.4) + - React-FabricComponents/components/virtualview (= 0.81.4) - React-featureflags - React-graphics - React-jsi @@ -1337,7 +1338,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/inputaccessory (0.81.5-1): + - React-FabricComponents/components/inputaccessory (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1358,7 +1359,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/iostextinput (0.81.5-1): + - React-FabricComponents/components/iostextinput (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1379,7 +1380,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/modal (0.81.5-1): + - React-FabricComponents/components/modal (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1400,7 +1401,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/rncore (0.81.5-1): + - React-FabricComponents/components/rncore (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1421,7 +1422,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/safeareaview (0.81.5-1): + - React-FabricComponents/components/safeareaview (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1442,7 +1443,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/scrollview (0.81.5-1): + - React-FabricComponents/components/scrollview (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1463,7 +1464,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/switch (0.81.5-1): + - React-FabricComponents/components/switch (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1484,7 +1485,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/text (0.81.5-1): + - React-FabricComponents/components/text (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1505,7 +1506,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/textinput (0.81.5-1): + - React-FabricComponents/components/textinput (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1526,7 +1527,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/unimplementedview (0.81.5-1): + - React-FabricComponents/components/unimplementedview (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1547,7 +1548,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/virtualview (0.81.5-1): + - React-FabricComponents/components/virtualview (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1568,7 +1569,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/textlayoutmanager (0.81.5-1): + - React-FabricComponents/textlayoutmanager (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1589,27 +1590,27 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricImage (0.81.5-1): + - React-FabricImage (0.81.4): - hermes-engine - - RCTRequired (= 0.81.5-1) - - RCTTypeSafety (= 0.81.5-1) + - RCTRequired (= 0.81.4) + - RCTTypeSafety (= 0.81.4) - React-Core-prebuilt - React-Fabric - React-featureflags - React-graphics - React-ImageManager - React-jsi - - React-jsiexecutor (= 0.81.5-1) + - React-jsiexecutor (= 0.81.4) - React-logger - React-rendererdebug - React-utils - ReactCommon - ReactNativeDependencies - Yoga - - React-featureflags (0.81.5-1): + - React-featureflags (0.81.4): - React-Core-prebuilt - ReactNativeDependencies - - React-featureflagsnativemodule (0.81.5-1): + - React-featureflagsnativemodule (0.81.4): - hermes-engine - React-Core-prebuilt - React-featureflags @@ -1618,26 +1619,26 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-graphics (0.81.5-1): + - React-graphics (0.81.4): - hermes-engine - React-Core-prebuilt - React-jsi - React-jsiexecutor - React-utils - ReactNativeDependencies - - React-hermes (0.81.5-1): + - React-hermes (0.81.4): - hermes-engine - React-Core-prebuilt - - React-cxxreact (= 0.81.5-1) + - React-cxxreact (= 0.81.4) - React-jsi - - React-jsiexecutor (= 0.81.5-1) + - React-jsiexecutor (= 0.81.4) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - - React-perflogger (= 0.81.5-1) + - React-perflogger (= 0.81.4) - React-runtimeexecutor - ReactNativeDependencies - - React-idlecallbacksnativemodule (0.81.5-1): + - React-idlecallbacksnativemodule (0.81.4): - hermes-engine - React-Core-prebuilt - React-jsi @@ -1647,7 +1648,7 @@ PODS: - React-runtimescheduler - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-ImageManager (0.81.5-1): + - React-ImageManager (0.81.4): - React-Core-prebuilt - React-Core/Default - React-debug @@ -1656,7 +1657,7 @@ PODS: - React-rendererdebug - React-utils - ReactNativeDependencies - - React-jserrorhandler (0.81.5-1): + - React-jserrorhandler (0.81.4): - hermes-engine - React-Core-prebuilt - React-cxxreact @@ -1665,22 +1666,22 @@ PODS: - React-jsi - ReactCommon/turbomodule/bridging - ReactNativeDependencies - - React-jsi (0.81.5-1): + - React-jsi (0.81.4): - hermes-engine - React-Core-prebuilt - ReactNativeDependencies - - React-jsiexecutor (0.81.5-1): + - React-jsiexecutor (0.81.4): - hermes-engine - React-Core-prebuilt - - React-cxxreact (= 0.81.5-1) - - React-jsi (= 0.81.5-1) + - React-cxxreact (= 0.81.4) + - React-jsi (= 0.81.4) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - - React-perflogger (= 0.81.5-1) + - React-perflogger (= 0.81.4) - React-runtimeexecutor - ReactNativeDependencies - - React-jsinspector (0.81.5-1): + - React-jsinspector (0.81.4): - hermes-engine - React-Core-prebuilt - React-featureflags @@ -1689,43 +1690,43 @@ PODS: - React-jsinspectornetwork - React-jsinspectortracing - React-oscompat - - React-perflogger (= 0.81.5-1) + - React-perflogger (= 0.81.4) - React-runtimeexecutor - ReactNativeDependencies - - React-jsinspectorcdp (0.81.5-1): + - React-jsinspectorcdp (0.81.4): - React-Core-prebuilt - ReactNativeDependencies - - React-jsinspectornetwork (0.81.5-1): + - React-jsinspectornetwork (0.81.4): - React-Core-prebuilt - React-featureflags - React-jsinspectorcdp - React-performancetimeline - React-timing - ReactNativeDependencies - - React-jsinspectortracing (0.81.5-1): + - React-jsinspectortracing (0.81.4): - React-Core-prebuilt - React-oscompat - React-timing - ReactNativeDependencies - - React-jsitooling (0.81.5-1): + - React-jsitooling (0.81.4): - React-Core-prebuilt - - React-cxxreact (= 0.81.5-1) - - React-jsi (= 0.81.5-1) + - React-cxxreact (= 0.81.4) + - React-jsi (= 0.81.4) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - React-runtimeexecutor - ReactNativeDependencies - - React-jsitracing (0.81.5-1): + - React-jsitracing (0.81.4): - React-jsi - - React-logger (0.81.5-1): + - React-logger (0.81.4): - React-Core-prebuilt - ReactNativeDependencies - - React-Mapbuffer (0.81.5-1): + - React-Mapbuffer (0.81.4): - React-Core-prebuilt - React-debug - ReactNativeDependencies - - React-microtasksnativemodule (0.81.5-1): + - React-microtasksnativemodule (0.81.4): - hermes-engine - React-Core-prebuilt - React-jsi @@ -2014,7 +2015,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-NativeModulesApple (0.81.5-1): + - React-NativeModulesApple (0.81.4): - hermes-engine - React-callinvoker - React-Core @@ -2028,20 +2029,20 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-oscompat (0.81.5-1) - - React-perflogger (0.81.5-1): + - React-oscompat (0.81.4) + - React-perflogger (0.81.4): - React-Core-prebuilt - ReactNativeDependencies - - React-performancetimeline (0.81.5-1): + - React-performancetimeline (0.81.4): - React-Core-prebuilt - React-featureflags - React-jsinspectortracing - React-perflogger - React-timing - ReactNativeDependencies - - React-RCTActionSheet (0.81.5-1): - - React-Core/RCTActionSheetHeaders (= 0.81.5-1) - - React-RCTAnimation (0.81.5-1): + - React-RCTActionSheet (0.81.4): + - React-Core/RCTActionSheetHeaders (= 0.81.4) + - React-RCTAnimation (0.81.4): - RCTTypeSafety - React-Core-prebuilt - React-Core/RCTAnimationHeaders @@ -2051,7 +2052,7 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon - ReactNativeDependencies - - React-RCTAppDelegate (0.81.5-1): + - React-RCTAppDelegate (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2079,7 +2080,7 @@ PODS: - React-utils - ReactCommon - ReactNativeDependencies - - React-RCTBlob (0.81.5-1): + - React-RCTBlob (0.81.4): - hermes-engine - React-Core-prebuilt - React-Core/RCTBlobHeaders @@ -2092,7 +2093,7 @@ PODS: - React-RCTNetwork - ReactCommon - ReactNativeDependencies - - React-RCTFabric (0.81.5-1): + - React-RCTFabric (0.81.4): - hermes-engine - React-Core - React-Core-prebuilt @@ -2121,7 +2122,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-RCTFBReactNativeSpec (0.81.5-1): + - React-RCTFBReactNativeSpec (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2129,10 +2130,10 @@ PODS: - React-Core-prebuilt - React-jsi - React-NativeModulesApple - - React-RCTFBReactNativeSpec/components (= 0.81.5-1) + - React-RCTFBReactNativeSpec/components (= 0.81.4) - ReactCommon - ReactNativeDependencies - - React-RCTFBReactNativeSpec/components (0.81.5-1): + - React-RCTFBReactNativeSpec/components (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2149,7 +2150,7 @@ PODS: - ReactCommon - ReactNativeDependencies - Yoga - - React-RCTImage (0.81.5-1): + - React-RCTImage (0.81.4): - RCTTypeSafety - React-Core-prebuilt - React-Core/RCTImageHeaders @@ -2159,14 +2160,14 @@ PODS: - React-RCTNetwork - ReactCommon - ReactNativeDependencies - - React-RCTLinking (0.81.5-1): - - React-Core/RCTLinkingHeaders (= 0.81.5-1) - - React-jsi (= 0.81.5-1) + - React-RCTLinking (0.81.4): + - React-Core/RCTLinkingHeaders (= 0.81.4) + - React-jsi (= 0.81.4) - React-NativeModulesApple - React-RCTFBReactNativeSpec - ReactCommon - - ReactCommon/turbomodule/core (= 0.81.5-1) - - React-RCTNetwork (0.81.5-1): + - ReactCommon/turbomodule/core (= 0.81.4) + - React-RCTNetwork (0.81.4): - RCTTypeSafety - React-Core-prebuilt - React-Core/RCTNetworkHeaders @@ -2178,7 +2179,7 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon - ReactNativeDependencies - - React-RCTRuntime (0.81.5-1): + - React-RCTRuntime (0.81.4): - hermes-engine - React-Core - React-Core-prebuilt @@ -2192,7 +2193,7 @@ PODS: - React-runtimeexecutor - React-RuntimeHermes - ReactNativeDependencies - - React-RCTSettings (0.81.5-1): + - React-RCTSettings (0.81.4): - RCTTypeSafety - React-Core-prebuilt - React-Core/RCTSettingsHeaders @@ -2201,10 +2202,10 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon - ReactNativeDependencies - - React-RCTText (0.81.5-1): - - React-Core/RCTTextHeaders (= 0.81.5-1) + - React-RCTText (0.81.4): + - React-Core/RCTTextHeaders (= 0.81.4) - Yoga - - React-RCTVibration (0.81.5-1): + - React-RCTVibration (0.81.4): - React-Core-prebuilt - React-Core/RCTVibrationHeaders - React-jsi @@ -2212,15 +2213,15 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon - ReactNativeDependencies - - React-rendererconsistency (0.81.5-1) - - React-renderercss (0.81.5-1): + - React-rendererconsistency (0.81.4) + - React-renderercss (0.81.4): - React-debug - React-utils - - React-rendererdebug (0.81.5-1): + - React-rendererdebug (0.81.4): - React-Core-prebuilt - React-debug - ReactNativeDependencies - - React-RuntimeApple (0.81.5-1): + - React-RuntimeApple (0.81.4): - hermes-engine - React-callinvoker - React-Core-prebuilt @@ -2243,7 +2244,7 @@ PODS: - React-runtimescheduler - React-utils - ReactNativeDependencies - - React-RuntimeCore (0.81.5-1): + - React-RuntimeCore (0.81.4): - hermes-engine - React-Core-prebuilt - React-cxxreact @@ -2259,14 +2260,14 @@ PODS: - React-runtimescheduler - React-utils - ReactNativeDependencies - - React-runtimeexecutor (0.81.5-1): + - React-runtimeexecutor (0.81.4): - React-Core-prebuilt - React-debug - React-featureflags - - React-jsi (= 0.81.5-1) + - React-jsi (= 0.81.4) - React-utils - ReactNativeDependencies - - React-RuntimeHermes (0.81.5-1): + - React-RuntimeHermes (0.81.4): - hermes-engine - React-Core-prebuilt - React-featureflags @@ -2281,7 +2282,7 @@ PODS: - React-runtimeexecutor - React-utils - ReactNativeDependencies - - React-runtimescheduler (0.81.5-1): + - React-runtimescheduler (0.81.4): - hermes-engine - React-callinvoker - React-Core-prebuilt @@ -2297,17 +2298,17 @@ PODS: - React-timing - React-utils - ReactNativeDependencies - - React-timing (0.81.5-1): + - React-timing (0.81.4): - React-debug - - React-utils (0.81.5-1): + - React-utils (0.81.4): - hermes-engine - React-Core-prebuilt - React-debug - - React-jsi (= 0.81.5-1) + - React-jsi (= 0.81.4) - ReactNativeDependencies - - ReactAppDependencyProvider (0.81.5-1): + - ReactAppDependencyProvider (0.81.4): - ReactCodegen - - ReactCodegen (0.81.5-1): + - ReactCodegen (0.81.4): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2327,43 +2328,43 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - ReactCommon (0.81.5-1): + - ReactCommon (0.81.4): - React-Core-prebuilt - - ReactCommon/turbomodule (= 0.81.5-1) + - ReactCommon/turbomodule (= 0.81.4) - ReactNativeDependencies - - ReactCommon/turbomodule (0.81.5-1): + - ReactCommon/turbomodule (0.81.4): - hermes-engine - - React-callinvoker (= 0.81.5-1) + - React-callinvoker (= 0.81.4) - React-Core-prebuilt - - React-cxxreact (= 0.81.5-1) - - React-jsi (= 0.81.5-1) - - React-logger (= 0.81.5-1) - - React-perflogger (= 0.81.5-1) - - ReactCommon/turbomodule/bridging (= 0.81.5-1) - - ReactCommon/turbomodule/core (= 0.81.5-1) + - React-cxxreact (= 0.81.4) + - React-jsi (= 0.81.4) + - React-logger (= 0.81.4) + - React-perflogger (= 0.81.4) + - ReactCommon/turbomodule/bridging (= 0.81.4) + - ReactCommon/turbomodule/core (= 0.81.4) - ReactNativeDependencies - - ReactCommon/turbomodule/bridging (0.81.5-1): + - ReactCommon/turbomodule/bridging (0.81.4): - hermes-engine - - React-callinvoker (= 0.81.5-1) + - React-callinvoker (= 0.81.4) - React-Core-prebuilt - - React-cxxreact (= 0.81.5-1) - - React-jsi (= 0.81.5-1) - - React-logger (= 0.81.5-1) - - React-perflogger (= 0.81.5-1) + - React-cxxreact (= 0.81.4) + - React-jsi (= 0.81.4) + - React-logger (= 0.81.4) + - React-perflogger (= 0.81.4) - ReactNativeDependencies - - ReactCommon/turbomodule/core (0.81.5-1): + - ReactCommon/turbomodule/core (0.81.4): - hermes-engine - - React-callinvoker (= 0.81.5-1) + - React-callinvoker (= 0.81.4) - React-Core-prebuilt - - React-cxxreact (= 0.81.5-1) - - React-debug (= 0.81.5-1) - - React-featureflags (= 0.81.5-1) - - React-jsi (= 0.81.5-1) - - React-logger (= 0.81.5-1) - - React-perflogger (= 0.81.5-1) - - React-utils (= 0.81.5-1) + - React-cxxreact (= 0.81.4) + - React-debug (= 0.81.4) + - React-featureflags (= 0.81.4) + - React-jsi (= 0.81.4) + - React-logger (= 0.81.4) + - React-perflogger (= 0.81.4) + - React-utils (= 0.81.4) - ReactNativeDependencies - - ReactNativeDependencies (0.81.5) + - ReactNativeDependencies (0.81.4) - RNCPicker (2.11.4): - hermes-engine - RCTRequired @@ -2414,7 +2415,7 @@ PODS: - SDWebImageSVGCoder (~> 1.7.0) - SDWebImageWebPCoder (~> 0.14) - Yoga - - RNGestureHandler (2.30.0): + - RNGestureHandler (2.29.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2436,7 +2437,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - RNReanimated (4.2.1): + - RNReanimated (4.2.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2446,6 +2447,7 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager - React-jsi - React-NativeModulesApple @@ -2457,10 +2459,10 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - RNReanimated/reanimated (= 4.2.1) + - RNReanimated/reanimated (= 4.2.0) - RNWorklets - Yoga - - RNReanimated/reanimated (4.2.1): + - RNReanimated/reanimated (4.2.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2470,6 +2472,7 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager - React-jsi - React-NativeModulesApple @@ -2481,10 +2484,10 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - RNReanimated/reanimated/apple (= 4.2.1) + - RNReanimated/reanimated/apple (= 4.2.0) - RNWorklets - Yoga - - RNReanimated/reanimated/apple (4.2.1): + - RNReanimated/reanimated/apple (4.2.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2494,6 +2497,7 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager - React-jsi - React-NativeModulesApple @@ -2507,7 +2511,7 @@ PODS: - ReactNativeDependencies - RNWorklets - Yoga - - RNScreens (4.19.0): + - RNScreens (4.18.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2529,9 +2533,9 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - RNScreens/common (= 4.19.0) + - RNScreens/common (= 4.18.0) - Yoga - - RNScreens/common (4.19.0): + - RNScreens/common (4.18.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2554,7 +2558,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - RNSentry (7.8.0): + - RNSentry (7.7.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2655,6 +2659,7 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager - React-jsi - React-NativeModulesApple @@ -2678,6 +2683,7 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager - React-jsi - React-NativeModulesApple @@ -2701,6 +2707,7 @@ PODS: - React-Fabric - React-featureflags - React-graphics + - React-hermes - React-ImageManager - React-jsi - React-NativeModulesApple @@ -3161,12 +3168,12 @@ SPEC CHECKSUMS: EXJSONUtils: 1d3e4590438c3ee593684186007028a14b3686cd EXManifests: a8d97683e5c7a3b026ffbd58559c64dc655b747b EXNotifications: 983f04ad4ad879b181179e326bf220541e478386 - Expo: 60c21ba34593688a2a6e8445c1f8b44abb0e3fae + Expo: 8fa2204bf8483fe546b4ec87c90d3ca189afc8db expo-dev-client: 425ee077d6754a98cfe3a2e2410d29b440b24c9d expo-dev-launcher: a4f4cdef064ab1fb8621e5b8c7c457cd6e9568c3 expo-dev-menu: 05b18812110c175814c6af0d09dd658abcc5e00d expo-dev-menu-interface: 600df12ea01efecdd822daaf13cc0ac091775533 - ExpoAsset: f867e55ceb428aab99e1e8c082b5aee7c159ea18 + ExpoAsset: 23a958e97d3d340919fe6774db35d563241e6c03 ExpoBlur: b90747a3f22a8b6ceffd9cb0dc41a4184efdc656 ExpoBrightness: 46c980463e8a54b9ce77f923c4bff0bb0c9526e0 ExpoClipboard: b36b287d8356887844bb08ed5c84b5979bb4dd1e @@ -3179,7 +3186,7 @@ SPEC CHECKSUMS: ExpoHaptics: d3a6375d8dcc3a1083d003bc2298ff654fafb536 ExpoKeepAwake: 55f75eca6499bb9e4231ebad6f3e9cb8f99c0296 ExpoLinearGradient: 809102bdb979f590083af49f7fa4805cd931bd58 - ExpoLinking: 8f0aaf69aa56f832913030503b6263dc6f647f37 + ExpoLinking: f4c4a351523da72a6bfa7e1f4ca92aee1043a3ca ExpoLocalization: d9168d5300a5b03e5e78b986124d11fb6ec3ebbd ExpoModulesCore: f3da4f1ab5a8375d0beafab763739dbee8446583 ExpoRandom: d1444df65007bdd4070009efd5dab18e20bf0f00 @@ -3190,10 +3197,10 @@ SPEC CHECKSUMS: EXStructuredHeaders: c951e77f2d936f88637421e9588c976da5827368 EXUpdates: f20abbc8a9f4e150656fe88126d52f52d4e7793f EXUpdatesInterface: 5adf50cb41e079c861da6d9b4b954c3db9a50734 - FBLazyVector: e3bd9d62dabc43965f6154992a1d056114598ffc + FBLazyVector: 9e0cd874afd81d9a4d36679daca991b58b260d42 FFmpegKit: 3885085fbbc320745838ee4c8a1f9c5e5953dab2 google-cast-sdk: 32f65af50d164e3c475e79ad123db3cc26fbcd37 - hermes-engine: 9f4dfe93326146a1c99eb535b1cb0b857a3cd172 + hermes-engine: 35c763d57c9832d0eef764316ca1c4d043581394 ImageColors: e12eb73e29bc1feaa3c228db8c174a1b25acb59d KSPlayer: f163ac6195f240b6fa5b8225aeb39ec811a70c62 Libass: e88af2324e1217e3a4c8bdc675f6f23a9dfc7677 @@ -3206,40 +3213,40 @@ SPEC CHECKSUMS: NitroMmkv: 4af10c70043b4c3cded3f16547627c7d9d8e3b8b NitroModules: a71a5ab2911caf79e45170e6e12475b5260a12d0 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 - RCTDeprecation: c97d552eb1217b0853cda55c6d69178fccec2a9f - RCTRequired: ef590f878066e34a61c2c7b733afd1adb1524911 - RCTTypeSafety: d3ac73632a897ff5082036cc11a774d1db801e32 + RCTDeprecation: 7487d6dda857ccd4cb3dd6ecfccdc3170e85dcbc + RCTRequired: 54128b7df8be566881d48c7234724a78cb9b6157 + RCTTypeSafety: d2b07797a79e45d7b19e1cd2f53c79ab419fe217 ReachabilitySwift: 32793e867593cfc1177f5d16491e3a197d2fccda - React: 92a1446f809fa7c7bcdda41c1a54ad89e0017a44 - React-callinvoker: 39c0d5ac818d6eadf404eee4e62f75d0025c2c10 - React-Core: feadd8d8e6729d0f0dafa3a42a2a2af946aabb12 - React-Core-prebuilt: 445601bbdad4f61b04e6700a5f9ac1339008f2f3 - React-CoreModules: 294e561dc71bf74afa51fae93b8f591524ad0286 - React-cxxreact: 87ad5e669e7f7c7e227a3501c84649fda90d3497 - React-debug: 1c38c8d6502c275c2f8d839f696b9805e244371f - React-defaultsnativemodule: a9d7ac5678a517b38099d933cd58eff87c25dee9 - React-domnativemodule: 48cf1b4a93f7874a237adb209f7e6b8e98186bc6 - React-Fabric: f2268e0235110ad04d1b744981638fe7829060b6 - React-FabricComponents: 01c5551cb67c951339c9433460ed8261f3dd57a1 - React-FabricImage: 2289ba230c7a02d695fe6edbf5275b91a75a8079 - React-featureflags: e02e58bc2ef9cf80446cb2fafc8d055d60c8868e - React-featureflagsnativemodule: bfb06b3d4432463854631d3077bf4ec29247e5a9 - React-graphics: 87c7828c015376735e22559633dee466fe5ec45d - React-hermes: 74af9967b7e42328dd38c609d01992490ba3d887 - React-idlecallbacksnativemodule: 2679e8974ba51bc56cc4afa4825705d8912b93bc - React-ImageManager: 5d94df8edcf911ee7b8efedb84538e77b4d70f13 - React-jserrorhandler: bf142b4e67fa2d97521995c4828e72a0fce6dbfa - React-jsi: 730e883e5ce7a121bc6348468588e3836dd38a71 - React-jsiexecutor: 62a889ae9ed65e935c4240f51d91524da9a21f2e - React-jsinspector: 6ee33caa2480cedd27b25360d6db857f16af856b - React-jsinspectorcdp: 7c8999d4da83202e08ea10db15cd25959f761cd3 - React-jsinspectornetwork: 4398b49075d4f739c552625f99198e2737c2f739 - React-jsinspectortracing: 717aae03a53ee69a1adbece868ca7d76d999089b - React-jsitooling: fd4f06933579dc7007bc1055d8195d619b94adfb - React-jsitracing: 2c5d821c00e06b98cb9c90d37eb67d2daaec368d - React-logger: dbca0908736a33fe644a2c9386ad8d1beb0b8ef7 - React-Mapbuffer: d220434732585e8248b6a372d7a42c8de9977a0c - React-microtasksnativemodule: 440bf89a912112f3167e979cf1ff97a95a8d816d + React: 2073376f47c71b7e9a0af7535986a77522ce1049 + React-callinvoker: 00fa0972a70df7408a4f088144b67207b157e386 + React-Core: d375dd308561785c739a621a21802e5e7e047dee + React-Core-prebuilt: dde79b89f8863efebb1d532a3335f472927da669 + React-CoreModules: 3eb9b1410a317987c557afc683cc50099562c91d + React-cxxreact: 724210b64158d97f150d8d254a7319e73ef77ee7 + React-debug: c01d176522cf57cdc4a4a66d1974968fcf497f32 + React-defaultsnativemodule: 3953ff49013fa997e72586628e1d218fdaf3abdb + React-domnativemodule: 540b9c7a8f31b6f4ed449aafd3a272e1f1107089 + React-Fabric: 00b792be016edad758a63c4ebac15e01d35f6355 + React-FabricComponents: 16ebdb9245d91ec27985a038d0a6460f499db54e + React-FabricImage: 2a967b5f0293c1c49ec883babfd4992d161e3583 + React-featureflags: 4150b4ddac8210b1e3c538cfb455050b5ee05d8d + React-featureflagsnativemodule: ff977040205b96818ac1f884846493cb8a2aca28 + React-graphics: ec689ac1c13a9ddb1af83baf195264676ecdbeb6 + React-hermes: ff60a3407f27f3fc82f661774a7ab6559a24ab69 + React-idlecallbacksnativemodule: 5f5ce3c424941f77da4ac3adba681149e68b1221 + React-ImageManager: 8d87296a86f9ee290c1d32c68c7be1be63492467 + React-jserrorhandler: 072756f12136284c86e96c33cdfece4d7286a99f + React-jsi: b507852b42a9125dffbf6ae7a33792fb521b29a2 + React-jsiexecutor: f970eed6debb91fe5d5d6cb5734d39cf86c59896 + React-jsinspector: 766e113e9482b22971b30236d10c04d8af38269e + React-jsinspectorcdp: 5b60350e29fe2566d9ed9799858c04b8e6095a3e + React-jsinspectornetwork: b3cc9a20c6b270f792eaaaa14313019a031b327d + React-jsinspectortracing: d99120fcf0864209c45cefbc9fc4605c8189c0ef + React-jsitooling: 9e41724cc47feadefbede31ca91d70f6ff079656 + React-jsitracing: ca020d934502de8e02cccf451501434a5e584027 + React-logger: 7b234de35acb469ce76d6bbb0457f664d6f32f62 + React-Mapbuffer: fbe1da882a187e5898bdf125e1cc6e603d27ecae + React-microtasksnativemodule: 76905804171d8ccbe69329fc84c57eb7934add7f react-native-blur: 1b00ef07fe0efdc0c40b37139a5268ccad73c72d react-native-bottom-tabs: bcb70e4fae95fc9da0da875f7414acda26dfc551 react-native-device-brightness: 1a997350d060c3df9f303b1df84a4f7c5cbeb924 @@ -3249,53 +3256,53 @@ SPEC CHECKSUMS: react-native-safe-area-context: 37e680fc4cace3c0030ee46e8987d24f5d3bdab2 react-native-slider: f954578344106f0a732a4358ce3a3e11015eb6e1 react-native-video: f5982e21efab0dc356d92541a8a9e19581307f58 - React-NativeModulesApple: 4cfc966da0aa742a2fef4245f71e0c0b1e046156 - React-oscompat: ef6373c7b79c55f1a5c29ac5806083a07fa1bef2 - React-perflogger: 6b34dac43be92bc246da12992783f826ba90a11a - React-performancetimeline: 29f28d73ec84f33a53fe31b306a5b973abf64113 - React-RCTActionSheet: c304388754cc4982cc6055d15fafd17dda6e11fd - React-RCTAnimation: afe48cba05f5947cf9e7dbf6d9b388a6b1675dd0 - React-RCTAppDelegate: 4cb62a4521ea986fc89d4d9c7a2012b1913ecddb - React-RCTBlob: 09ad0556a2263040cbcd861daa40aaec46d72bcf - React-RCTFabric: 5d9599eb6bb906fa8f395bb5cf67f7cecd507b3d - React-RCTFBReactNativeSpec: 9d2d68ec1d7cd3bcbf55485f8e968b7f306d6a97 - React-RCTImage: 206c3cef265c4341f0c5721b1b3e127b7925c703 - React-RCTLinking: 8e2e281f537d59c2af8dcbda660c0dc31f2875a7 - React-RCTNetwork: 6f99734c8eb27963aa0087c96e2e2f5f879c65bc - React-RCTRuntime: 8c1526af8537d5757d432f8c2767d9159e600577 - React-RCTSettings: 557882c7e1d9f2f58abe876438b103455a8c4346 - React-RCTText: a191ac4e046c706fb4d8edc1f15c390e2236ce32 - React-RCTVibration: b2c1f5f8d88dabb90f63bb7577df128d18ebabea - React-rendererconsistency: 9cc22d4c6697faf3be280158cab5b0ad10027695 - React-renderercss: 4ff2251ad2ad9d82bb4e6297837e7a16c446a7d4 - React-rendererdebug: 21050913b10ae9e409ae2caf517fe720a1af7c38 - React-RuntimeApple: a7198151b2edcaa66be6d2c8ee99882b309432b2 - React-RuntimeCore: 814fbe3df2c48c6507975611c1ae553dca087341 - React-runtimeexecutor: 591ab9d6dd40127c36f41bd909aef3a94bb0e9ff - React-RuntimeHermes: 135878258380eb30413dec9e85be0f4dddac3af3 - React-runtimescheduler: 794dfc2ebeca17b7210cc196cb2642a457d6c6d0 - React-timing: 5cedf36662a0cb18fa3626960a9aba8026e51d1d - React-utils: e8442537c170153fdeec6aa7c2eea20f586ba4ed - ReactAppDependencyProvider: 6ff94ffb10200bcd4bb1b10fc19ea6233ddd1a19 - ReactCodegen: e38db9908bcbec927d2972f4c4d41adbb762f604 - ReactCommon: 261e5c547e5493dfcefe7bd1b42d5138a0d2109f - ReactNativeDependencies: 850e320d56efc7ebca2afc5c158d7d2a6bd0ced4 + React-NativeModulesApple: a9464983ccc0f66f45e93558671f60fc7536e438 + React-oscompat: 73db7dbc80edef36a9d6ed3c6c4e1724ead4236d + React-perflogger: 123272debf907cc423962adafcf4513320e43757 + React-performancetimeline: 095146e4dc8fa4568e44d7a9debc134f27e103f9 + React-RCTActionSheet: 9fc2a0901af63cefe09c8df95a08c2cf8bb7797b + React-RCTAnimation: 785e743e489bc7aec14415dbc15f4f275b2c0276 + React-RCTAppDelegate: 0602c9e13130edcde4661ea66d11122a3a66f11a + React-RCTBlob: ae53b7508a5ced43378de2a88816f63423df1f24 + React-RCTFabric: 687a0cfb5726adea7fac63560b04410c86d97134 + React-RCTFBReactNativeSpec: 7c55cf4fb4d2baad32ce3850b8504a6ee22e11ce + React-RCTImage: f45474c75cdf1526114f75b27e86d004aa171b90 + React-RCTLinking: 56622ff97570e15e01dd9b5a657010c756a9e2d8 + React-RCTNetwork: 3fffa1ab5d6981f839e7679d56f8cb731ba92c07 + React-RCTRuntime: f38c04f744596fc8e1b4c5f6a57fc05c26955257 + React-RCTSettings: f4a8e1bd36f58ec8273c73d3deefdcf90143ac6a + React-RCTText: da852a51dd1d169b38136a4f4d1eaed35376556b + React-RCTVibration: ff92ef336e32e18efff0fa83c798a2dbbebe09bd + React-rendererconsistency: b83b300e607f4e30478a5c3365e260a760232b04 + React-renderercss: aa6a3cdd4fa4e3726123c42b49ba4dd978f81688 + React-rendererdebug: 6b12a782caf2e7e2f730434264357b7b6aed1781 + React-RuntimeApple: 8934aab108dcab957a87208fef4b6f1b3a04973a + React-RuntimeCore: 1d4345561ecc402e9e88b38e1d9b059a7a13b113 + React-runtimeexecutor: a9a059f222e4d78f45a4e92cada48a5fde989fb8 + React-RuntimeHermes: 05b955709a75038d282a9420342d7bea5857768a + React-runtimescheduler: 4ce23c9157b51101092537d4171ea4de48a5b863 + React-timing: 62441edf291b91ab5b96ab8f2f8fb648c063ce6f + React-utils: 485abe7eaefa04b20e0ef442593e022563a1419b + ReactAppDependencyProvider: 433ddfb4536948630aadd5bd925aff8a632d2fe3 + ReactCodegen: a15ad48730e9fb2a51a4c9f61fe1ed253dfcf10f + ReactCommon: 149b6c05126f2e99f2ed0d3c63539369546f8cae + ReactNativeDependencies: ed6d1e64802b150399f04f1d5728ec16b437251e RNCPicker: c8a3584b74133464ee926224463fcc54dfdaebca RNFastImage: 2d36f4cfed9b2342f94f8591c8be69dd047ac67c - RNGestureHandler: e0d0bce5599f6120b7adf90c38d2805e2935795f - RNReanimated: fba6c32ffc3756f19cc69a16ce15774483678675 - RNScreens: 6f7a6128b0d33ce66e60309b6c998a2235abe1f3 - RNSentry: d32cbfc5b5a7cbefbcf51daa5bf00587d1298049 + RNGestureHandler: 723f29dac55e25f109d263ed65cecc4b9c4bd46a + RNReanimated: e1c71e6e693a66b203ae98773347b625d3cc85ee + RNScreens: 61c18865ab074f4d995ac8d7cf5060522a649d05 + RNSentry: 1d7b9fdae7a01ad8f9053335b5d44e75c39a955e RNSVG: cf9ae78f2edf2988242c71a6392d15ff7dd62522 RNVectorIcons: 4351544f100d4f12cac156a7c13399e60bab3e26 - RNWorklets: fec716511182211b2d1ddd0815c4c513a237ada2 + RNWorklets: 9eb6d567fa43984e96b6924a6df504b8a15980cd SDWebImage: e9c98383c7572d713c1a0d7dd2783b10599b9838 SDWebImageAVIFCoder: afe194a084e851f70228e4be35ef651df0fc5c57 SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c SDWebImageWebPCoder: 0e06e365080397465cc73a7a9b472d8a3bd0f377 Sentry: c643eb180df401dd8c734c5036ddd9dd9218daa6 SwiftUIIntrospect: fee9aa07293ee280373a591e1824e8ddc869ba5d - Yoga: 5b6d2edfffe99b1a19b8ea468a7fd6125f1d004c + Yoga: 051f086b5ccf465ff2ed38a2cf5a558ae01aaaa1 PODFILE CHECKSUM: 7c74c9cd2c7f3df7ab68b4284d9f324282e54542 diff --git a/node_modules/react-native-video/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java b/node_modules/react-native-video/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java index 0284f8e..44d8be2 100644 --- a/node_modules/react-native-video/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java +++ b/node_modules/react-native-video/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java @@ -2182,6 +2182,7 @@ public class ReactExoplayerView extends FrameLayout implements if (textRendererIndex != C.INDEX_UNSET) { TrackGroupArray groups = info.getTrackGroups(textRendererIndex); boolean trackFound = false; + int cumulativeIndex = 0; // Track cumulative index across all groups for (int groupIndex = 0; groupIndex < groups.length; groupIndex++) { TrackGroup group = groups.get(groupIndex); @@ -2195,7 +2196,8 @@ public class ReactExoplayerView extends FrameLayout implements isMatch = true; } else if ("index".equals(type)) { int targetIndex = ReactBridgeUtils.safeParseInt(value, -1); - if (targetIndex == trackIndex) { + // Use cumulative index to match getTextTrackInfo() behavior + if (targetIndex == cumulativeIndex) { isMatch = true; } } @@ -2207,6 +2209,7 @@ public class ReactExoplayerView extends FrameLayout implements trackFound = true; break; } + cumulativeIndex++; // Increment after each track } if (trackFound) break; diff --git a/patches/react-native-video+6.18.0.patch b/patches/react-native-video+6.18.0.patch new file mode 100644 index 0000000..584a0fd --- /dev/null +++ b/patches/react-native-video+6.18.0.patch @@ -0,0 +1,2692 @@ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/.transforms/a04bee87307e1775c0b129596d3a2b6e/results.bin b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/.transforms/a04bee87307e1775c0b129596d3a2b6e/results.bin +new file mode 100644 +index 0000000..0d259dd +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/.transforms/a04bee87307e1775c0b129596d3a2b6e/results.bin +@@ -0,0 +1 @@ ++o/classes +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/.transforms/a04bee87307e1775c0b129596d3a2b6e/transformed/classes/classes_dex/classes.dex b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/.transforms/a04bee87307e1775c0b129596d3a2b6e/transformed/classes/classes_dex/classes.dex +new file mode 100644 +index 0000000..0c96902 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/.transforms/a04bee87307e1775c0b129596d3a2b6e/transformed/classes/classes_dex/classes.dex differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/.transforms/cde462de23ae0e930ed29ed683a0d845/results.bin b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/.transforms/cde462de23ae0e930ed29ed683a0d845/results.bin +new file mode 100644 +index 0000000..0d259dd +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/.transforms/cde462de23ae0e930ed29ed683a0d845/results.bin +@@ -0,0 +1 @@ ++o/classes +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/.transforms/cde462de23ae0e930ed29ed683a0d845/transformed/classes/classes_dex/classes.dex b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/.transforms/cde462de23ae0e930ed29ed683a0d845/transformed/classes/classes_dex/classes.dex +new file mode 100644 +index 0000000..e69de29 +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/generated/source/buildConfig/debug/com/brentvatne/react/BuildConfig.java b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/generated/source/buildConfig/debug/com/brentvatne/react/BuildConfig.java +new file mode 100644 +index 0000000..b26a50e +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/generated/source/buildConfig/debug/com/brentvatne/react/BuildConfig.java +@@ -0,0 +1,22 @@ ++/** ++ * Automatically generated file. DO NOT MODIFY ++ */ ++package com.brentvatne.react; ++ ++public final class BuildConfig { ++ public static final boolean DEBUG = Boolean.parseBoolean("true"); ++ public static final String LIBRARY_PACKAGE_NAME = "com.brentvatne.react"; ++ public static final String BUILD_TYPE = "debug"; ++ // Field from default config. ++ public static final boolean IS_NEW_ARCHITECTURE_ENABLED = true; ++ // Field from default config. ++ public static final boolean USE_EXOPLAYER_DASH = true; ++ // Field from default config. ++ public static final boolean USE_EXOPLAYER_HLS = true; ++ // Field from default config. ++ public static final boolean USE_EXOPLAYER_IMA = false; ++ // Field from default config. ++ public static final boolean USE_EXOPLAYER_RTSP = false; ++ // Field from default config. ++ public static final boolean USE_EXOPLAYER_SMOOTH_STREAMING = true; ++} +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +new file mode 100644 +index 0000000..728c5a9 +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +@@ -0,0 +1,7 @@ ++ ++ ++ ++ ++ ++ +\ No newline at end of file +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +new file mode 100644 +index 0000000..247891c +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +@@ -0,0 +1,18 @@ ++{ ++ "version": 3, ++ "artifactType": { ++ "type": "AAPT_FRIENDLY_MERGED_MANIFESTS", ++ "kind": "Directory" ++ }, ++ "applicationId": "com.brentvatne.react", ++ "variantName": "debug", ++ "elements": [ ++ { ++ "type": "SINGLE", ++ "filters": [], ++ "attributes": [], ++ "outputFile": "AndroidManifest.xml" ++ } ++ ], ++ "elementType": "File" ++} +\ No newline at end of file +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/aar_main_jar/debug/syncDebugLibJars/classes.jar b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/aar_main_jar/debug/syncDebugLibJars/classes.jar +new file mode 100644 +index 0000000..e69de29 +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +new file mode 100644 +index 0000000..1211b1e +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +@@ -0,0 +1,6 @@ ++aarFormatVersion=1.0 ++aarMetadataVersion=1.0 ++minCompileSdk=1 ++minCompileSdkExtension=0 ++minAndroidGradlePluginVersion=1.0.0 ++coreLibraryDesugaringEnabled=false +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +new file mode 100644 +index 0000000..9e26dfe +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +@@ -0,0 +1 @@ ++{} +\ No newline at end of file +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt +new file mode 100644 +index 0000000..e69de29 +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +new file mode 100644 +index 0000000..b0bc2f4 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +new file mode 100644 +index 0000000..0889def +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +new file mode 100644 +index 0000000..b5a67e1 +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +@@ -0,0 +1,44 @@ ++int color player_overlay_color 0x0 ++int color red 0x0 ++int color silver_gray 0x0 ++int color white 0x0 ++int dimen controller_wrapper_padding_top 0x0 ++int dimen full_screen_margin 0x0 ++int dimen full_screen_size 0x0 ++int dimen live_wrapper_margin_top 0x0 ++int dimen position_duration_horizontal_padding 0x0 ++int dimen position_duration_text_size 0x0 ++int dimen position_duration_width 0x0 ++int dimen seekBar_height 0x0 ++int dimen seekBar_wrapper_margin_top 0x0 ++int drawable circle 0x0 ++int id exo_duration 0x0 ++int id exo_ffwd 0x0 ++int id exo_fullscreen 0x0 ++int id exo_live_container 0x0 ++int id exo_live_icon 0x0 ++int id exo_live_label 0x0 ++int id exo_next 0x0 ++int id exo_pause 0x0 ++int id exo_play 0x0 ++int id exo_play_pause_container 0x0 ++int id exo_position 0x0 ++int id exo_prev 0x0 ++int id exo_progress 0x0 ++int id exo_rew 0x0 ++int id exo_settings 0x0 ++int layout exo_legacy_player_control_view 0x0 ++int string error_drm_not_supported 0x0 ++int string error_drm_unknown 0x0 ++int string error_drm_unsupported_scheme 0x0 ++int string error_instantiating_decoder 0x0 ++int string error_no_decoder 0x0 ++int string error_no_secure_decoder 0x0 ++int string error_querying_decoders 0x0 ++int string media_playback_notification_text 0x0 ++int string media_playback_notification_title 0x0 ++int string playback_speed 0x0 ++int string select_playback_speed 0x0 ++int string settings 0x0 ++int string unrecognized_media_format 0x0 ++int style ExoMediaButton_FullScreen 0x0 +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/drawable_circle.xml.flat b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/drawable_circle.xml.flat +new file mode 100644 +index 0000000..e62758d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/drawable_circle.xml.flat differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/layout_exo_legacy_player_control_view.xml.flat b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/layout_exo_legacy_player_control_view.xml.flat +new file mode 100644 +index 0000000..bb5b5f9 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/layout_exo_legacy_player_control_view.xml.flat differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/debug-mergeJavaRes/merge-state b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/debug-mergeJavaRes/merge-state +new file mode 100644 +index 0000000..e69de29 +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +new file mode 100644 +index 0000000..a07f51b +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +@@ -0,0 +1,3 @@ ++#Fri Dec 26 20:39:25 IST 2025 ++com.brentvatne.react.react-native-video-main-6\:/drawable/circle.xml=/Users/nayifnoushad/Documents/Projects/NuvioStreaming/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/packaged_res/debug/packageDebugResources/drawable/circle.xml ++com.brentvatne.react.react-native-video-main-6\:/layout/exo_legacy_player_control_view.xml=/Users/nayifnoushad/Documents/Projects/NuvioStreaming/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/packaged_res/debug/packageDebugResources/layout/exo_legacy_player_control_view.xml +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/debug/packageDebugResources/merged.dir/values/values.xml b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/debug/packageDebugResources/merged.dir/values/values.xml +new file mode 100644 +index 0000000..e8dd9e4 +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/debug/packageDebugResources/merged.dir/values/values.xml +@@ -0,0 +1,33 @@ ++ ++ ++ #00000000 ++ #FF0000 ++ #FFBEBEBE ++ #FFFFFF ++ 4dp ++ 4dp ++ 30dp ++ 12dp ++ 4dp ++ 14sp ++ 50dp ++ 26dp ++ 4dp ++ Protected content not supported on API levels below 18 ++ An unknown DRM error occurred ++ This device does not support the required DRM scheme ++ Unable to instantiate decoder %1$s ++ This device does not provide a decoder for %1$s ++ This device does not provide a secure decoder for %1$s ++ Unable to query device decoders ++ Preparing playback ++ Media playback ++ Playback Speed ++ Select Playback Speed ++ Settings ++ Unrecognized media format ++ ++ +\ No newline at end of file +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/debug/packageDebugResources/merger.xml b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/debug/packageDebugResources/merger.xml +new file mode 100644 +index 0000000..55ffc6b +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/debug/packageDebugResources/merger.xml +@@ -0,0 +1,5 @@ ++ ++#FFBEBEBE#00000000#FFFFFF#FF00004dp4dp12dp4dp4dp50dp26dp30dp14spThis device does not provide a decoder for %1$sThis device does not provide a secure decoder for %1$sUnable to query device decodersUnable to instantiate decoder %1$sProtected content not supported on API levels below 18Unrecognized media formatThis device does not support the required DRM schemeAn unknown DRM error occurredSettingsPlayback SpeedSelect Playback SpeedMedia playbackPreparing playback +\ No newline at end of file +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/mergeDebugAssets/merger.xml b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/mergeDebugAssets/merger.xml +new file mode 100644 +index 0000000..8769311 +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/mergeDebugAssets/merger.xml +@@ -0,0 +1,2 @@ ++ ++ +\ No newline at end of file +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/mergeDebugJniLibFolders/merger.xml b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +new file mode 100644 +index 0000000..af687a7 +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +@@ -0,0 +1,2 @@ ++ ++ +\ No newline at end of file +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/mergeDebugShaders/merger.xml b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/mergeDebugShaders/merger.xml +new file mode 100644 +index 0000000..65138a3 +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/incremental/mergeDebugShaders/merger.xml +@@ -0,0 +1,2 @@ ++ ++ +\ No newline at end of file +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-video_debug.kotlin_module b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-video_debug.kotlin_module +new file mode 100644 +index 0000000..1698483 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-video_debug.kotlin_module differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/androidx/media3/exoplayer/ima/ImaAdsLoader$Builder.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/androidx/media3/exoplayer/ima/ImaAdsLoader$Builder.class +new file mode 100644 +index 0000000..b019110 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/androidx/media3/exoplayer/ima/ImaAdsLoader$Builder.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/androidx/media3/exoplayer/ima/ImaAdsLoader.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/androidx/media3/exoplayer/ima/ImaAdsLoader.class +new file mode 100644 +index 0000000..5e16e53 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/androidx/media3/exoplayer/ima/ImaAdsLoader.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/androidx/media3/exoplayer/rtsp/RtspMediaSource$Factory.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/androidx/media3/exoplayer/rtsp/RtspMediaSource$Factory.class +new file mode 100644 +index 0000000..b08faeb +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/androidx/media3/exoplayer/rtsp/RtspMediaSource$Factory.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/androidx/media3/exoplayer/rtsp/RtspMediaSource.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/androidx/media3/exoplayer/rtsp/RtspMediaSource.class +new file mode 100644 +index 0000000..2f92e20 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/androidx/media3/exoplayer/rtsp/RtspMediaSource.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$1.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$1.class +new file mode 100644 +index 0000000..2a5b980 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$1.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$2.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$2.class +new file mode 100644 +index 0000000..727c94e +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$2.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$3.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$3.class +new file mode 100644 +index 0000000..b3b518f +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$3.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$4.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$4.class +new file mode 100644 +index 0000000..682ae0e +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$4.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$OnAudioFocusChangedListener.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$OnAudioFocusChangedListener.class +new file mode 100644 +index 0000000..92cbcf5 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$OnAudioFocusChangedListener.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$RNVLoadControl.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$RNVLoadControl.class +new file mode 100644 +index 0000000..4f175f2 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView$RNVLoadControl.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView.class +new file mode 100644 +index 0000000..719d047 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/exoplayer/ReactExoplayerView.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/react/BuildConfig.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/react/BuildConfig.class +new file mode 100644 +index 0000000..4c5c87e +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/brentvatne/react/BuildConfig.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/AdError.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/AdError.class +new file mode 100644 +index 0000000..0a9b7a7 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/AdError.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/AdErrorEvent$AdErrorListener.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/AdErrorEvent$AdErrorListener.class +new file mode 100644 +index 0000000..1380a05 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/AdErrorEvent$AdErrorListener.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/AdErrorEvent.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/AdErrorEvent.class +new file mode 100644 +index 0000000..07ab3fa +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/AdErrorEvent.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/AdEvent$AdEventListener.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/AdEvent$AdEventListener.class +new file mode 100644 +index 0000000..dbe9984 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/AdEvent$AdEventListener.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/AdEvent.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/AdEvent.class +new file mode 100644 +index 0000000..88ae34c +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/AdEvent.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/ConcreteImaSdkFactory.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/ConcreteImaSdkFactory.class +new file mode 100644 +index 0000000..a3184b3 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/ConcreteImaSdkFactory.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/ConcreteImaSdkSettings.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/ConcreteImaSdkSettings.class +new file mode 100644 +index 0000000..264cd83 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/ConcreteImaSdkSettings.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/ImaSdkFactory.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/ImaSdkFactory.class +new file mode 100644 +index 0000000..46cea81 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/ImaSdkFactory.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/ImaSdkSettings.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/ImaSdkSettings.class +new file mode 100644 +index 0000000..a4cef0d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/google/ads/interactivemedia/v3/api/ImaSdkSettings.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +new file mode 100644 +index 0000000..987e479 +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +@@ -0,0 +1,46 @@ ++R_DEF: Internal format may change without notice ++local ++color player_overlay_color ++color red ++color silver_gray ++color white ++dimen controller_wrapper_padding_top ++dimen full_screen_margin ++dimen full_screen_size ++dimen live_wrapper_margin_top ++dimen position_duration_horizontal_padding ++dimen position_duration_text_size ++dimen position_duration_width ++dimen seekBar_height ++dimen seekBar_wrapper_margin_top ++drawable circle ++id exo_duration ++id exo_ffwd ++id exo_fullscreen ++id exo_live_container ++id exo_live_icon ++id exo_live_label ++id exo_next ++id exo_pause ++id exo_play ++id exo_play_pause_container ++id exo_position ++id exo_prev ++id exo_progress ++id exo_rew ++id exo_settings ++layout exo_legacy_player_control_view ++string error_drm_not_supported ++string error_drm_unknown ++string error_drm_unsupported_scheme ++string error_instantiating_decoder ++string error_no_decoder ++string error_no_secure_decoder ++string error_querying_decoders ++string media_playback_notification_text ++string media_playback_notification_title ++string playback_speed ++string select_playback_speed ++string settings ++string unrecognized_media_format ++style ExoMediaButton.FullScreen +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +new file mode 100644 +index 0000000..2300097 +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +@@ -0,0 +1,7 @@ ++1 ++2 ++4 ++5 ++6 ++7 +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/merged_java_res/debug/mergeDebugJavaResource/feature-react-native-video.jar b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/merged_java_res/debug/mergeDebugJavaResource/feature-react-native-video.jar +new file mode 100644 +index 0000000..e69de29 +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +new file mode 100644 +index 0000000..728c5a9 +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +@@ -0,0 +1,7 @@ ++ ++ ++ ++ ++ ++ +\ No newline at end of file +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +new file mode 100644 +index 0000000..0637a08 +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +@@ -0,0 +1 @@ ++[] +\ No newline at end of file +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +new file mode 100644 +index 0000000..08f4ebe +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +@@ -0,0 +1 @@ ++0 Warning/Error +\ No newline at end of file +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/packaged_res/debug/packageDebugResources/drawable/circle.xml b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/packaged_res/debug/packageDebugResources/drawable/circle.xml +new file mode 100644 +index 0000000..9f06d7c +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/packaged_res/debug/packageDebugResources/drawable/circle.xml +@@ -0,0 +1,6 @@ ++ ++ ++ ++ ++ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/packaged_res/debug/packageDebugResources/layout/exo_legacy_player_control_view.xml b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/packaged_res/debug/packageDebugResources/layout/exo_legacy_player_control_view.xml +new file mode 100644 +index 0000000..e0babc4 +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/packaged_res/debug/packageDebugResources/layout/exo_legacy_player_control_view.xml +@@ -0,0 +1,120 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/packaged_res/debug/packageDebugResources/values/values.xml b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/packaged_res/debug/packageDebugResources/values/values.xml +new file mode 100644 +index 0000000..e8dd9e4 +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/packaged_res/debug/packageDebugResources/values/values.xml +@@ -0,0 +1,33 @@ ++ ++ ++ #00000000 ++ #FF0000 ++ #FFBEBEBE ++ #FFFFFF ++ 4dp ++ 4dp ++ 30dp ++ 12dp ++ 4dp ++ 14sp ++ 50dp ++ 26dp ++ 4dp ++ Protected content not supported on API levels below 18 ++ An unknown DRM error occurred ++ This device does not support the required DRM scheme ++ Unable to instantiate decoder %1$s ++ This device does not provide a decoder for %1$s ++ This device does not provide a secure decoder for %1$s ++ Unable to query device decoders ++ Preparing playback ++ Media playback ++ Playback Speed ++ Select Playback Speed ++ Settings ++ Unrecognized media format ++ ++ +\ No newline at end of file +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +new file mode 100644 +index 0000000..3b4d20b +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +new file mode 100644 +index 0000000..1cb95ed +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +@@ -0,0 +1,45 @@ ++com.brentvatne.react ++color player_overlay_color ++color red ++color silver_gray ++color white ++dimen controller_wrapper_padding_top ++dimen full_screen_margin ++dimen full_screen_size ++dimen live_wrapper_margin_top ++dimen position_duration_horizontal_padding ++dimen position_duration_text_size ++dimen position_duration_width ++dimen seekBar_height ++dimen seekBar_wrapper_margin_top ++drawable circle ++id exo_duration ++id exo_ffwd ++id exo_fullscreen ++id exo_live_container ++id exo_live_icon ++id exo_live_label ++id exo_next ++id exo_pause ++id exo_play ++id exo_play_pause_container ++id exo_position ++id exo_prev ++id exo_progress ++id exo_rew ++id exo_settings ++layout exo_legacy_player_control_view ++string error_drm_not_supported ++string error_drm_unknown ++string error_drm_unsupported_scheme ++string error_instantiating_decoder ++string error_no_decoder ++string error_no_secure_decoder ++string error_querying_decoders ++string media_playback_notification_text ++string media_playback_notification_title ++string playback_speed ++string select_playback_speed ++string settings ++string unrecognized_media_format ++style ExoMediaButton_FullScreen +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +new file mode 100644 +index 0000000..7df5bcf +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +new file mode 100644 +index 0000000..1a55594 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +new file mode 100644 +index 0000000..74ddf64 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +new file mode 100644 +index 0000000..41d6c24 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +new file mode 100644 +index 0000000..d0eda54 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +new file mode 100644 +index 0000000..8a80b7d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +new file mode 100644 +index 0000000..131e265 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +new file mode 100644 +index 0000000..532458c +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +new file mode 100644 +index 0000000..1d1d548 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +new file mode 100644 +index 0000000..3247724 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +new file mode 100644 +index 0000000..bba171d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +new file mode 100644 +index 0000000..5d6b64a +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +new file mode 100644 +index 0000000..045022c +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +new file mode 100644 +index 0000000..131e265 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +new file mode 100644 +index 0000000..8178530 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +new file mode 100644 +index 0000000..1d1d548 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +new file mode 100644 +index 0000000..3247724 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +new file mode 100644 +index 0000000..bba171d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +new file mode 100644 +index 0000000..6a45a65 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +new file mode 100644 +index 0000000..045022c +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +new file mode 100644 +index 0000000..131e265 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +new file mode 100644 +index 0000000..496bda2 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +new file mode 100644 +index 0000000..a49789c +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +new file mode 100644 +index 0000000..a3d0573 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +new file mode 100644 +index 0000000..93a595b +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +new file mode 100644 +index 0000000..9d91003 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +new file mode 100644 +index 0000000..1598ef3 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +new file mode 100644 +index 0000000..131e265 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +new file mode 100644 +index 0000000..c3975e3 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +new file mode 100644 +index 0000000..9d05b9a +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +new file mode 100644 +index 0000000..d3e09af +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +new file mode 100644 +index 0000000..b7d7395 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +new file mode 100644 +index 0000000..e3911a1 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +new file mode 100644 +index 0000000..af27d9c +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +new file mode 100644 +index 0000000..131e265 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab +new file mode 100644 +index 0000000..bdf584a +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream +new file mode 100644 +index 0000000..a9e6823 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len +new file mode 100644 +index 0000000..de8bf97 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len +new file mode 100644 +index 0000000..2a17e6e +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at +new file mode 100644 +index 0000000..46d6744 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i +new file mode 100644 +index 0000000..2073982 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len +new file mode 100644 +index 0000000..131e265 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +new file mode 100644 +index 0000000..c626f49 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +new file mode 100644 +index 0000000..7214377 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +new file mode 100644 +index 0000000..86b154b +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +new file mode 100644 +index 0000000..882f24f +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values +new file mode 100644 +index 0000000..2ff3eb7 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +new file mode 100644 +index 0000000..af661f7 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.s b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.s +new file mode 100644 +index 0000000..b6551b9 +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.s +@@ -0,0 +1 @@ ++ÏÒ +\ No newline at end of file +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +new file mode 100644 +index 0000000..0cbafa1 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +new file mode 100644 +index 0000000..131e265 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +new file mode 100644 +index 0000000..85d9216 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +new file mode 100644 +index 0000000..1a55594 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +new file mode 100644 +index 0000000..74ddf64 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +new file mode 100644 +index 0000000..41d6c24 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +new file mode 100644 +index 0000000..dfc60fb +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +new file mode 100644 +index 0000000..8a80b7d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +new file mode 100644 +index 0000000..131e265 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +new file mode 100644 +index 0000000..95c2c01 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +new file mode 100644 +index 0000000..90b21c4 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +new file mode 100644 +index 0000000..4cb813c +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +new file mode 100644 +index 0000000..385642d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +new file mode 100644 +index 0000000..195d865 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +new file mode 100644 +index 0000000..5e4a0c0 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +new file mode 100644 +index 0000000..131e265 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +new file mode 100644 +index 0000000..d98dace +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +new file mode 100644 +index 0000000..ae4ac93 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +new file mode 100644 +index 0000000..6dc1435 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +new file mode 100644 +index 0000000..42df8b9 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +new file mode 100644 +index 0000000..bc345c6 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +new file mode 100644 +index 0000000..f0c9463 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +new file mode 100644 +index 0000000..131e265 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +new file mode 100644 +index 0000000..672070d +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +@@ -0,0 +1,2 @@ ++44 ++0 +\ No newline at end of file +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +new file mode 100644 +index 0000000..1878d5a +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +new file mode 100644 +index 0000000..1a55594 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +new file mode 100644 +index 0000000..74ddf64 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +new file mode 100644 +index 0000000..41d6c24 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +new file mode 100644 +index 0000000..d3fcc7e +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +new file mode 100644 +index 0000000..8a80b7d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +new file mode 100644 +index 0000000..131e265 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +new file mode 100644 +index 0000000..04aeda4 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +new file mode 100644 +index 0000000..132a271 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +new file mode 100644 +index 0000000..79ad34c +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +new file mode 100644 +index 0000000..41d6c24 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +new file mode 100644 +index 0000000..c834290 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +new file mode 100644 +index 0000000..1601c02 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +new file mode 100644 +index 0000000..131e265 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +new file mode 100644 +index 0000000..5fc703e +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +new file mode 100644 +index 0000000..39f4cac +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +new file mode 100644 +index 0000000..e381b23 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +new file mode 100644 +index 0000000..35ed991 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +new file mode 100644 +index 0000000..a262c4a +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +new file mode 100644 +index 0000000..1bfa622 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +new file mode 100644 +index 0000000..131e265 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/last-build.bin b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/last-build.bin +new file mode 100644 +index 0000000..a42036d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/cacheable/last-build.bin differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +new file mode 100644 +index 0000000..badcbce +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/outputs/aar/react-native-video-debug.aar b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/outputs/aar/react-native-video-debug.aar +new file mode 100644 +index 0000000..e69de29 +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/outputs/logs/manifest-merger-debug-report.txt b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/outputs/logs/manifest-merger-debug-report.txt +new file mode 100644 +index 0000000..a388215 +--- /dev/null ++++ b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/outputs/logs/manifest-merger-debug-report.txt +@@ -0,0 +1,16 @@ ++-- Merging decision tree log --- ++manifest ++ADDED from /Users/nayifnoushad/Documents/Projects/NuvioStreaming/node_modules/react-native-video/android/src/main/AndroidManifestNew.xml:1:1-2:12 ++INJECTED from /Users/nayifnoushad/Documents/Projects/NuvioStreaming/node_modules/react-native-video/android/src/main/AndroidManifestNew.xml:1:1-2:12 ++ package ++ INJECTED from /Users/nayifnoushad/Documents/Projects/NuvioStreaming/node_modules/react-native-video/android/src/main/AndroidManifestNew.xml ++ xmlns:android ++ ADDED from /Users/nayifnoushad/Documents/Projects/NuvioStreaming/node_modules/react-native-video/android/src/main/AndroidManifestNew.xml:1:11-69 ++uses-sdk ++INJECTED from /Users/nayifnoushad/Documents/Projects/NuvioStreaming/node_modules/react-native-video/android/src/main/AndroidManifestNew.xml reason: use-sdk injection requested ++INJECTED from /Users/nayifnoushad/Documents/Projects/NuvioStreaming/node_modules/react-native-video/android/src/main/AndroidManifestNew.xml ++INJECTED from /Users/nayifnoushad/Documents/Projects/NuvioStreaming/node_modules/react-native-video/android/src/main/AndroidManifestNew.xml ++ android:targetSdkVersion ++ INJECTED from /Users/nayifnoushad/Documents/Projects/NuvioStreaming/node_modules/react-native-video/android/src/main/AndroidManifestNew.xml ++ android:minSdkVersion ++ INJECTED from /Users/nayifnoushad/Documents/Projects/NuvioStreaming/node_modules/react-native-video/android/src/main/AndroidManifestNew.xml +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +new file mode 100644 +index 0000000..8d6fb57 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/META-INF/react-native-video_debug.kotlin_module b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/META-INF/react-native-video_debug.kotlin_module +new file mode 100644 +index 0000000..1698483 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/META-INF/react-native-video_debug.kotlin_module differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/AdsProps$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/AdsProps$Companion.class +new file mode 100644 +index 0000000..2e5d42b +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/AdsProps$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/AdsProps.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/AdsProps.class +new file mode 100644 +index 0000000..e2b54bd +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/AdsProps.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferConfig$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferConfig$Companion.class +new file mode 100644 +index 0000000..0fbaa90 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferConfig$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferConfig$Live$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferConfig$Live$Companion.class +new file mode 100644 +index 0000000..ce1128e +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferConfig$Live$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferConfig$Live.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferConfig$Live.class +new file mode 100644 +index 0000000..2054200 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferConfig$Live.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferConfig.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferConfig.class +new file mode 100644 +index 0000000..7ef226b +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferConfig.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferingStrategy$BufferingStrategyEnum.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferingStrategy$BufferingStrategyEnum.class +new file mode 100644 +index 0000000..162566c +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferingStrategy$BufferingStrategyEnum.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferingStrategy$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferingStrategy$Companion.class +new file mode 100644 +index 0000000..7477be8 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferingStrategy$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferingStrategy.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferingStrategy.class +new file mode 100644 +index 0000000..3516405 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/BufferingStrategy.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/CMCDProps$Companion$WhenMappings.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/CMCDProps$Companion$WhenMappings.class +new file mode 100644 +index 0000000..5145552 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/CMCDProps$Companion$WhenMappings.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/CMCDProps$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/CMCDProps$Companion.class +new file mode 100644 +index 0000000..e813d1a +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/CMCDProps$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/CMCDProps.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/CMCDProps.class +new file mode 100644 +index 0000000..e6c0538 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/CMCDProps.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ControlsConfig$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ControlsConfig$Companion.class +new file mode 100644 +index 0000000..b2e5cfc +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ControlsConfig$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ControlsConfig.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ControlsConfig.class +new file mode 100644 +index 0000000..a672b48 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ControlsConfig.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/DRMProps$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/DRMProps$Companion.class +new file mode 100644 +index 0000000..949a5b9 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/DRMProps$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/DRMProps.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/DRMProps.class +new file mode 100644 +index 0000000..8e26a44 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/DRMProps.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ResizeMode$Mode.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ResizeMode$Mode.class +new file mode 100644 +index 0000000..8c2948d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ResizeMode$Mode.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ResizeMode.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ResizeMode.class +new file mode 100644 +index 0000000..ab7c203 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ResizeMode.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SideLoadedTextTrack$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SideLoadedTextTrack$Companion.class +new file mode 100644 +index 0000000..3262de8 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SideLoadedTextTrack$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SideLoadedTextTrack.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SideLoadedTextTrack.class +new file mode 100644 +index 0000000..a6b7907 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SideLoadedTextTrack.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SideLoadedTextTrackList$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SideLoadedTextTrackList$Companion.class +new file mode 100644 +index 0000000..a41fe7d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SideLoadedTextTrackList$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SideLoadedTextTrackList.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SideLoadedTextTrackList.class +new file mode 100644 +index 0000000..ec0f170 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SideLoadedTextTrackList.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/Source$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/Source$Companion.class +new file mode 100644 +index 0000000..20c7316 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/Source$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/Source$Metadata$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/Source$Metadata$Companion.class +new file mode 100644 +index 0000000..3a83d08 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/Source$Metadata$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/Source$Metadata.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/Source$Metadata.class +new file mode 100644 +index 0000000..381c5ea +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/Source$Metadata.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/Source.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/Source.class +new file mode 100644 +index 0000000..763511c +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/Source.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SubtitleStyle$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SubtitleStyle$Companion.class +new file mode 100644 +index 0000000..1ef82f1 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SubtitleStyle$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SubtitleStyle.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SubtitleStyle.class +new file mode 100644 +index 0000000..4ebb38c +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/SubtitleStyle.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/TimedMetadata.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/TimedMetadata.class +new file mode 100644 +index 0000000..81dc3f7 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/TimedMetadata.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/Track.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/Track.class +new file mode 100644 +index 0000000..bf9687d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/Track.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/VideoTrack.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/VideoTrack.class +new file mode 100644 +index 0000000..a011166 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/VideoTrack.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ViewType$ViewType.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ViewType$ViewType.class +new file mode 100644 +index 0000000..2dfe0a5 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ViewType$ViewType.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ViewType.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ViewType.class +new file mode 100644 +index 0000000..24c319c +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/api/ViewType.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/react/EventTypes$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/react/EventTypes$Companion.class +new file mode 100644 +index 0000000..7c1c2f6 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/react/EventTypes$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/react/EventTypes.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/react/EventTypes.class +new file mode 100644 +index 0000000..68c48f1 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/react/EventTypes.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/react/VideoEventEmitter$EventBuilder.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/react/VideoEventEmitter$EventBuilder.class +new file mode 100644 +index 0000000..0dceebe +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/react/VideoEventEmitter$EventBuilder.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/react/VideoEventEmitter$VideoCustomEvent.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/react/VideoEventEmitter$VideoCustomEvent.class +new file mode 100644 +index 0000000..6116962 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/react/VideoEventEmitter$VideoCustomEvent.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/react/VideoEventEmitter.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/react/VideoEventEmitter.class +new file mode 100644 +index 0000000..1f63a29 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/react/VideoEventEmitter.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/toolbox/DebugLog.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/toolbox/DebugLog.class +new file mode 100644 +index 0000000..35fd981 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/toolbox/DebugLog.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/toolbox/ReactBridgeUtils.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/toolbox/ReactBridgeUtils.class +new file mode 100644 +index 0000000..5b3a99d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/common/toolbox/ReactBridgeUtils.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/AspectRatioFrameLayout$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/AspectRatioFrameLayout$Companion.class +new file mode 100644 +index 0000000..e1e118c +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/AspectRatioFrameLayout$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/AspectRatioFrameLayout.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/AspectRatioFrameLayout.class +new file mode 100644 +index 0000000..8955650 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/AspectRatioFrameLayout.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/AudioOutput$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/AudioOutput$Companion.class +new file mode 100644 +index 0000000..fdbd8c4 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/AudioOutput$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/AudioOutput.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/AudioOutput.class +new file mode 100644 +index 0000000..49bd1a1 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/AudioOutput.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/CMCDConfig$createCmcdConfiguration$1.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/CMCDConfig$createCmcdConfiguration$1.class +new file mode 100644 +index 0000000..1b9ff2b +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/CMCDConfig$createCmcdConfiguration$1.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/CMCDConfig.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/CMCDConfig.class +new file mode 100644 +index 0000000..24ff469 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/CMCDConfig.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ConfigurationUtils.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ConfigurationUtils.class +new file mode 100644 +index 0000000..8623659 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ConfigurationUtils.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/DRMManager.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/DRMManager.class +new file mode 100644 +index 0000000..c054558 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/DRMManager.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/DRMManagerSpec.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/DRMManagerSpec.class +new file mode 100644 +index 0000000..3ba0b21 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/DRMManagerSpec.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/DataSourceUtil.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/DataSourceUtil.class +new file mode 100644 +index 0000000..435095f +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/DataSourceUtil.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/DefaultReactExoplayerConfig.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/DefaultReactExoplayerConfig.class +new file mode 100644 +index 0000000..7d79368 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/DefaultReactExoplayerConfig.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ExoPlayerView$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ExoPlayerView$Companion.class +new file mode 100644 +index 0000000..345dd50 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ExoPlayerView$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ExoPlayerView$playerListener$1.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ExoPlayerView$playerListener$1.class +new file mode 100644 +index 0000000..4dcc80e +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ExoPlayerView$playerListener$1.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ExoPlayerView.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ExoPlayerView.class +new file mode 100644 +index 0000000..df0ace7 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ExoPlayerView.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/FullScreenPlayerView$KeepScreenOnUpdater$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/FullScreenPlayerView$KeepScreenOnUpdater$Companion.class +new file mode 100644 +index 0000000..8bcae8d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/FullScreenPlayerView$KeepScreenOnUpdater$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/FullScreenPlayerView$KeepScreenOnUpdater.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/FullScreenPlayerView$KeepScreenOnUpdater.class +new file mode 100644 +index 0000000..550135d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/FullScreenPlayerView$KeepScreenOnUpdater.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/FullScreenPlayerView.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/FullScreenPlayerView.class +new file mode 100644 +index 0000000..257de83 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/FullScreenPlayerView.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/PictureInPictureUtil.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/PictureInPictureUtil.class +new file mode 100644 +index 0000000..9e8c1b9 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/PictureInPictureUtil.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/PictureInPictureUtilKt.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/PictureInPictureUtilKt.class +new file mode 100644 +index 0000000..2c42f4a +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/PictureInPictureUtilKt.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/PlaybackServiceBinder.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/PlaybackServiceBinder.class +new file mode 100644 +index 0000000..5ae25b4 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/PlaybackServiceBinder.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/RNVExoplayerPlugin$DefaultImpls.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/RNVExoplayerPlugin$DefaultImpls.class +new file mode 100644 +index 0000000..af3decf +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/RNVExoplayerPlugin$DefaultImpls.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/RNVExoplayerPlugin.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/RNVExoplayerPlugin.class +new file mode 100644 +index 0000000..9bc6115 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/RNVExoplayerPlugin.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/RNVSimpleCache.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/RNVSimpleCache.class +new file mode 100644 +index 0000000..659e439 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/RNVSimpleCache.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ReactExoplayerConfig.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ReactExoplayerConfig.class +new file mode 100644 +index 0000000..2456c95 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ReactExoplayerConfig.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ReactExoplayerLoadErrorHandlingPolicy.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ReactExoplayerLoadErrorHandlingPolicy.class +new file mode 100644 +index 0000000..38ce458 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ReactExoplayerLoadErrorHandlingPolicy.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ReactExoplayerViewManager$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ReactExoplayerViewManager$Companion.class +new file mode 100644 +index 0000000..bc906a9 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ReactExoplayerViewManager$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ReactExoplayerViewManager.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ReactExoplayerViewManager.class +new file mode 100644 +index 0000000..07bd865 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/ReactExoplayerViewManager.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/VideoPlaybackCallback.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/VideoPlaybackCallback.class +new file mode 100644 +index 0000000..5e67aa0 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/VideoPlaybackCallback.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/VideoPlaybackService$Companion$COMMAND.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/VideoPlaybackService$Companion$COMMAND.class +new file mode 100644 +index 0000000..6ba65f2 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/VideoPlaybackService$Companion$COMMAND.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/VideoPlaybackService$Companion$WhenMappings.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/VideoPlaybackService$Companion$WhenMappings.class +new file mode 100644 +index 0000000..647f782 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/VideoPlaybackService$Companion$WhenMappings.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/VideoPlaybackService$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/VideoPlaybackService$Companion.class +new file mode 100644 +index 0000000..0f20e85 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/VideoPlaybackService$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/VideoPlaybackService.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/VideoPlaybackService.class +new file mode 100644 +index 0000000..8a576c2 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/exoplayer/VideoPlaybackService.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/RNVPlugin.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/RNVPlugin.class +new file mode 100644 +index 0000000..8a59f22 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/RNVPlugin.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/ReactNativeVideoManager$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/ReactNativeVideoManager$Companion.class +new file mode 100644 +index 0000000..32d6d1f +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/ReactNativeVideoManager$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/ReactNativeVideoManager.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/ReactNativeVideoManager.class +new file mode 100644 +index 0000000..2679ae0 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/ReactNativeVideoManager.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/ReactVideoPackage.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/ReactVideoPackage.class +new file mode 100644 +index 0000000..2af2d2c +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/ReactVideoPackage.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/VideoDecoderInfoModule$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/VideoDecoderInfoModule$Companion.class +new file mode 100644 +index 0000000..d8a4aa3 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/VideoDecoderInfoModule$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/VideoDecoderInfoModule.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/VideoDecoderInfoModule.class +new file mode 100644 +index 0000000..8348d9d +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/VideoDecoderInfoModule.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/VideoManagerModule$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/VideoManagerModule$Companion.class +new file mode 100644 +index 0000000..435293b +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/VideoManagerModule$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/VideoManagerModule.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/VideoManagerModule.class +new file mode 100644 +index 0000000..c28e02b +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/react/VideoManagerModule.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/AudioBecomingNoisyReceiver.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/AudioBecomingNoisyReceiver.class +new file mode 100644 +index 0000000..990ca48 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/AudioBecomingNoisyReceiver.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/BecomingNoisyListener$Companion$NO_OP$1.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/BecomingNoisyListener$Companion$NO_OP$1.class +new file mode 100644 +index 0000000..07a503b +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/BecomingNoisyListener$Companion$NO_OP$1.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/BecomingNoisyListener$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/BecomingNoisyListener$Companion.class +new file mode 100644 +index 0000000..efa3ee3 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/BecomingNoisyListener$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/BecomingNoisyListener.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/BecomingNoisyListener.class +new file mode 100644 +index 0000000..75d1cd4 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/BecomingNoisyListener.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/PictureInPictureReceiver$Companion.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/PictureInPictureReceiver$Companion.class +new file mode 100644 +index 0000000..535aad5 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/PictureInPictureReceiver$Companion.class differ +diff --git a/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/PictureInPictureReceiver.class b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/PictureInPictureReceiver.class +new file mode 100644 +index 0000000..0143f64 +Binary files /dev/null and b/node_modules/react-native-video/android/buildOutput_a15d4dee7fc4eda61b91308cbb6a2e72/tmp/kotlin-classes/debug/com/brentvatne/receiver/PictureInPictureReceiver.class differ +diff --git a/node_modules/react-native-video/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java b/node_modules/react-native-video/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java +index 539ecfd..44d8be2 100644 +--- a/node_modules/react-native-video/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java ++++ b/node_modules/react-native-video/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java +@@ -222,7 +222,8 @@ public class ReactExoplayerView extends FrameLayout implements + private ArrayList rootViewChildrenOriginalVisibility = new ArrayList(); + + /* +- * When user is seeking first called is on onPositionDiscontinuity -> DISCONTINUITY_REASON_SEEK ++ * When user is seeking first called is on onPositionDiscontinuity -> ++ * DISCONTINUITY_REASON_SEEK + * Then we set if to false when playback is back in onIsPlayingChanged -> true + */ + private boolean isSeeking = false; +@@ -292,7 +293,8 @@ public class ReactExoplayerView extends FrameLayout implements + lastPos = pos; + lastBufferDuration = bufferedDuration; + lastDuration = duration; +- eventEmitter.onVideoProgress.invoke(pos, bufferedDuration, player.getDuration(), getPositionInFirstPeriodMsForCurrentWindow(pos)); ++ eventEmitter.onVideoProgress.invoke(pos, bufferedDuration, player.getDuration(), ++ getPositionInFirstPeriodMsForCurrentWindow(pos)); + } + } + } +@@ -310,7 +312,7 @@ public class ReactExoplayerView extends FrameLayout implements + + public double getPositionInFirstPeriodMsForCurrentWindow(long currentPosition) { + Timeline.Window window = new Timeline.Window(); +- if(!player.getCurrentTimeline().isEmpty()) { ++ if (!player.getCurrentTimeline().isEmpty()) { + player.getCurrentTimeline().getWindow(player.getCurrentMediaItemIndex(), window); + } + return window.windowStartTimeMs + currentPosition; +@@ -349,9 +351,9 @@ public class ReactExoplayerView extends FrameLayout implements + LayoutParams.MATCH_PARENT, + LayoutParams.MATCH_PARENT); + exoPlayerView = new ExoPlayerView(getContext()); +- exoPlayerView.addOnLayoutChangeListener( (View v, int l, int t, int r, int b, int ol, int ot, int or, int ob) -> +- PictureInPictureUtil.applySourceRectHint(themedReactContext, pictureInPictureParamsBuilder, exoPlayerView) +- ); ++ exoPlayerView.addOnLayoutChangeListener( ++ (View v, int l, int t, int r, int b, int ol, int ot, int or, int ob) -> PictureInPictureUtil ++ .applySourceRectHint(themedReactContext, pictureInPictureParamsBuilder, exoPlayerView)); + exoPlayerView.setLayoutParams(layoutParams); + addView(exoPlayerView, 0, layoutParams); + +@@ -377,8 +379,10 @@ public class ReactExoplayerView extends FrameLayout implements + public void onHostPause() { + isInBackground = true; + Activity activity = themedReactContext.getCurrentActivity(); +- boolean isInPictureInPicture = Util.SDK_INT >= Build.VERSION_CODES.N && activity != null && activity.isInPictureInPictureMode(); +- boolean isInMultiWindowMode = Util.SDK_INT >= Build.VERSION_CODES.N && activity != null && activity.isInMultiWindowMode(); ++ boolean isInPictureInPicture = Util.SDK_INT >= Build.VERSION_CODES.N && activity != null ++ && activity.isInPictureInPictureMode(); ++ boolean isInMultiWindowMode = Util.SDK_INT >= Build.VERSION_CODES.N && activity != null ++ && activity.isInMultiWindowMode(); + if (playInBackground || isInPictureInPicture || isInMultiWindowMode) { + return; + } +@@ -397,7 +401,7 @@ public class ReactExoplayerView extends FrameLayout implements + viewHasDropped = true; + } + +- //BandwidthMeter.EventListener implementation ++ // BandwidthMeter.EventListener implementation + @Override + public void onBandwidthSample(int elapsedMs, long bytes, long bitrate) { + if (mReportBandwidth) { +@@ -405,7 +409,8 @@ public class ReactExoplayerView extends FrameLayout implements + eventEmitter.onVideoBandwidthUpdate.invoke(bitrate, 0, 0, null); + } else { + Format videoFormat = player.getVideoFormat(); +- boolean isRotatedContent = videoFormat != null && (videoFormat.rotationDegrees == 90 || videoFormat.rotationDegrees == 270); ++ boolean isRotatedContent = videoFormat != null ++ && (videoFormat.rotationDegrees == 90 || videoFormat.rotationDegrees == 270); + int width = videoFormat != null ? (isRotatedContent ? videoFormat.height : videoFormat.width) : 0; + int height = videoFormat != null ? (isRotatedContent ? videoFormat.width : videoFormat.height) : 0; + String trackId = videoFormat != null ? videoFormat.id : null; +@@ -420,7 +425,8 @@ public class ReactExoplayerView extends FrameLayout implements + * Toggling the visibility of the player control view + */ + private void togglePlayerControlVisibility() { +- if (player == null) return; ++ if (player == null) ++ return; + if (exoPlayerView.isControllerVisible()) { + exoPlayerView.hideController(); + } else { +@@ -444,7 +450,8 @@ public class ReactExoplayerView extends FrameLayout implements + } + + private void updateControllerConfig() { +- if (exoPlayerView == null) return; ++ if (exoPlayerView == null) ++ return; + + exoPlayerView.setControllerShowTimeoutMs(5000); + +@@ -455,7 +462,8 @@ public class ReactExoplayerView extends FrameLayout implements + } + + private void updateControllerVisibility() { +- if (exoPlayerView == null) return; ++ if (exoPlayerView == null) ++ return; + + exoPlayerView.setUseController(controls && !controlsConfig.getHideFullscreen()); + } +@@ -463,7 +471,7 @@ public class ReactExoplayerView extends FrameLayout implements + private void openSettings() { + AlertDialog.Builder builder = new AlertDialog.Builder(themedReactContext); + builder.setTitle(R.string.settings); +- String[] settingsOptions = {themedReactContext.getString(R.string.playback_speed)}; ++ String[] settingsOptions = { themedReactContext.getString(R.string.playback_speed) }; + builder.setItems(settingsOptions, (dialog, which) -> { + if (which == 0) { + showPlaybackSpeedOptions(); +@@ -473,7 +481,7 @@ public class ReactExoplayerView extends FrameLayout implements + } + + private void showPlaybackSpeedOptions() { +- String[] speedOptions = {"0.5x", "1.0x", "1.5x", "2.0x"}; ++ String[] speedOptions = { "0.5x", "1.0x", "1.5x", "2.0x" }; + AlertDialog.Builder builder = new AlertDialog.Builder(themedReactContext); + builder.setTitle(R.string.select_playback_speed); + +@@ -491,8 +499,10 @@ public class ReactExoplayerView extends FrameLayout implements + speed = 2.0f; + break; + default: +- speed = 1.0f;; +- }; ++ speed = 1.0f; ++ ; ++ } ++ ; + setRateModifier(speed); + }); + builder.show(); +@@ -504,24 +514,30 @@ public class ReactExoplayerView extends FrameLayout implements + + /** + * Update the layout +- * @param view view needs to update layout + * +- * This is a workaround for the open bug in react-native: ... ++ * @param view view needs to update layout ++ * ++ * This is a workaround for the open bug in react-native: ... + */ + private void reLayout(View view) { +- if (view == null) return; ++ if (view == null) ++ return; + view.measure(MeasureSpec.makeMeasureSpec(getMeasuredWidth(), MeasureSpec.EXACTLY), + MeasureSpec.makeMeasureSpec(getMeasuredHeight(), MeasureSpec.EXACTLY)); + view.layout(view.getLeft(), view.getTop(), view.getMeasuredWidth(), view.getMeasuredHeight()); + } + + private void refreshControlsStyles() { +- if (exoPlayerView == null || player == null || !controls) return; ++ if (exoPlayerView == null || player == null || !controls) ++ return; + updateControllerVisibility(); + } + +- // Note: The following methods for live content and button visibility are no longer needed +- // as PlayerView handles controls automatically. Some functionality may need to be ++ // Note: The following methods for live content and button visibility are no ++ // longer needed ++ // as PlayerView handles controls automatically. Some functionality may need to ++ // be + // reimplemented using PlayerView's APIs if custom behavior is required. + + private void reLayoutControls() { +@@ -558,6 +574,7 @@ public class ReactExoplayerView extends FrameLayout implements + private class RNVLoadControl extends DefaultLoadControl { + private final int availableHeapInBytes; + private final Runtime runtime; ++ + public RNVLoadControl(DefaultAllocator allocator, BufferConfig config) { + super(allocator, + config.getMinBufferMs() != BufferConfig.Companion.getBufferConfigPropUnsetInt() +@@ -568,7 +585,7 @@ public class ReactExoplayerView extends FrameLayout implements + : DefaultLoadControl.DEFAULT_MAX_BUFFER_MS, + config.getBufferForPlaybackMs() != BufferConfig.Companion.getBufferConfigPropUnsetInt() + ? config.getBufferForPlaybackMs() +- : DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_MS , ++ : DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_MS, + config.getBufferForPlaybackAfterRebufferMs() != BufferConfig.Companion.getBufferConfigPropUnsetInt() + ? config.getBufferForPlaybackAfterRebufferMs() + : DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS, +@@ -579,10 +596,12 @@ public class ReactExoplayerView extends FrameLayout implements + : DefaultLoadControl.DEFAULT_BACK_BUFFER_DURATION_MS, + DefaultLoadControl.DEFAULT_RETAIN_BACK_BUFFER_FROM_KEYFRAME); + runtime = Runtime.getRuntime(); +- ActivityManager activityManager = (ActivityManager) themedReactContext.getSystemService(ThemedReactContext.ACTIVITY_SERVICE); +- double maxHeap = config.getMaxHeapAllocationPercent() != BufferConfig.Companion.getBufferConfigPropUnsetDouble() +- ? config.getMaxHeapAllocationPercent() +- : DEFAULT_MAX_HEAP_ALLOCATION_PERCENT; ++ ActivityManager activityManager = (ActivityManager) themedReactContext ++ .getSystemService(ThemedReactContext.ACTIVITY_SERVICE); ++ double maxHeap = config.getMaxHeapAllocationPercent() != BufferConfig.Companion ++ .getBufferConfigPropUnsetDouble() ++ ? config.getMaxHeapAllocationPercent() ++ : DEFAULT_MAX_HEAP_ALLOCATION_PERCENT; + availableHeapInBytes = (int) Math.floor(activityManager.getMemoryClass() * maxHeap * 1024 * 1024); + } + +@@ -600,13 +619,15 @@ public class ReactExoplayerView extends FrameLayout implements + } + long usedMemory = runtime.totalMemory() - runtime.freeMemory(); + long freeMemory = runtime.maxMemory() - usedMemory; +- double minBufferMemoryReservePercent = source.getBufferConfig().getMinBufferMemoryReservePercent() != BufferConfig.Companion.getBufferConfigPropUnsetDouble() +- ? source.getBufferConfig().getMinBufferMemoryReservePercent() +- : ReactExoplayerView.DEFAULT_MIN_BUFFER_MEMORY_RESERVE; ++ double minBufferMemoryReservePercent = source.getBufferConfig() ++ .getMinBufferMemoryReservePercent() != BufferConfig.Companion.getBufferConfigPropUnsetDouble() ++ ? source.getBufferConfig().getMinBufferMemoryReservePercent() ++ : ReactExoplayerView.DEFAULT_MIN_BUFFER_MEMORY_RESERVE; + long reserveMemory = (long) minBufferMemoryReservePercent * runtime.maxMemory(); + long bufferedMs = bufferedDurationUs / (long) 1000; + if (reserveMemory > freeMemory && bufferedMs > 2000) { +- // We don't have enough memory in reserve so we stop buffering to allow other components to use it instead ++ // We don't have enough memory in reserve so we stop buffering to allow other ++ // components to use it instead + return false; + } + if (runtime.freeMemory() == 0) { +@@ -640,13 +661,13 @@ public class ReactExoplayerView extends FrameLayout implements + // Initialize core configuration and listeners + initializePlayerCore(self); + pipListenerUnsubscribe = PictureInPictureUtil.addLifecycleEventListener(themedReactContext, this); +- PictureInPictureUtil.applyAutoEnterEnabled(themedReactContext, pictureInPictureParamsBuilder, this.enterPictureInPictureOnLeave); ++ PictureInPictureUtil.applyAutoEnterEnabled(themedReactContext, pictureInPictureParamsBuilder, ++ this.enterPictureInPictureOnLeave); + } + if (!source.isLocalAssetFile() && !source.isAsset() && source.getBufferConfig().getCacheSize() > 0) { + RNVSimpleCache.INSTANCE.setSimpleCache( + this.getContext(), +- source.getBufferConfig().getCacheSize() +- ); ++ source.getBufferConfig().getCacheSize()); + useCache = true; + } else { + useCache = false; +@@ -654,7 +675,8 @@ public class ReactExoplayerView extends FrameLayout implements + if (playerNeedsSource) { + // Will force display of shutter view if needed + exoPlayerView.invalidateAspectRatio(); +- // DRM session manager creation must be done on a different thread to prevent crashes so we start a new thread ++ // DRM session manager creation must be done on a different thread to prevent ++ // crashes so we start a new thread + ExecutorService es = Executors.newSingleThreadExecutor(); + es.execute(() -> { + // DRM initialization must run on a different thread +@@ -663,7 +685,8 @@ public class ReactExoplayerView extends FrameLayout implements + } + if (activity == null) { + DebugLog.e(TAG, "Failed to initialize Player!, null activity"); +- eventEmitter.onVideoError.invoke("Failed to initialize Player!", new Exception("Current Activity is null!"), "1001"); ++ eventEmitter.onVideoError.invoke("Failed to initialize Player!", ++ new Exception("Current Activity is null!"), "1001"); + return; + } + +@@ -716,8 +739,7 @@ public class ReactExoplayerView extends FrameLayout implements + DefaultAllocator allocator = new DefaultAllocator(true, C.DEFAULT_BUFFER_SEGMENT_SIZE); + RNVLoadControl loadControl = new RNVLoadControl( + allocator, +- source.getBufferConfig() +- ); ++ source.getBufferConfig()); + + long initialBitrate = source.getBufferConfig().getInitialBitrate(); + if (initialBitrate > 0) { +@@ -725,15 +747,15 @@ public class ReactExoplayerView extends FrameLayout implements + this.bandwidthMeter = config.getBandwidthMeter(); + } + +- DefaultRenderersFactory renderersFactory = +- new DefaultRenderersFactory(getContext()) +- .setExtensionRendererMode(DefaultRenderersFactory.EXTENSION_RENDERER_MODE_OFF) +- .setEnableDecoderFallback(true) +- .forceEnableMediaCodecAsynchronousQueueing(); ++ DefaultRenderersFactory renderersFactory = new DefaultRenderersFactory(getContext()) ++ .setExtensionRendererMode(DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER) ++ .setEnableDecoderFallback(true) ++ .forceEnableMediaCodecAsynchronousQueueing(); + + DefaultMediaSourceFactory mediaSourceFactory = new DefaultMediaSourceFactory(mediaDataSourceFactory); + if (useCache && !disableCache) { +- mediaSourceFactory.setDataSourceFactory(RNVSimpleCache.INSTANCE.getCacheFactory(buildHttpDataSourceFactory(true))); ++ mediaSourceFactory ++ .setDataSourceFactory(RNVSimpleCache.INSTANCE.getCacheFactory(buildHttpDataSourceFactory(true))); + } + + mediaSourceFactory.setLocalAdInsertionComponents(unusedAdTagUri -> adsLoader, exoPlayerView.getPlayerView()); +@@ -760,7 +782,7 @@ public class ReactExoplayerView extends FrameLayout implements + player.setPlaybackParameters(params); + changeAudioOutput(this.audioOutput); + +- if(showNotificationControls) { ++ if (showNotificationControls) { + setupPlaybackService(); + } + } +@@ -772,8 +794,7 @@ public class ReactExoplayerView extends FrameLayout implements + Uri adTagUrl = adProps.getAdTagUrl(); + if (adTagUrl != null) { + // Create an AdsLoader. +- ImaAdsLoader.Builder imaLoaderBuilder = new ImaAdsLoader +- .Builder(themedReactContext) ++ ImaAdsLoader.Builder imaLoaderBuilder = new ImaAdsLoader.Builder(themedReactContext) + .setAdEventListener(this) + .setAdErrorListener(this); + +@@ -805,7 +826,8 @@ public class ReactExoplayerView extends FrameLayout implements + } + + try { +- // First check if there's a custom DRM manager registered through the plugin system ++ // First check if there's a custom DRM manager registered through the plugin ++ // system + DRMManagerSpec drmManager = ReactNativeVideoManager.Companion.getInstance().getDRMManager(); + if (drmManager == null) { + // If no custom manager is registered, use the default implementation +@@ -814,11 +836,13 @@ public class ReactExoplayerView extends FrameLayout implements + + DrmSessionManager drmSessionManager = drmManager.buildDrmSessionManager(uuid, drmProps); + if (drmSessionManager == null) { +- eventEmitter.onVideoError.invoke("Failed to build DRM session manager", new Exception("DRM session manager is null"), "3007"); ++ eventEmitter.onVideoError.invoke("Failed to build DRM session manager", ++ new Exception("DRM session manager is null"), "3007"); + } + + // Allow plugins to override the DrmSessionManager +- DrmSessionManager overriddenManager = ReactNativeVideoManager.Companion.getInstance().overrideDrmSessionManager(source, drmSessionManager); ++ DrmSessionManager overriddenManager = ReactNativeVideoManager.Companion.getInstance() ++ .overrideDrmSessionManager(source, drmSessionManager); + return overriddenManager != null ? overriddenManager : drmSessionManager; + } catch (UnsupportedDrmException ex) { + // Unsupported DRM exceptions are handled by the calling method +@@ -836,7 +860,8 @@ public class ReactExoplayerView extends FrameLayout implements + } + /// init DRM + DrmSessionManager drmSessionManager = initializePlayerDrm(); +- if (drmSessionManager == null && runningSource.getDrmProps() != null && runningSource.getDrmProps().getDrmType() != null) { ++ if (drmSessionManager == null && runningSource.getDrmProps() != null ++ && runningSource.getDrmProps().getDrmType() != null) { + // Failed to initialize DRM session manager - cannot continue + DebugLog.e(TAG, "Failed to initialize DRM Session Manager Framework!"); + return; +@@ -893,7 +918,8 @@ public class ReactExoplayerView extends FrameLayout implements + } catch (UnsupportedDrmException e) { + int errorStringId = Util.SDK_INT < 18 ? R.string.error_drm_not_supported + : (e.reason == UnsupportedDrmException.REASON_UNSUPPORTED_SCHEME +- ? R.string.error_drm_unsupported_scheme : R.string.error_drm_unknown); ++ ? R.string.error_drm_unsupported_scheme ++ : R.string.error_drm_unknown); + eventEmitter.onVideoError.invoke(getResources().getString(errorStringId), e, "3003"); + } + } +@@ -938,7 +964,8 @@ public class ReactExoplayerView extends FrameLayout implements + if (playbackServiceBinder != null) { + playbackServiceBinder.getService().unregisterPlayer(player); + } +- } catch (Exception ignored) {} ++ } catch (Exception ignored) { ++ } + + playbackServiceBinder = null; + } +@@ -970,21 +997,22 @@ public class ReactExoplayerView extends FrameLayout implements + + private void cleanupPlaybackService() { + try { +- if(player != null && playbackServiceBinder != null) { ++ if (player != null && playbackServiceBinder != null) { + playbackServiceBinder.getService().unregisterPlayer(player); + } + + playbackServiceBinder = null; + +- if(playbackServiceConnection != null) { ++ if (playbackServiceConnection != null) { + themedReactContext.unbindService(playbackServiceConnection); + } +- } catch(Exception e) { ++ } catch (Exception e) { + DebugLog.w(TAG, "Cloud not cleanup playback service"); + } + } + +- private MediaSource buildMediaSource(Uri uri, String overrideExtension, DrmSessionManager drmSessionManager, long cropStartMs, long cropEndMs) { ++ private MediaSource buildMediaSource(Uri uri, String overrideExtension, DrmSessionManager drmSessionManager, ++ long cropStartMs, long cropEndMs) { + if (uri == null) { + throw new IllegalStateException("Invalid video uri"); + } +@@ -1016,12 +1044,12 @@ public class ReactExoplayerView extends FrameLayout implements + Uri adTagUrl = source.getAdsProps().getAdTagUrl(); + if (adTagUrl != null) { + mediaItemBuilder.setAdsConfiguration( +- new MediaItem.AdsConfiguration.Builder(adTagUrl).build() +- ); ++ new MediaItem.AdsConfiguration.Builder(adTagUrl).build()); + } + } + +- MediaItem.LiveConfiguration.Builder liveConfiguration = ConfigurationUtils.getLiveConfiguration(source.getBufferConfig()); ++ MediaItem.LiveConfiguration.Builder liveConfiguration = ConfigurationUtils ++ .getLiveConfiguration(source.getBufferConfig()); + mediaItemBuilder.setLiveConfiguration(liveConfiguration.build()); + + MediaSource.Factory mediaSourceFactory; +@@ -1033,29 +1061,26 @@ public class ReactExoplayerView extends FrameLayout implements + drmProvider = new DefaultDrmSessionManagerProvider(); + } + +- + switch (type) { + case CONTENT_TYPE_SS: +- if(!BuildConfig.USE_EXOPLAYER_SMOOTH_STREAMING) { ++ if (!BuildConfig.USE_EXOPLAYER_SMOOTH_STREAMING) { + DebugLog.e("Exo Player Exception", "Smooth Streaming is not enabled!"); + throw new IllegalStateException("Smooth Streaming is not enabled!"); + } + + mediaSourceFactory = new SsMediaSource.Factory( + new DefaultSsChunkSource.Factory(mediaDataSourceFactory), +- buildDataSourceFactory(false) +- ); ++ buildDataSourceFactory(false)); + break; + case CONTENT_TYPE_DASH: +- if(!BuildConfig.USE_EXOPLAYER_DASH) { ++ if (!BuildConfig.USE_EXOPLAYER_DASH) { + DebugLog.e("Exo Player Exception", "DASH is not enabled!"); + throw new IllegalStateException("DASH is not enabled!"); + } + + mediaSourceFactory = new DashMediaSource.Factory( + new DefaultDashChunkSource.Factory(mediaDataSourceFactory), +- buildDataSourceFactory(false) +- ); ++ buildDataSourceFactory(false)); + break; + case CONTENT_TYPE_HLS: + if (!BuildConfig.USE_EXOPLAYER_HLS) { +@@ -1070,13 +1095,14 @@ public class ReactExoplayerView extends FrameLayout implements + } + + mediaSourceFactory = new HlsMediaSource.Factory( +- dataSourceFactory +- ).setAllowChunklessPreparation(source.getTextTracksAllowChunklessPreparation()); ++ dataSourceFactory) ++ .setAllowChunklessPreparation(source.getTextTracksAllowChunklessPreparation()); + break; + case CONTENT_TYPE_OTHER: + if ("asset".equals(uri.getScheme())) { + try { +- DataSource.Factory assetDataSourceFactory = DataSourceUtil.buildAssetDataSourceFactory(themedReactContext, uri); ++ DataSource.Factory assetDataSourceFactory = DataSourceUtil ++ .buildAssetDataSourceFactory(themedReactContext, uri); + mediaSourceFactory = new ProgressiveMediaSource.Factory(assetDataSourceFactory); + } catch (Exception e) { + throw new IllegalStateException("cannot open input file:" + uri); +@@ -1084,12 +1110,10 @@ public class ReactExoplayerView extends FrameLayout implements + } else if ("file".equals(uri.getScheme()) || + !useCache) { + mediaSourceFactory = new ProgressiveMediaSource.Factory( +- mediaDataSourceFactory +- ); ++ mediaDataSourceFactory); + } else { + mediaSourceFactory = new ProgressiveMediaSource.Factory( +- RNVSimpleCache.INSTANCE.getCacheFactory(buildHttpDataSourceFactory(true)) +- ); ++ RNVSimpleCache.INSTANCE.getCacheFactory(buildHttpDataSourceFactory(true))); + + } + break; +@@ -1108,20 +1132,19 @@ public class ReactExoplayerView extends FrameLayout implements + + if (cmcdConfigurationFactory != null) { + mediaSourceFactory = mediaSourceFactory.setCmcdConfigurationFactory( +- cmcdConfigurationFactory::createCmcdConfiguration +- ); ++ cmcdConfigurationFactory::createCmcdConfiguration); + } + + mediaSourceFactory = Objects.requireNonNullElse( + ReactNativeVideoManager.Companion.getInstance() + .overrideMediaSourceFactory(source, mediaSourceFactory, mediaDataSourceFactory), +- mediaSourceFactory +- ); ++ mediaSourceFactory); + + mediaItemBuilder.setStreamKeys(streamKeys); + + @Nullable +- final MediaItem.Builder overridenMediaItemBuilder = ReactNativeVideoManager.Companion.getInstance().overrideMediaItemBuilder(source, mediaItemBuilder); ++ final MediaItem.Builder overridenMediaItemBuilder = ReactNativeVideoManager.Companion.getInstance() ++ .overrideMediaItemBuilder(source, mediaItemBuilder); + + MediaItem mediaItem = overridenMediaItemBuilder != null + ? overridenMediaItemBuilder.build() +@@ -1130,8 +1153,7 @@ public class ReactExoplayerView extends FrameLayout implements + MediaSource mediaSource = mediaSourceFactory + .setDrmSessionManagerProvider(drmProvider) + .setLoadErrorHandlingPolicy( +- config.buildLoadErrorHandlingPolicy(source.getMinLoadRetryCount()) +- ) ++ config.buildLoadErrorHandlingPolicy(source.getMinLoadRetryCount())) + .createMediaSource(mediaItem); + + if (cropStartMs >= 0 && cropEndMs >= 0) { +@@ -1166,7 +1188,8 @@ public class ReactExoplayerView extends FrameLayout implements + } + } + +- MediaItem.SubtitleConfiguration.Builder configBuilder = new MediaItem.SubtitleConfiguration.Builder(track.getUri()) ++ MediaItem.SubtitleConfiguration.Builder configBuilder = new MediaItem.SubtitleConfiguration.Builder( ++ track.getUri()) + .setId(trackId) + .setMimeType(track.getType()) + .setLabel(label) +@@ -1177,7 +1200,8 @@ public class ReactExoplayerView extends FrameLayout implements + configBuilder.setLanguage(track.getLanguage()); + } + +- // Set selection flags - make first track default if no specific track is selected ++ // Set selection flags - make first track default if no specific track is ++ // selected + if (trackIndex == 0 && (textTrackType == null || "disabled".equals(textTrackType))) { + configBuilder.setSelectionFlags(C.SELECTION_FLAG_DEFAULT); + } else { +@@ -1187,10 +1211,12 @@ public class ReactExoplayerView extends FrameLayout implements + MediaItem.SubtitleConfiguration subtitleConfiguration = configBuilder.build(); + subtitleConfigurations.add(subtitleConfiguration); + +- DebugLog.d(TAG, "Created subtitle configuration: " + trackId + " - " + label + " (" + track.getType() + ")"); ++ DebugLog.d(TAG, ++ "Created subtitle configuration: " + trackId + " - " + label + " (" + track.getType() + ")"); + trackIndex++; + } catch (Exception e) { +- DebugLog.e(TAG, "Error creating SubtitleConfiguration for URI " + track.getUri() + ": " + e.getMessage()); ++ DebugLog.e(TAG, ++ "Error creating SubtitleConfiguration for URI " + track.getUri() + ": " + e.getMessage()); + } + } + +@@ -1203,7 +1229,7 @@ public class ReactExoplayerView extends FrameLayout implements + + private void releasePlayer() { + if (player != null) { +- if(playbackServiceBinder != null) { ++ if (playbackServiceBinder != null) { + playbackServiceBinder.getService().unregisterPlayer(player); + themedReactContext.unbindService(playbackServiceConnection); + } +@@ -1253,7 +1279,8 @@ public class ReactExoplayerView extends FrameLayout implements + case AudioManager.AUDIOFOCUS_LOSS: + view.hasAudioFocus = false; + view.eventEmitter.onAudioFocusChanged.invoke(false); +- // FIXME this pause can cause issue if content doesn't have pause capability (can happen on live channel) ++ // FIXME this pause can cause issue if content doesn't have pause capability ++ // (can happen on live channel) + if (activity != null) { + activity.runOnUiThread(view::pausePlayback); + } +@@ -1274,16 +1301,12 @@ public class ReactExoplayerView extends FrameLayout implements + if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK) { + // Lower the volume + if (!view.muted) { +- activity.runOnUiThread(() -> +- view.player.setVolume(view.audioVolume * 0.8f) +- ); ++ activity.runOnUiThread(() -> view.player.setVolume(view.audioVolume * 0.8f)); + } + } else if (focusChange == AudioManager.AUDIOFOCUS_GAIN) { + // Raise it back to normal + if (!view.muted) { +- activity.runOnUiThread(() -> +- view.player.setVolume(view.audioVolume * 1) +- ); ++ activity.runOnUiThread(() -> view.player.setVolume(view.audioVolume * 1)); + } + } + } +@@ -1356,7 +1379,8 @@ public class ReactExoplayerView extends FrameLayout implements + /** + * Returns a new DataSource factory. + * +- * @param useBandwidthMeter Whether to set {@link #bandwidthMeter} as a listener to the new ++ * @param useBandwidthMeter Whether to set {@link #bandwidthMeter} as a listener ++ * to the new + * DataSource factory. + * @return A new DataSource factory. + */ +@@ -1368,12 +1392,14 @@ public class ReactExoplayerView extends FrameLayout implements + /** + * Returns a new HttpDataSource factory. + * +- * @param useBandwidthMeter Whether to set {@link #bandwidthMeter} as a listener to the new +- * DataSource factory. ++ * @param useBandwidthMeter Whether to set {@link #bandwidthMeter} as a listener ++ * to the new ++ * DataSource factory. + * @return A new HttpDataSource factory. + */ + private HttpDataSource.Factory buildHttpDataSourceFactory(boolean useBandwidthMeter) { +- return DataSourceUtil.getDefaultHttpDataSourceFactory(this.themedReactContext, useBandwidthMeter ? bandwidthMeter : null, source.getHeaders()); ++ return DataSourceUtil.getDefaultHttpDataSourceFactory(this.themedReactContext, ++ useBandwidthMeter ? bandwidthMeter : null, source.getHeaders()); + } + + // AudioBecomingNoisyListener implementation +@@ -1390,11 +1416,13 @@ public class ReactExoplayerView extends FrameLayout implements + + @Override + public void onEvents(@NonNull Player player, Player.Events events) { +- if (events.contains(Player.EVENT_PLAYBACK_STATE_CHANGED) || events.contains(Player.EVENT_PLAY_WHEN_READY_CHANGED)) { ++ if (events.contains(Player.EVENT_PLAYBACK_STATE_CHANGED) ++ || events.contains(Player.EVENT_PLAY_WHEN_READY_CHANGED)) { + int playbackState = player.getPlaybackState(); + boolean playWhenReady = player.getPlayWhenReady(); + String text = "onStateChanged: playWhenReady=" + playWhenReady + ", playbackState="; +- eventEmitter.onPlaybackRateChange.invoke(playWhenReady && playbackState == ExoPlayer.STATE_READY ? 1.0f : 0.0f); ++ eventEmitter.onPlaybackRateChange ++ .invoke(playWhenReady && playbackState == ExoPlayer.STATE_READY ? 1.0f : 0.0f); + switch (playbackState) { + case Player.STATE_IDLE: + text += "idle"; +@@ -1451,9 +1479,11 @@ public class ReactExoplayerView extends FrameLayout implements + } + + /** +- * The progress message handler will duplicate recursions of the onProgressMessage handler +- * on change of player state from any state to STATE_READY with playWhenReady is true (when +- * the video is not paused). This clears all existing messages. ++ * The progress message handler will duplicate recursions of the ++ * onProgressMessage handler ++ * on change of player state from any state to STATE_READY with playWhenReady is ++ * true (when ++ * the video is not paused). This clears all existing messages. + */ + private void clearProgressMessageHandler() { + progressHandler.removeMessages(SHOW_PROGRESS); +@@ -1472,7 +1502,8 @@ public class ReactExoplayerView extends FrameLayout implements + setSelectedTextTrack(textTrackType, textTrackValue); + } + Format videoFormat = player.getVideoFormat(); +- boolean isRotatedContent = videoFormat != null && (videoFormat.rotationDegrees == 90 || videoFormat.rotationDegrees == 270); ++ boolean isRotatedContent = videoFormat != null ++ && (videoFormat.rotationDegrees == 90 || videoFormat.rotationDegrees == 270); + int width = videoFormat != null ? (isRotatedContent ? videoFormat.height : videoFormat.width) : 0; + int height = videoFormat != null ? (isRotatedContent ? videoFormat.width : videoFormat.height) : 0; + String trackId = videoFormat != null ? videoFormat.id : null; +@@ -1481,18 +1512,19 @@ public class ReactExoplayerView extends FrameLayout implements + long duration = player.getDuration(); + long currentPosition = player.getCurrentPosition(); + ArrayList audioTracks = getAudioTrackInfo(); +- ArrayList textTracks = getTextTrackInfo(); ++ ArrayList textTracks = getTextTrackInfo(); + + if (source.getContentStartTime() != -1) { + ExecutorService es = Executors.newSingleThreadExecutor(); + es.execute(() -> { +- // To prevent ANRs caused by getVideoTrackInfo we run this on a different thread and notify the player only when we're done ++ // To prevent ANRs caused by getVideoTrackInfo we run this on a different thread ++ // and notify the player only when we're done + ArrayList videoTracks = getVideoTrackInfoFromManifest(); + if (videoTracks != null) { + isUsingContentResolution = true; + } + eventEmitter.onVideoLoad.invoke(duration, currentPosition, width, height, +- audioTracks, textTracks, videoTracks, trackId ); ++ audioTracks, textTracks, videoTracks, trackId); + + updateSubtitleButtonVisibility(); + }); +@@ -1510,9 +1542,9 @@ public class ReactExoplayerView extends FrameLayout implements + } + + private static boolean isTrackSelected(TrackSelection selection, TrackGroup group, +- int trackIndex){ ++ int trackIndex) { + return selection != null && selection.getTrackGroup() == group +- && selection.indexOf( trackIndex ) != C.INDEX_UNSET; ++ && selection.indexOf(trackIndex) != C.INDEX_UNSET; + } + + private ArrayList getAudioTrackInfo() { +@@ -1530,7 +1562,6 @@ public class ReactExoplayerView extends FrameLayout implements + TrackSelectionArray selectionArray = player.getCurrentTrackSelections(); + TrackSelection selection = selectionArray.get(C.TRACK_TYPE_AUDIO); + +- + for (int groupIndex = 0; groupIndex < groups.length; ++groupIndex) { + TrackGroup group = groups.get(groupIndex); + Format format = group.getFormat(0); +@@ -1556,7 +1587,8 @@ public class ReactExoplayerView extends FrameLayout implements + videoTrack.setHeight(format.height == Format.NO_VALUE ? 0 : format.height); + videoTrack.setBitrate(format.bitrate == Format.NO_VALUE ? 0 : format.bitrate); + videoTrack.setRotation(format.rotationDegrees); +- if (format.codecs != null) videoTrack.setCodecs(format.codecs); ++ if (format.codecs != null) ++ videoTrack.setCodecs(format.codecs); + videoTrack.setTrackId(format.id == null ? String.valueOf(trackIndex) : format.id); + videoTrack.setIndex(trackIndex); + return videoTrack; +@@ -1593,7 +1625,8 @@ public class ReactExoplayerView extends FrameLayout implements + return this.getVideoTrackInfoFromManifest(0); + } + +- // We need retry count to in case where minefest request fails from poor network conditions ++ // We need retry count to in case where minefest request fails from poor network ++ // conditions + @WorkerThread + private ArrayList getVideoTrackInfoFromManifest(int retryCount) { + ExecutorService es = Executors.newSingleThreadExecutor(); +@@ -1608,18 +1641,20 @@ public class ReactExoplayerView extends FrameLayout implements + + public ArrayList call() { + ArrayList videoTracks = new ArrayList<>(); +- try { ++ try { + DashManifest manifest = DashUtil.loadManifest(this.ds, this.uri); + int periodCount = manifest.getPeriodCount(); + for (int i = 0; i < periodCount; i++) { + Period period = manifest.getPeriod(i); +- for (int adaptationIndex = 0; adaptationIndex < period.adaptationSets.size(); adaptationIndex++) { ++ for (int adaptationIndex = 0; adaptationIndex < period.adaptationSets ++ .size(); adaptationIndex++) { + AdaptationSet adaptation = period.adaptationSets.get(adaptationIndex); + if (adaptation.type != C.TRACK_TYPE_VIDEO) { + continue; + } + boolean hasFoundContentPeriod = false; +- for (int representationIndex = 0; representationIndex < adaptation.representations.size(); representationIndex++) { ++ for (int representationIndex = 0; representationIndex < adaptation.representations ++ .size(); representationIndex++) { + Representation representation = adaptation.representations.get(representationIndex); + Format format = representation.format; + if (isFormatSupported(format)) { +@@ -1627,7 +1662,8 @@ public class ReactExoplayerView extends FrameLayout implements + break; + } + hasFoundContentPeriod = true; +- VideoTrack videoTrack = exoplayerVideoTrackToGenericVideoTrack(format, representationIndex); ++ VideoTrack videoTrack = exoplayerVideoTrackToGenericVideoTrack(format, ++ representationIndex); + videoTracks.add(videoTrack); + } + } +@@ -1657,12 +1693,16 @@ public class ReactExoplayerView extends FrameLayout implements + return null; + } + +- private Track exoplayerTrackToGenericTrack(Format format, int trackIndex, TrackSelection selection, TrackGroup group) { ++ private Track exoplayerTrackToGenericTrack(Format format, int trackIndex, TrackSelection selection, ++ TrackGroup group) { + Track track = new Track(); + track.setIndex(trackIndex); +- if (format.sampleMimeType != null) track.setMimeType(format.sampleMimeType); +- if (format.language != null) track.setLanguage(format.language); +- if (format.label != null) track.setTitle(format.label); ++ if (format.sampleMimeType != null) ++ track.setMimeType(format.sampleMimeType); ++ if (format.language != null) ++ track.setLanguage(format.language); ++ if (format.label != null) ++ track.setTitle(format.label); + track.setSelected(isTrackSelected(selection, group, trackIndex)); + return track; + } +@@ -1732,7 +1772,8 @@ public class ReactExoplayerView extends FrameLayout implements + track.setLanguage(format.language != null ? format.language : "unknown"); + track.setTitle(format.label != null ? format.label : "Track " + (groupIndex + 1)); + track.setSelected(false); // Don't report selection status - let PlayerView handle it +- if (format.sampleMimeType != null) track.setMimeType(format.sampleMimeType); ++ if (format.sampleMimeType != null) ++ track.setMimeType(format.sampleMimeType); + track.setBitrate(format.bitrate == Format.NO_VALUE ? 0 : format.bitrate); + + tracks.add(track); +@@ -1763,8 +1804,10 @@ public class ReactExoplayerView extends FrameLayout implements + + Track textTrack = new Track(); + textTrack.setIndex(textTracks.size()); +- if (format.sampleMimeType != null) textTrack.setMimeType(format.sampleMimeType); +- if (format.language != null) textTrack.setLanguage(format.language); ++ if (format.sampleMimeType != null) ++ textTrack.setMimeType(format.sampleMimeType); ++ if (format.language != null) ++ textTrack.setLanguage(format.language); + + boolean isExternal = format.id != null && format.id.startsWith("external-subtitle-"); + +@@ -1798,28 +1841,34 @@ public class ReactExoplayerView extends FrameLayout implements + } + + @Override +- public void onPositionDiscontinuity(@NonNull Player.PositionInfo oldPosition, @NonNull Player.PositionInfo newPosition, @Player.DiscontinuityReason int reason) { ++ public void onPositionDiscontinuity(@NonNull Player.PositionInfo oldPosition, ++ @NonNull Player.PositionInfo newPosition, @Player.DiscontinuityReason int reason) { + if (reason == Player.DISCONTINUITY_REASON_SEEK) { + isSeeking = true; + seekPosition = newPosition.positionMs; + if (isUsingContentResolution) { +- // We need to update the selected track to make sure that it still matches user selection if track list has changed in this period ++ // We need to update the selected track to make sure that it still matches user ++ // selection if track list has changed in this period + setSelectedTrack(C.TRACK_TYPE_VIDEO, videoTrackType, videoTrackValue); + } + } + + if (playerNeedsSource) { +- // This will only occur if the user has performed a seek whilst in the error state. Update the +- // resume position so that if the user then retries, playback will resume from the position to ++ // This will only occur if the user has performed a seek whilst in the error ++ // state. Update the ++ // resume position so that if the user then retries, playback will resume from ++ // the position to + // which they seeked. + updateResumePosition(); + } + if (isUsingContentResolution) { +- // Discontinuity events might have a different track list so we update the selected track ++ // Discontinuity events might have a different track list so we update the ++ // selected track + setSelectedTrack(C.TRACK_TYPE_VIDEO, videoTrackType, videoTrackValue); + selectTrackWhenReady = true; + } +- // When repeat is turned on, reaching the end of the video will not cause a state change ++ // When repeat is turned on, reaching the end of the video will not cause a ++ // state change + // so we need to explicitly detect it. + if (reason == Player.DISCONTINUITY_REASON_AUTO_TRANSITION + && player.getRepeatMode() == Player.REPEAT_MODE_ONE) { +@@ -1867,15 +1916,17 @@ public class ReactExoplayerView extends FrameLayout implements + updateSubtitleButtonVisibility(); + } + +- + private boolean hasBuiltInTextTracks() { +- if (player == null || trackSelector == null) return false; ++ if (player == null || trackSelector == null) ++ return false; + + MappingTrackSelector.MappedTrackInfo info = trackSelector.getCurrentMappedTrackInfo(); +- if (info == null) return false; ++ if (info == null) ++ return false; + + int textRendererIndex = getTrackRendererIndex(C.TRACK_TYPE_TEXT); +- if (textRendererIndex == C.INDEX_UNSET) return false; ++ if (textRendererIndex == C.INDEX_UNSET) ++ return false; + + TrackGroupArray groups = info.getTrackGroups(textRendererIndex); + +@@ -1895,11 +1946,12 @@ public class ReactExoplayerView extends FrameLayout implements + } + + private void updateSubtitleButtonVisibility() { +- if (exoPlayerView == null) return; ++ if (exoPlayerView == null) ++ return; + + boolean hasTextTracks = (source.getSideLoadedTextTracks() != null && +- !source.getSideLoadedTextTracks().getTracks().isEmpty()) || +- hasBuiltInTextTracks(); ++ !source.getSideLoadedTextTracks().getTracks().isEmpty()) || ++ hasBuiltInTextTracks(); + + exoPlayerView.setShowSubtitleButton(hasTextTracks); + } +@@ -1919,7 +1971,8 @@ public class ReactExoplayerView extends FrameLayout implements + if (isPlaying && isSeeking) { + eventEmitter.onVideoSeek.invoke(player.getCurrentPosition(), seekPosition); + } +- PictureInPictureUtil.applyPlayingStatus(themedReactContext, pictureInPictureParamsBuilder, pictureInPictureReceiver, !isPlaying); ++ PictureInPictureUtil.applyPlayingStatus(themedReactContext, pictureInPictureParamsBuilder, ++ pictureInPictureReceiver, !isPlaying); + eventEmitter.onVideoPlaybackStateChanged.invoke(isPlaying, isSeeking); + + if (isPlaying) { +@@ -1931,14 +1984,15 @@ public class ReactExoplayerView extends FrameLayout implements + public void onPlayerError(@NonNull PlaybackException e) { + String errorString = "ExoPlaybackException: " + PlaybackException.getErrorCodeName(e.errorCode); + String errorCode = "2" + e.errorCode; +- switch(e.errorCode) { ++ switch (e.errorCode) { + case PlaybackException.ERROR_CODE_DRM_DEVICE_REVOKED: + case PlaybackException.ERROR_CODE_DRM_LICENSE_ACQUISITION_FAILED: + case PlaybackException.ERROR_CODE_DRM_PROVISIONING_FAILED: + case PlaybackException.ERROR_CODE_DRM_SYSTEM_ERROR: + case PlaybackException.ERROR_CODE_DRM_UNSPECIFIED: + if (!hasDrmFailed) { +- // When DRM fails to reach the app level certificate server it will fail with a source error so we assume that it is DRM related and try one more time ++ // When DRM fails to reach the app level certificate server it will fail with a ++ // source error so we assume that it is DRM related and try one more time + hasDrmFailed = true; + playerNeedsSource = true; + updateResumePosition(); +@@ -2020,14 +2074,16 @@ public class ReactExoplayerView extends FrameLayout implements + boolean isSourceEqual = source.isEquals(this.source); + hasDrmFailed = false; + this.source = source; +- final DataSource.Factory tmpMediaDataSourceFactory = +- DataSourceUtil.getDefaultDataSourceFactory(this.themedReactContext, bandwidthMeter, +- source.getHeaders()); ++ final DataSource.Factory tmpMediaDataSourceFactory = DataSourceUtil.getDefaultDataSourceFactory( ++ this.themedReactContext, bandwidthMeter, ++ source.getHeaders()); + + @Nullable +- final DataSource.Factory overriddenMediaDataSourceFactory = ReactNativeVideoManager.Companion.getInstance().overrideMediaDataSourceFactory(source, tmpMediaDataSourceFactory); ++ final DataSource.Factory overriddenMediaDataSourceFactory = ReactNativeVideoManager.Companion.getInstance() ++ .overrideMediaDataSourceFactory(source, tmpMediaDataSourceFactory); + +- this.mediaDataSourceFactory = Objects.requireNonNullElse(overriddenMediaDataSourceFactory, tmpMediaDataSourceFactory); ++ this.mediaDataSourceFactory = Objects.requireNonNullElse(overriddenMediaDataSourceFactory, ++ tmpMediaDataSourceFactory); + + if (source.getCmcdProps() != null) { + CMCDConfig cmcdConfig = new CMCDConfig(source.getCmcdProps()); +@@ -2046,6 +2102,7 @@ public class ReactExoplayerView extends FrameLayout implements + clearSrc(); + } + } ++ + public void clearSrc() { + if (source.getUri() != null) { + if (player != null) { +@@ -2094,7 +2151,8 @@ public class ReactExoplayerView extends FrameLayout implements + } + + public void disableTrack(int rendererIndex) { +- if (trackSelector == null) return; ++ if (trackSelector == null) ++ return; + + DefaultTrackSelector.Parameters disableParameters = trackSelector.getParameters() + .buildUpon() +@@ -2104,7 +2162,8 @@ public class ReactExoplayerView extends FrameLayout implements + } + + private void selectTextTrackInternal(String type, String value) { +- if (player == null || trackSelector == null) return; ++ if (player == null || trackSelector == null) ++ return; + + DebugLog.d(TAG, "selectTextTrackInternal: type=" + type + ", value=" + value); + +@@ -2123,6 +2182,7 @@ public class ReactExoplayerView extends FrameLayout implements + if (textRendererIndex != C.INDEX_UNSET) { + TrackGroupArray groups = info.getTrackGroups(textRendererIndex); + boolean trackFound = false; ++ int cumulativeIndex = 0; // Track cumulative index across all groups + + for (int groupIndex = 0; groupIndex < groups.length; groupIndex++) { + TrackGroup group = groups.get(groupIndex); +@@ -2136,25 +2196,28 @@ public class ReactExoplayerView extends FrameLayout implements + isMatch = true; + } else if ("index".equals(type)) { + int targetIndex = ReactBridgeUtils.safeParseInt(value, -1); +- if (targetIndex == trackIndex) { ++ // Use cumulative index to match getTextTrackInfo() behavior ++ if (targetIndex == cumulativeIndex) { + isMatch = true; + } + } + + if (isMatch) { + TrackSelectionOverride override = new TrackSelectionOverride(group, +- java.util.Arrays.asList(trackIndex)); ++ java.util.Arrays.asList(trackIndex)); + parametersBuilder.addOverride(override); + trackFound = true; + break; + } ++ cumulativeIndex++; // Increment after each track + } +- if (trackFound) break; ++ if (trackFound) ++ break; + } + + if (!trackFound) { + DebugLog.w(TAG, "Text track not found for type=" + type + ", value=" + value + +- ". Keeping current selection."); ++ ". Keeping current selection."); + } + } + } +@@ -2175,7 +2238,8 @@ public class ReactExoplayerView extends FrameLayout implements + } + + public void setSelectedTrack(int trackType, String type, String value) { +- if (player == null || trackSelector == null) return; ++ if (player == null || trackSelector == null) ++ return; + + if (controls) { + return; +@@ -2249,9 +2313,11 @@ public class ReactExoplayerView extends FrameLayout implements + usingExactMatch = true; + break; + } else if (isUsingContentResolution) { +- // When using content resolution rather than ads, we need to try and find the closest match if there is no exact match ++ // When using content resolution rather than ads, we need to try and find the ++ // closest match if there is no exact match + if (closestFormat != null) { +- if ((format.bitrate > closestFormat.bitrate || format.height > closestFormat.height) && format.height < height) { ++ if ((format.bitrate > closestFormat.bitrate || format.height > closestFormat.height) ++ && format.height < height) { + // Higher quality match + closestFormat = format; + closestTrackIndex = j; +@@ -2262,7 +2328,8 @@ public class ReactExoplayerView extends FrameLayout implements + } + } + } +- // This is a fallback if the new period contains only higher resolutions than the user has selected ++ // This is a fallback if the new period contains only higher resolutions than ++ // the user has selected + if (closestFormat == null && isUsingContentResolution && !usingExactMatch) { + // No close match found - so we pick the lowest quality + int minHeight = Integer.MAX_VALUE; +@@ -2285,8 +2352,8 @@ public class ReactExoplayerView extends FrameLayout implements + } + } else if (trackType == C.TRACK_TYPE_TEXT && Util.SDK_INT > 18) { // Text default + // Use system settings if possible +- CaptioningManager captioningManager +- = (CaptioningManager)themedReactContext.getSystemService(Context.CAPTIONING_SERVICE); ++ CaptioningManager captioningManager = (CaptioningManager) themedReactContext ++ .getSystemService(Context.CAPTIONING_SERVICE); + if (captioningManager != null && captioningManager.isEnabled()) { + groupIndex = getGroupIndexForDefaultLocale(groups); + } +@@ -2315,7 +2382,7 @@ public class ReactExoplayerView extends FrameLayout implements + // With only one tracks we can't remove any tracks so attempt to play it anyway + tracks = allTracks; + } else { +- tracks = new ArrayList<>(supportedFormatLength + 1); ++ tracks = new ArrayList<>(supportedFormatLength + 1); + for (int k = 0; k < allTracks.size(); k++) { + Format format = group.getFormat(k); + if (isFormatSupported(format)) { +@@ -2341,7 +2408,8 @@ public class ReactExoplayerView extends FrameLayout implements + .setRendererDisabled(rendererIndex, false); + + // Clear existing overrides for this track type to avoid conflicts +- // But be careful with audio tracks - don't clear unless explicitly selecting a different track ++ // But be careful with audio tracks - don't clear unless explicitly selecting a ++ // different track + if (trackType != C.TRACK_TYPE_AUDIO || !type.equals("default")) { + selectionParameters.clearOverridesOfType(selectionOverride.getType()); + } +@@ -2357,7 +2425,7 @@ public class ReactExoplayerView extends FrameLayout implements + selectionParameters.setForceHighestSupportedBitrate(false); + selectionParameters.setForceLowestBitrate(false); + DebugLog.d(TAG, "Audio track selection: group=" + groupIndex + ", tracks=" + tracks + +- ", override=" + selectionOverride); ++ ", override=" + selectionOverride); + } + + trackSelector.setParameters(selectionParameters.build()); +@@ -2388,7 +2456,7 @@ public class ReactExoplayerView extends FrameLayout implements + } + + private int getGroupIndexForDefaultLocale(TrackGroupArray groups) { +- if (groups.length == 0){ ++ if (groups.length == 0) { + return C.INDEX_UNSET; + } + +@@ -2409,7 +2477,8 @@ public class ReactExoplayerView extends FrameLayout implements + public void setSelectedVideoTrack(String type, String value) { + videoTrackType = type; + videoTrackValue = value; +- if (!loadVideoStarted) setSelectedTrack(C.TRACK_TYPE_VIDEO, videoTrackType, videoTrackValue); ++ if (!loadVideoStarted) ++ setSelectedTrack(C.TRACK_TYPE_VIDEO, videoTrackType, videoTrackValue); + } + + public void setSelectedAudioTrack(String type, String value) { +@@ -2440,9 +2509,11 @@ public class ReactExoplayerView extends FrameLayout implements + } + + public void setEnterPictureInPictureOnLeave(boolean enterPictureInPictureOnLeave) { +- this.enterPictureInPictureOnLeave = Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && enterPictureInPictureOnLeave; ++ this.enterPictureInPictureOnLeave = Build.VERSION.SDK_INT >= Build.VERSION_CODES.N ++ && enterPictureInPictureOnLeave; + if (player != null) { +- PictureInPictureUtil.applyAutoEnterEnabled(themedReactContext, pictureInPictureParamsBuilder, this.enterPictureInPictureOnLeave); ++ PictureInPictureUtil.applyAutoEnterEnabled(themedReactContext, pictureInPictureParamsBuilder, ++ this.enterPictureInPictureOnLeave); + } + } + +@@ -2450,12 +2521,14 @@ public class ReactExoplayerView extends FrameLayout implements + eventEmitter.onPictureInPictureStatusChanged.invoke(isInPictureInPicture); + + if (fullScreenPlayerView != null && fullScreenPlayerView.isShowing()) { +- if (isInPictureInPicture) fullScreenPlayerView.hideWithoutPlayer(); ++ if (isInPictureInPicture) ++ fullScreenPlayerView.hideWithoutPlayer(); + return; + } + + Activity currentActivity = themedReactContext.getCurrentActivity(); +- if (currentActivity == null) return; ++ if (currentActivity == null) ++ return; + + View decorView = currentActivity.getWindow().getDecorView(); + ViewGroup rootView = decorView.findViewById(android.R.id.content); +@@ -2465,7 +2538,7 @@ public class ReactExoplayerView extends FrameLayout implements + LayoutParams.MATCH_PARENT); + + if (isInPictureInPicture) { +- ViewGroup parent = (ViewGroup)exoPlayerView.getParent(); ++ ViewGroup parent = (ViewGroup) exoPlayerView.getParent(); + if (parent != null) { + parent.removeView(exoPlayerView); + } +@@ -2491,10 +2564,12 @@ public class ReactExoplayerView extends FrameLayout implements + public void enterPictureInPictureMode() { + PictureInPictureParams _pipParams = null; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { +- ArrayList actions = PictureInPictureUtil.getPictureInPictureActions(themedReactContext, isPaused, pictureInPictureReceiver); ++ ArrayList actions = PictureInPictureUtil.getPictureInPictureActions(themedReactContext, ++ isPaused, pictureInPictureReceiver); + pictureInPictureParamsBuilder.setActions(actions); + if (player.getPlaybackState() == Player.STATE_READY) { +- pictureInPictureParamsBuilder.setAspectRatio(PictureInPictureUtil.calcPictureInPictureAspectRatio(player)); ++ pictureInPictureParamsBuilder ++ .setAspectRatio(PictureInPictureUtil.calcPictureInPictureAspectRatio(player)); + } + _pipParams = pictureInPictureParamsBuilder.build(); + } +@@ -2503,13 +2578,15 @@ public class ReactExoplayerView extends FrameLayout implements + + public void exitPictureInPictureMode() { + Activity currentActivity = themedReactContext.getCurrentActivity(); +- if (currentActivity == null) return; ++ if (currentActivity == null) ++ return; + + View decorView = currentActivity.getWindow().getDecorView(); + ViewGroup rootView = decorView.findViewById(android.R.id.content); + + if (!rootViewChildrenOriginalVisibility.isEmpty()) { +- if (exoPlayerView.getParent().equals(rootView)) rootView.removeView(exoPlayerView); ++ if (exoPlayerView.getParent().equals(rootView)) ++ rootView.removeView(exoPlayerView); + for (int i = 0; i < rootView.getChildCount(); i++) { + rootView.getChildAt(i).setVisibility(rootViewChildrenOriginalVisibility.get(i)); + } +@@ -2607,7 +2684,7 @@ public class ReactExoplayerView extends FrameLayout implements + + if (playbackServiceConnection == null && showNotificationControls) { + setupPlaybackService(); +- } else if(!showNotificationControls && playbackServiceConnection != null) { ++ } else if (!showNotificationControls && playbackServiceConnection != null) { + cleanupPlaybackService(); + } + } +@@ -2636,12 +2713,13 @@ public class ReactExoplayerView extends FrameLayout implements + } + + if (isFullscreen) { +- fullScreenPlayerView = new FullScreenPlayerView(getContext(), exoPlayerView, this, null, new OnBackPressedCallback(true) { +- @Override +- public void handleOnBackPressed() { +- setFullscreen(false); +- } +- }, controlsConfig); ++ fullScreenPlayerView = new FullScreenPlayerView(getContext(), exoPlayerView, this, null, ++ new OnBackPressedCallback(true) { ++ @Override ++ public void handleOnBackPressed() { ++ setFullscreen(false); ++ } ++ }, controlsConfig); + eventEmitter.onVideoFullscreenPlayerWillPresent.invoke(); + if (fullScreenPlayerView != null) { + fullScreenPlayerView.show(); +@@ -2678,7 +2756,8 @@ public class ReactExoplayerView extends FrameLayout implements + } + + @Override +- public void onDrmSessionManagerError(int windowIndex, MediaSource.MediaPeriodId mediaPeriodId, @NonNull Exception e) { ++ public void onDrmSessionManagerError(int windowIndex, MediaSource.MediaPeriodId mediaPeriodId, ++ @NonNull Exception e) { + DebugLog.d("DRM Info", "onDrmSessionManagerError"); + eventEmitter.onVideoError.invoke("onDrmSessionManagerError", e, "3002"); + } +@@ -2696,7 +2775,7 @@ public class ReactExoplayerView extends FrameLayout implements + /** + * Handling controls prop + * +- * @param controls Controls prop, if true enable controls, if false disable them ++ * @param controls Controls prop, if true enable controls, if false disable them + */ + public void setControls(boolean controls) { + this.controls = controls; +@@ -2705,7 +2784,7 @@ public class ReactExoplayerView extends FrameLayout implements + // Additional configuration for proper touch handling + if (controls) { + exoPlayerView.setControllerAutoShow(true); +- exoPlayerView.setControllerHideOnTouch(true); // Show controls on touch, don't hide ++ exoPlayerView.setControllerHideOnTouch(true); // Show controls on touch, don't hide + exoPlayerView.setControllerShowTimeoutMs(5000); + } + } +@@ -2738,8 +2817,7 @@ public class ReactExoplayerView extends FrameLayout implements + Map errMap = Map.of( + "message", error.getMessage(), + "code", String.valueOf(error.getErrorCode()), +- "type", String.valueOf(error.getErrorType()) +- ); ++ "type", String.valueOf(error.getErrorType())); + eventEmitter.onReceiveAdEvent.invoke("ERROR", errMap); + } + diff --git a/src/components/player/AndroidVideoPlayer.tsx b/src/components/player/AndroidVideoPlayer.tsx index ae06204..f5fb9a7 100644 --- a/src/components/player/AndroidVideoPlayer.tsx +++ b/src/components/player/AndroidVideoPlayer.tsx @@ -1,5 +1,5 @@ import React, { useRef, useEffect, useMemo, useCallback, useState } from 'react'; -import { View, StyleSheet, Platform, Animated } from 'react-native'; +import { View, StyleSheet, Platform, Animated, ToastAndroid } from 'react-native'; import { toast } from '@backpackapp-io/react-native-toast'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { useNavigation, useRoute, RouteProp } from '@react-navigation/native'; @@ -78,6 +78,7 @@ const AndroidVideoPlayer: React.FC = () => { const videoRef = useRef(null); const mpvPlayerRef = useRef(null); + const exoPlayerRef = useRef(null); const pinchRef = useRef(null); const tracksHook = usePlayerTracks(); @@ -92,6 +93,10 @@ const AndroidVideoPlayer: React.FC = () => { // State to force unmount VideoSurface during stream transitions const [isTransitioningStream, setIsTransitioningStream] = useState(false); + // Dual video engine state: ExoPlayer primary, MPV fallback + const [useExoPlayer, setUseExoPlayer] = useState(true); + const hasExoPlayerFailed = useRef(false); + // Subtitle addon state const [availableSubtitles, setAvailableSubtitles] = useState([]); const [isLoadingSubtitleList, setIsLoadingSubtitleList] = useState(false); @@ -131,7 +136,9 @@ const AndroidVideoPlayer: React.FC = () => { playerState.currentTime, playerState.duration, playerState.isSeeking, - playerState.isMounted + playerState.isMounted, + exoPlayerRef, + useExoPlayer ); const traktAutosync = useTraktAutosync({ @@ -327,6 +334,16 @@ const AndroidVideoPlayer: React.FC = () => { else navigation.reset({ index: 0, routes: [{ name: 'Home' }] } as any); }, [navigation]); + // Handle codec errors from ExoPlayer - silently switch to MPV + const handleCodecError = useCallback(() => { + if (!hasExoPlayerFailed.current) { + hasExoPlayerFailed.current = true; + logger.warn('[AndroidVideoPlayer] ExoPlayer codec error detected, switching to MPV silently'); + ToastAndroid.show('Switching to MPV due to unsupported codec', ToastAndroid.SHORT); + setUseExoPlayer(false); + } + }, []); + const handleSelectStream = async (newStream: any) => { if (newStream.url === currentStreamUrl) { modals.setShowSourcesModal(false); @@ -485,6 +502,13 @@ const AndroidVideoPlayer: React.FC = () => { else playerState.setResizeMode('contain'); }, [playerState.resizeMode]); + // Memoize selectedTextTrack to prevent unnecessary re-renders + const memoizedSelectedTextTrack = useMemo(() => { + return tracksHook.selectedTextTrack === -1 + ? { type: 'disabled' as const } + : { type: 'index' as const, value: tracksHook.selectedTextTrack }; + }, [tracksHook.selectedTextTrack]); + return ( { } }} mpvPlayerRef={mpvPlayerRef} + exoPlayerRef={exoPlayerRef} pinchRef={pinchRef} onPinchGestureEvent={() => { }} onPinchHandlerStateChange={() => { }} screenDimensions={playerState.screenDimensions} decoderMode={settings.decoderMode} gpuMode={settings.gpuMode} + // Dual video engine props + useExoPlayer={useExoPlayer} + onCodecError={handleCodecError} + selectedAudioTrack={tracksHook.selectedAudioTrack as any || undefined} + selectedTextTrack={memoizedSelectedTextTrack as any} // Subtitle Styling - pass to MPV for built-in subtitle customization // MPV uses different scaling than React Native, so we apply conversion factors: // - Font size: MPV needs ~1.5x larger values (MPV's sub-font-size vs RN fontSize) @@ -669,7 +699,7 @@ const AndroidVideoPlayer: React.FC = () => { }} buffered={playerState.buffered} formatTime={formatTime} - playerBackend={'MPV'} + playerBackend={useExoPlayer ? 'ExoPlayer' : 'MPV'} /> { selectedTextTrack={tracksHook.computedSelectedTextTrack} useCustomSubtitles={useCustomSubtitles} isKsPlayerActive={true} + useExoPlayer={useExoPlayer} subtitleSize={subtitleSize} subtitleBackground={subtitleBackground} fetchAvailableSubtitles={fetchAvailableSubtitles} loadWyzieSubtitle={loadWyzieSubtitle} selectTextTrack={(trackId) => { tracksHook.setSelectedTextTrack(trackId); - // Actually tell MPV to switch the subtitle track - if (mpvPlayerRef.current) { + // For MPV, manually switch the subtitle track + if (!useExoPlayer && mpvPlayerRef.current) { mpvPlayerRef.current.setSubtitleTrack(trackId); } + // For ExoPlayer, the selectedTextTrack prop will be updated via memoizedSelectedTextTrack + // which triggers a re-render with the new track selection // Disable custom subtitles when selecting built-in track setUseCustomSubtitles(false); modals.setShowSubtitleModal(false); diff --git a/src/components/player/android/components/VideoSurface.tsx b/src/components/player/android/components/VideoSurface.tsx index 3692a2d..3462b88 100644 --- a/src/components/player/android/components/VideoSurface.tsx +++ b/src/components/player/android/components/VideoSurface.tsx @@ -1,9 +1,35 @@ -import React, { useCallback, memo } from 'react'; +import React, { useCallback, useRef, forwardRef, useImperativeHandle } from 'react'; import { View, TouchableWithoutFeedback, StyleSheet } from 'react-native'; import { PinchGestureHandler } from 'react-native-gesture-handler'; +import Video, { VideoRef, SelectedTrack, SelectedVideoTrack, ResizeMode } from 'react-native-video'; import MpvPlayer, { MpvPlayerRef } from '../MpvPlayer'; import { styles } from '../../utils/playerStyles'; import { ResizeModeType } from '../../utils/playerTypes'; +import { logger } from '../../../../utils/logger'; + +// Codec error patterns that indicate we should fallback to MPV +const CODEC_ERROR_PATTERNS = [ + 'exceeds_capabilities', + 'no_exceeds_capabilities', + 'decoder_exception', + 'decoder.*error', + 'codec.*error', + 'unsupported.*codec', + 'mediacodec.*exception', + 'omx.*error', + 'dolby.*vision', + 'hevc.*error', + 'no suitable decoder', + 'decoder initialization failed', + 'format.no_decoder', + 'no_decoder', + 'decoding_failed', + 'error_code_decoding', + 'exoplaybackexception', + 'mediacodecvideodecoder', + 'mediacodecvideodecoderexception', + 'decoder failed', +]; interface VideoSurfaceProps { processedStreamUrl: string; @@ -25,6 +51,7 @@ interface VideoSurfaceProps { // Refs mpvPlayerRef?: React.RefObject; + exoPlayerRef?: React.RefObject; pinchRef: any; // Handlers @@ -32,8 +59,16 @@ interface VideoSurfaceProps { onPinchHandlerStateChange: any; screenDimensions: { width: number, height: number }; onTracksChanged?: (data: { audioTracks: any[]; subtitleTracks: any[] }) => void; + selectedAudioTrack?: SelectedTrack; + selectedTextTrack?: SelectedTrack; decoderMode?: 'auto' | 'sw' | 'hw' | 'hw+'; gpuMode?: 'gpu' | 'gpu-next'; + + // Dual Engine Props + useExoPlayer?: boolean; + onCodecError?: () => void; + onEngineChange?: (engine: 'exoplayer' | 'mpv') => void; + // Subtitle Styling subtitleSize?: number; subtitleColor?: string; @@ -46,6 +81,15 @@ interface VideoSurfaceProps { subtitleAlignment?: 'left' | 'center' | 'right'; } +// Helper function to check if error is a codec error +const isCodecError = (errorString: string): boolean => { + const lowerError = errorString.toLowerCase(); + return CODEC_ERROR_PATTERNS.some(pattern => { + const regex = new RegExp(pattern, 'i'); + return regex.test(lowerError); + }); +}; + export const VideoSurface: React.FC = ({ processedStreamUrl, headers, @@ -62,13 +106,20 @@ export const VideoSurface: React.FC = ({ onError, onBuffer, mpvPlayerRef, + exoPlayerRef, pinchRef, onPinchGestureEvent, onPinchHandlerStateChange, screenDimensions, onTracksChanged, + selectedAudioTrack, + selectedTextTrack, decoderMode, gpuMode, + // Dual Engine + useExoPlayer = true, + onCodecError, + onEngineChange, // Subtitle Styling subtitleSize, subtitleColor, @@ -83,10 +134,9 @@ export const VideoSurface: React.FC = ({ // Use the actual stream URL const streamUrl = currentStreamUrl || processedStreamUrl; - // Debug logging removed to prevent console spam - - const handleLoad = (data: { duration: number; width: number; height: number }) => { - console.log('[VideoSurface] onLoad received:', data); + // ========== MPV Handlers ========== + const handleMpvLoad = (data: { duration: number; width: number; height: number }) => { + console.log('[VideoSurface] MPV onLoad received:', data); onLoad({ duration: data.duration, naturalSize: { @@ -96,15 +146,15 @@ export const VideoSurface: React.FC = ({ }); }; - const handleProgress = (data: { currentTime: number; duration: number }) => { + const handleMpvProgress = (data: { currentTime: number; duration: number }) => { onProgress({ currentTime: data.currentTime, playableDuration: data.currentTime, }); }; - const handleError = (error: { error: string }) => { - console.log('[VideoSurface] onError received:', error); + const handleMpvError = (error: { error: string }) => { + console.log('[VideoSurface] MPV onError received:', error); onError({ error: { errorString: error.error, @@ -112,44 +162,204 @@ export const VideoSurface: React.FC = ({ }); }; - const handleEnd = () => { - console.log('[VideoSurface] onEnd received'); + const handleMpvEnd = () => { + console.log('[VideoSurface] MPV onEnd received'); onEnd(); }; + // ========== ExoPlayer Handlers ========== + const handleExoLoad = (data: any) => { + console.log('[VideoSurface] ExoPlayer onLoad received:', data); + console.log('[VideoSurface] ExoPlayer textTracks raw:', JSON.stringify(data.textTracks, null, 2)); + + // Extract track information + const audioTracks = data.audioTracks?.map((t: any, i: number) => ({ + id: t.index ?? i, + name: t.title || t.language || `Track ${i + 1}`, + language: t.language, + })) ?? []; + + const subtitleTracks = data.textTracks?.map((t: any, i: number) => { + const track = { + id: t.index ?? i, + name: t.title || t.language || `Track ${i + 1}`, + language: t.language, + }; + console.log('[VideoSurface] Mapped subtitle track:', track, 'original:', t); + return track; + }) ?? []; + + if (onTracksChanged && (audioTracks.length > 0 || subtitleTracks.length > 0)) { + onTracksChanged({ audioTracks, subtitleTracks }); + } + + onLoad({ + duration: data.duration, + naturalSize: data.naturalSize || { width: 1920, height: 1080 }, + audioTracks: data.audioTracks, + textTracks: data.textTracks, + }); + }; + + const handleExoProgress = (data: any) => { + onProgress({ + currentTime: data.currentTime, + playableDuration: data.playableDuration || data.currentTime, + }); + }; + + const handleExoError = (error: any) => { + console.log('[VideoSurface] ExoPlayer onError received:', JSON.stringify(error, null, 2)); + + // Extract error string - try multiple paths + let errorString = 'Unknown error'; + const errorParts: string[] = []; + + if (typeof error?.error === 'string') { + errorParts.push(error.error); + } + if (error?.error?.errorString) { + errorParts.push(error.error.errorString); + } + if (error?.error?.errorCode) { + errorParts.push(String(error.error.errorCode)); + } + if (typeof error === 'string') { + errorParts.push(error); + } + if (error?.nativeStackAndroid) { + errorParts.push(error.nativeStackAndroid.join(' ')); + } + if (error?.message) { + errorParts.push(error.message); + } + + // Combine all error parts for comprehensive checking + errorString = errorParts.length > 0 ? errorParts.join(' ') : JSON.stringify(error); + + console.log('[VideoSurface] Extracted error string:', errorString); + console.log('[VideoSurface] isCodecError result:', isCodecError(errorString)); + + // Check if this is a codec error that should trigger fallback + if (isCodecError(errorString)) { + logger.warn('[VideoSurface] ExoPlayer codec error detected, triggering MPV fallback:', errorString); + onCodecError?.(); + return; // Don't propagate codec errors - we're falling back silently + } + + // Non-codec errors should be propagated + onError({ + error: { + errorString: errorString, + }, + }); + }; + + const handleExoBuffer = (data: any) => { + onBuffer({ isBuffering: data.isBuffering }); + }; + + const handleExoEnd = () => { + console.log('[VideoSurface] ExoPlayer onEnd received'); + onEnd(); + }; + + const handleExoSeek = (data: any) => { + onSeek({ currentTime: data.currentTime }); + }; + + // Map ResizeModeType to react-native-video ResizeMode + const getExoResizeMode = (): ResizeMode => { + switch (resizeMode) { + case 'cover': + return ResizeMode.COVER; + case 'stretch': + return ResizeMode.STRETCH; + case 'contain': + default: + return ResizeMode.CONTAIN; + } + }; + return ( - {/* MPV Player - rendered at the bottom of the z-order */} - + {useExoPlayer ? ( + /* ExoPlayer via react-native-video */ + )} + {/* Timing Offset - Not supported on ExoPlayer internal subtitles */} + {!isExoPlayerInternal && ( Timing Offset (s) @@ -448,6 +469,7 @@ export const SubtitleModals: React.FC = ({ Nudge subtitles earlier (-) or later (+) to sync if needed. + )} {