react-native-alpha-video-gpu 0.0.0-stage → 1.0.1
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 +21 -0
- package/README.md +953 -2
- package/THIRD_PARTY_NOTICES.md +14 -0
- package/android/src/main/AndroidManifest.xml +9 -0
- package/android/src/main/cpp/CMakeLists.txt +41 -0
- package/android/src/main/cpp/alphavideogpu_jni.cpp +1168 -0
- package/android/src/main/cpp/astc_decomp.cpp +1550 -0
- package/android/src/main/cpp/astc_decomp.h +41 -0
- package/android/src/main/cpp/source_jni.cpp +242 -0
- package/android/src/main/cpp/source_jni.h +13 -0
- package/android/src/main/java/dev/mediacache/alphavideo/gpu/AlphaVideoGpuNative.java +43 -0
- package/android/src/main/java/dev/mediacache/alphavideo/gpu/AlphaVideoGpuReader.java +209 -0
- package/android/src/main/java/dev/mediacache/alphavideo/gpu/AlphaVideoGpuSource.java +328 -0
- package/android/src/main/java/dev/mediacache/alphavideo/gpu/AlphaVideoGpuView.java +2126 -0
- package/android/src/main/java/dev/mediacache/alphavideo/gpu/Fetcher.java +37 -0
- package/android/src/main/java/dev/mediacache/alphavideo/gpu/HttpFetcher.java +156 -0
- package/android/src/main/java/dev/mediacache/alphavideo/gpu/Ktx2Metadata.java +78 -0
- package/android/src/main/java/dev/mediacache/alphavideo/gpu/RangeSourceLink.java +54 -0
- package/android/src/main/java/dev/mediacache/alphavideo/gpu/ZstdSeekTable.java +120 -0
- package/android/src/rangesource/java/dev/mediacache/alphavideo/gpu/AppDataSource.java +50 -0
- package/ios/Sources/AlphaVideoGPU/AlphaVideoGpuSource.h +63 -0
- package/ios/Sources/AlphaVideoGPU/AlphaVideoGpuSource.mm +522 -0
- package/ios/Sources/AlphaVideoGPU/AlphaVideoGpuView.mm +2722 -0
- package/ios/Sources/AlphaVideoGPU/astc_decomp.cpp +1550 -0
- package/ios/Sources/AlphaVideoGPU/astc_decomp.h +41 -0
- package/ios/Sources/AlphaVideoGPU/include/AlphaVideoGPU.h +110 -0
- package/ios/Sources/AlphaVideoGPU/zstd_seek.h +250 -0
- package/package.json +78 -4
- package/react-native/android/build.gradle +95 -0
- package/react-native/android/src/main/AndroidManifest.xml +9 -0
- package/react-native/android/src/main/java/dev/mediacache/alphavideo/gpu/reactnative/AlphaVideoGpuPackage.java +26 -0
- package/react-native/android/src/main/java/dev/mediacache/alphavideo/gpu/reactnative/AlphaVideoGpuViewManager.java +187 -0
- package/react-native/android/src/main/java/dev/mediacache/alphavideo/gpu/reactnative/PlayerEventForwarder.java +107 -0
- package/react-native/android/src/newarch/java/dev/mediacache/alphavideo/gpu/reactnative/AlphaVideoGpuViewManagerSpec.java +23 -0
- package/react-native/android/src/norangesource/java/dev/mediacache/alphavideo/gpu/AppDataSource.java +15 -0
- package/react-native/android/src/oldarch/java/dev/mediacache/alphavideo/gpu/reactnative/AlphaVideoGpuViewManagerSpec.java +56 -0
- package/react-native/ios/RNAlphaVideoGpuViewComponentView.mm +176 -0
- package/react-native/ios/RNAlphaVideoGpuViewManager.mm +175 -0
- package/react-native/src/AlphaVideoGpuView.js +2 -0
- package/react-native/src/AlphaVideoGpuView.web.tsx +296 -0
- package/react-native/src/AlphaVideoGpuViewNativeComponent.ts +128 -0
- package/react-native/src/AlphaVideoGpuViewNativeComponent.web.ts +2 -0
- package/react-native/src/index.d.ts +95 -0
- package/react-native/src/index.js +162 -0
- package/react-native-alpha-video-gpu.podspec +37 -0
- package/react-native.config.js +12 -0
- package/third_party/licenses/Apache-2.0.txt +208 -0
- package/third_party/range-source/LICENSE +21 -0
- package/third_party/range-source/README.md +10 -0
- package/third_party/range-source/include/range_source.h +395 -0
- package/third_party/range-source/include/range_source_download.h +309 -0
- package/third_party/zstd/LICENSE +30 -0
- package/third_party/zstd/zstd.c +38717 -0
- package/third_party/zstd/zstd.h +2450 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Third-party notices
|
|
2
|
+
|
|
3
|
+
The code in this repository is MIT-licensed (see `LICENSE`), apart from the components below.
|
|
4
|
+
|
|
5
|
+
| Component | Version | Licence | Where |
|
|
6
|
+
|---|---|---|---|
|
|
7
|
+
| [Zstandard](https://github.com/facebook/zstd) single-file library (`zstd.c`, `zstd.h`) | 1.4.9 | BSD-3-Clause | `third_party/zstd`, compiled into the iOS and Android libraries |
|
|
8
|
+
| ASTC decoder (`astc_decomp.cpp`): the Android Open Source Project's drawElements Quality Program decoder, as adapted in [Basis Universal](https://github.com/BinomialLLC/basis_universal) | from Basis Universal 1.16.4 | Apache-2.0 | `ios/Sources/AlphaVideoGPU/astc_decomp.{h,cpp}` and `android/src/main/cpp/astc_decomp.{h,cpp}`, compiled into the iOS and Android libraries, and the Android copy into the web package's WebAssembly |
|
|
9
|
+
|
|
10
|
+
Licence texts: `third_party/zstd/LICENSE` (Zstandard's BSD licence) and `third_party/licenses/Apache-2.0.txt`.
|
|
11
|
+
|
|
12
|
+
The native libraries carry the headers of [range-source](https://github.com/MediaCacheDev/range-source) (`third_party/range-source/include`): its C interface, and the basic input that downloads a URL when the add-on isn't installed. MIT-licensed, by the same author. The add-on itself is a separate package with its own `LICENSE`.
|
|
13
|
+
|
|
14
|
+
The web package, [`alpha-video-gpu-web`](web), bundles [zstddec](https://github.com/donmccurdy/zstddec); see [`web/THIRD_PARTY_NOTICES.md`](web/THIRD_PARTY_NOTICES.md).
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
|
3
|
+
|
|
4
|
+
<!-- OpenGL ES 3.0, for texture arrays and ETC2/ASTC texture compression -->
|
|
5
|
+
<uses-feature
|
|
6
|
+
android:glEsVersion="0x00030000"
|
|
7
|
+
android:required="true" />
|
|
8
|
+
|
|
9
|
+
</manifest>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
cmake_minimum_required(VERSION 3.18.1)
|
|
2
|
+
|
|
3
|
+
project("alphavideogpu")
|
|
4
|
+
|
|
5
|
+
# range-source needs C++17
|
|
6
|
+
set(CMAKE_CXX_STANDARD 17)
|
|
7
|
+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
8
|
+
|
|
9
|
+
# zstd and range-source, shared with iOS (third_party/ at the repository root): range-source's C
|
|
10
|
+
# interface and basic input (include). The add-on itself is dev.mediacache:range-source, its own
|
|
11
|
+
# library, found at run time (RangeSourceLink.java).
|
|
12
|
+
set(THIRD_PARTY_DIR ${CMAKE_SOURCE_DIR}/../../../../third_party)
|
|
13
|
+
set(RANGE_SOURCE ${THIRD_PARTY_DIR}/range-source)
|
|
14
|
+
|
|
15
|
+
add_library(zstd STATIC
|
|
16
|
+
${THIRD_PARTY_DIR}/zstd/zstd.c
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
# Add native library
|
|
20
|
+
add_library(alphavideogpu SHARED
|
|
21
|
+
alphavideogpu_jni.cpp
|
|
22
|
+
astc_decomp.cpp
|
|
23
|
+
source_jni.cpp
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
target_include_directories(alphavideogpu PRIVATE
|
|
27
|
+
${CMAKE_SOURCE_DIR}
|
|
28
|
+
${THIRD_PARTY_DIR}
|
|
29
|
+
${RANGE_SOURCE}/include
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
# Google Play requires 16 KB-aligned segments for Android 15+; NDK r27 and older link 4 KB by default.
|
|
33
|
+
target_link_options(alphavideogpu PRIVATE "-Wl,-z,max-page-size=16384")
|
|
34
|
+
|
|
35
|
+
target_link_libraries(alphavideogpu
|
|
36
|
+
zstd
|
|
37
|
+
EGL
|
|
38
|
+
GLESv3
|
|
39
|
+
log
|
|
40
|
+
android
|
|
41
|
+
)
|