munim-ffmpeg 0.4.0 → 0.4.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/README.md CHANGED
@@ -137,14 +137,14 @@ Codec availability is determined by the native FFmpeg builds described in [Bundl
137
137
 
138
138
  ## Where this is verified
139
139
 
140
- Every release runs the example's 24-check device suite. For 0.3.x:
140
+ Every release runs the example's 25-check device suite. For 0.4.x:
141
141
 
142
142
  | Target | Result |
143
143
  | --- | --- |
144
- | iPad Air (M3), iOS 26 | 24/24 |
145
- | iOS Simulator, arm64 | 24/24 |
146
- | Galaxy A14 5G, arm64-v8a | 24/24 |
147
- | Android emulator, arm64 | 13/24 — see below |
144
+ | iPad Air (M3), iOS 26 | 25/25 |
145
+ | iOS Simulator, arm64 | 25/25 |
146
+ | Galaxy A14 5G, arm64-v8a | 25/25 |
147
+ | Android emulator, arm64 | Software encoding passes; hardware encoding does not — see below |
148
148
  | Android `armeabi-v7a`, `x86_64` | Built and statically checked, not executed |
149
149
 
150
150
  `x86_64` cannot be run on an Apple Silicon machine: the Android emulator refuses non-native system images, and no x86_64 hardware was available. Both remaining ABIs were verified to be correct ELF binaries with the right architecture, the expected JNI exports, only system libraries unresolved, and the same FFmpeg 9.0.1 and codec set as arm64.
@@ -692,7 +692,7 @@ Nitrogen output under `nitrogen/generated` is committed. Change the `.nitro.ts`
692
692
 
693
693
  ### Example app
694
694
 
695
- `example/` is an Expo app that runs a 24-check device suite: H.264 and HEVC encoding, VP9/Opus in WebM, MP3, AAC, scaling and multi-step filter graphs, muxing, demuxing, trimming, concatenation, thumbnails, audio resampling, awkward file paths, concurrent sessions, single and global cancellation, protocol support, and both failure paths. Fixtures are generated in JavaScript, so the suite needs no network or bundled media. Results are rendered on screen, written to `munim-ffmpeg-suite.json` in the app's document directory, and logged as `MUNIM_FFMPEG_SUITE_RESULT`.
695
+ `example/` is an Expo app that runs a 25-check device suite: H.264 and HEVC encoding, VP9/Opus in WebM, MP3, AAC, scaling and multi-step filter graphs, software H.264 via openh264, muxing, demuxing, trimming, concatenation, thumbnails, audio resampling, awkward file paths, concurrent sessions, single and global cancellation, protocol support, and both failure paths. Fixtures are generated in JavaScript, so the suite needs no network or bundled media. Results are rendered on screen, written to `munim-ffmpeg-suite.json` in the app's document directory, and logged as `MUNIM_FFMPEG_SUITE_RESULT`.
696
696
 
697
697
  ```bash
698
698
  npm run example:ios
@@ -23,9 +23,11 @@ apply plugin: 'org.jetbrains.kotlin.android'
23
23
  apply from: '../nitrogen/generated/android/NitroMunimFfmpeg+autolinking.gradle'
24
24
  apply from: "./fix-prefab.gradle"
25
25
 
26
- if (isNewArchitectureEnabled()) {
27
- apply plugin: "com.facebook.react"
28
- }
26
+ // Deliberately not applying the "com.facebook.react" plugin: Nitro generates
27
+ // its own bindings, and the React plugin also emits React Native's own
28
+ // TurboModule specs into this library. Those then collide with the app's copies
29
+ // and every consumer's release build fails with "Type
30
+ // com.facebook.fbreact.specs.* is defined multiple times".
29
31
 
30
32
  def getExtOrDefault(name) {
31
33
  return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["NitroMunimFfmpeg_" + name]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "munim-ffmpeg",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Fast FFmpeg and FFprobe for Expo and React Native, powered by Nitro Modules",
5
5
  "main": "lib/index",
6
6
  "module": "lib/index",