react-native-transparent-video-player 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Luca (LucaL1fe)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,29 @@
1
+ # react-native-transparent-video-player
2
+
3
+ Transparent (alpha-channel) video for React Native — as a plain H.264 MP4 that plays on every iOS and Android hardware decoder.
4
+
5
+ ```bash
6
+ npx expo install react-native-transparent-video-player @shopify/react-native-skia react-native-reanimated
7
+ ```
8
+
9
+ ```tsx
10
+ import { TransparentVideo } from 'react-native-transparent-video-player';
11
+
12
+ <TransparentVideo
13
+ source={require('./assets/hero-packed.mp4')}
14
+ width={300}
15
+ height={300}
16
+ />
17
+ ```
18
+
19
+ Pack any video with an alpha channel (ProRes 4444, VP9 WebM, …) with the bundled cross-platform CLI (needs ffmpeg in PATH):
20
+
21
+ ```bash
22
+ npx pack-transparent-video hero-4444.mov # sensible defaults: 24 fps, quality 75%
23
+ npx pack-transparent-video hero-4444.mov --scale 50 --quality 60
24
+ ```
25
+
26
+ Renders via Skia on iOS and a native ExoPlayer + OpenGL view on Android (v0.3.0+) — no `minSdkVersion` override needed. Android needs `expo-modules-core` (built into every Expo app; bare RN: `npx install-expo-modules`) and a development-build rebuild after install (not Expo Go).
27
+
28
+ Full docs, CLI options, format explanation, and the GIF/WebP comparison:
29
+ **https://github.com/LucaL1fe/react-native-transparent-video-player**
@@ -0,0 +1,24 @@
1
+ # Third-party notices
2
+
3
+ The Android implementation of this package contains code derived from the
4
+ following open-source projects:
5
+
6
+ ## alpha-movie
7
+
8
+ - https://github.com/pavelsiamak/alpha-movie
9
+ - Copyright 2017 Pavel Semak (portions Copyright 2014 Google Inc.)
10
+ - License: Apache License, Version 2.0 — http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ `android/src/main/java/com/alphamovie/lib/GLTextureView.java` is vendored from
13
+ alpha-movie (itself derived from AOSP's GLSurfaceView), and
14
+ `TransparentVideoRenderer.kt` is derived from alpha-movie's `VideoRenderer`.
15
+ Original license headers are preserved in the files.
16
+
17
+ ## react-native-transparent-video
18
+
19
+ - https://github.com/status-im/react-native-transparent-video
20
+ - Copyright (c) 2023 Brian Sztamfater
21
+ - License: MIT
22
+
23
+ The packed top-color/bottom-alpha external-OES fragment shader approach in
24
+ `TransparentVideoRenderer.kt` follows their packed-shader variant.
@@ -0,0 +1,26 @@
1
+ apply plugin: 'com.android.library'
2
+
3
+ group = 'expo.modules.transparentvideo'
4
+ version = '0.3.0'
5
+
6
+ def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
7
+ apply from: expoModulesCorePlugin
8
+ applyKotlinExpoModulesCorePlugin()
9
+ useCoreDependencies()
10
+ useExpoPublishing()
11
+ useDefaultAndroidSdkVersions()
12
+
13
+ android {
14
+ namespace "expo.modules.transparentvideo"
15
+ defaultConfig {
16
+ versionCode 1
17
+ versionName "0.3.0"
18
+ }
19
+ lintOptions {
20
+ abortOnError false
21
+ }
22
+ }
23
+
24
+ dependencies {
25
+ implementation "androidx.media3:media3-exoplayer:1.10.1"
26
+ }
@@ -0,0 +1 @@
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android" />