Comments (9)
Fixed in the latest release, version 1.0.11.
from ffmpegmediametadataretriever.
I noticed this same issue on the most recent version of the library.
from ffmpegmediametadataretriever.
me too :(
from ffmpegmediametadataretriever.
Ditto... Any way to get around this?
from ffmpegmediametadataretriever.
Hi,
I have done some research about that. It look like that the native JNI library should be unloaded when the classloader which loaded the library is garbage collected. (according to http://stackoverflow.com/questions/453359/how-to-unload-library-dll-from-java-jvm)
I was hopping that this operation can "resolve" the memory leak. But it don't.
I did a really simple app that do that in a loop :
FFmpegMediaMetadataRetriever mmr = new FFmpegMediaMetadataRetriever();
mmr.setDataSource(desc);
mmr.release();
After ~220 iteration, the app crash.
from ffmpegmediametadataretriever.
I've looked into this issue and I'm not sure there is a way around it. Android loads FFmpeg each time you create a new instance of FFmpegMediaMetadataRetriever
and calling release()
doesn't seem to unload the references. I've spent a fair amount of time looking into this issue and I haven't found a solution. As a workaround, it's not necessary to create a new instance of FFmpegMediaMetadataRetriever
each time you call setDataSource
. Perhaps you should try reusing the same FFmpegMediaMetadataRetriever
instance until you have extracted metadata from all the files and then call release()
only once.
from ffmpegmediametadataretriever.
Thank you for the feedback.
I think You are right. As a workaround I don't execute my code in a loop, but less frequently after a specific user action.
Now the garbage collector have more opportunity to really release the memory, and my app do not crash anymore.
I think your advise to create only one instance of FFmpegMediaMetadataRetriever is wize. But in my case, the code is placed into an android plugin called by a C# method into an unity project (my interop skills just reach a new level :) and I prefer to avoid multi-thread synchronization and thread safety issue, if any.
from ffmpegmediametadataretriever.
This issue still is exist at version 1.0.11!
from ffmpegmediametadataretriever.
still memory leak in native
from ffmpegmediametadataretriever.
Related Issues (20)
- OpenSSL lower then 1.1.1i HOT 3
- Embedded coverart overwrites comment field
- it seems like the customer header not working by use method setDataSource ,please fix it ,thanks HOT 4
- getScaledFrameAtTime returns black bitmap on some videos HOT 7
- Get thumbnail from HLS VOD content HOT 2
- libavformat.so #00 pc 000b50d8
- Can not use FFmpegMediaMetadataRetriever HOT 2
- how to use it with recyclerview ? HOT 1
- What is the reason of memory increasing. HOT 1
- Can it retrieve frames of a video at 24fps rate? HOT 1
- Uncatchable crash setDataSource code -1 (SI_QUEUE) HOT 8
- FFmpegMediaMetadataRetriever does not respect video rotation in getFrameAtTime HOT 1
- Android FFmpegMediaMetadataRetriever get Frame from RTSP stream App Crash with A/libc: Fatal signal 6 (SIGABRT) HOT 10
- JNI_ERR returned from JNI_OnLoad HOT 1
- METADATA_KEY_DURATION returns 0 for mp3 on android 6.0.1 but works on other versions HOT 2
- 获取Flv视频格式的缩略图时闪退 HOT 2
- retry后socket没有释放
- App crash FFmpegMediaMetadataRetriever HOT 1
- When will the next version be released
- can the library ignore ssl check,because the certificate of some streams may be not safely
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 ffmpegmediametadataretriever.