Comments (10)
just wrap native memfd_create, it's a linux feature probably to make it before api 30 just create a jni library
This is the definition of memfd_create
function in NDK's sys/mman.h
header. It is in line with Android documentation. It is not available below API Level 30.
#if __ANDROID_API__ >= 30
int memfd_create(const char* __name, unsigned __flags) __INTRODUCED_IN(30);
#endif /* __ANDROID_API__ >= 30 */
another solution would be to create a pipe
FFmpegKit
already supports pipes. Please have a look at Pipe Support wiki page.
from ffmpeg-kit.
This was discussed on mobile-ffmpeg
as well but I we couldn't find an elegant solution to implement this.
On Android, SharedMemory is one of the potential features we can use. Unfortunately, it is introduced in API Level 27. It can not be applied as a general solution.
from ffmpeg-kit.
being that it supports storage access framework couldn't you implement a custom fileprovider?
could reimplement the various methods to make it read/write in ram
from ffmpeg-kit.
What do you mean by writing to RAM? I don't understand how can that FileProvider class help to implement this feature.
from ffmpeg-kit.
The reference implementation of a fileprovider is the one of androidx, if you see when a file is requested it returns a ParcelFileDescriptor, usually it points to the filedescriptor of a file on the disk, but by extending the class you can return a filedescriptor to a anonymous file mapped to memory using memfd_create
from ffmpeg-kit.
Using memfd_create is possible but it is introduced in API Level 30
according to Android documentation. We need a more general solution that we can use in earlier API levels as well.
from ffmpeg-kit.
just wrap native memfd_create, it's a linux feature probably to make it before api 30 just create a jni library
from ffmpeg-kit.
https://developer.android.com/reference/android/os/ParcelFileDescriptor#createPipe()
another solution would be to create a pipe
from ffmpeg-kit.
Pipes do not work for output though, right?
-i pipe1 file.mp4
works, but -i pipe1 pipe2
gives an "read only filesystem" error.
from ffmpeg-kit.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
from ffmpeg-kit.
Related Issues (20)
- In flutter library provide a properties getters and setters in dart syntax, as a property, instead of methods get*() and set*() HOT 1
- Multiple commands produce ~'/Frameworks/ffmpegkit.framework' HOT 1
- File conversion to mp3 returning failure everytime. HOT 2
- Can't remove console.logs in index.js HOT 1
- Request support for vulkan and libplacebo HOT 1
- React-Native/Expo | Cannot use libx265 HOT 4
- [EXPO] How to use --speed flag? HOT 1
- No such filter: 'transpose=2' HOT 4
- [Android] - [Question] Create video from in memory images? HOT 1
- get some error while merging audio with image HOT 1
- Add clearCompletedSessions please:
- MissingPluginException(No implementation found for method getLogLevel on channel flutter.arthenica.com/ffmpeg_kit) package:flutter/src/services/platform_channel.dart 332:7 MethodChannel._invokeMethod HOT 9
- Is there any way to pause and resume the conversion process? HOT 4
- configureCodec returning error -61
- Android No match for targetSdk 34
- Can not set libx264 encoder Settings will report error other encoders no problem HOT 1
- Feature Request: Support --speed flag in ffmpeg_kit_flutter
- Draw Text HOT 1
- Android | Thumbnail generation for HLS video stream
- Apple | Not able to build project
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ffmpeg-kit.