Releases: Javernaut/MediaFile
v2.0.0
Major release is here with new APIs and breaking changes.
As of now there is a single entry point (MediaFileFactory
) and clear and distinct requests (MediaSource
), which support multiple input types: files, file descriptors and content Uris. No more attempts to reconstruct the file path behind a Uri, client apps are welcome to implement it on their side. See PathUtil that was used before.
The 2.0 release makes use of fd
protocol (FFmpeg 6) and content
protocol (FFmpeg 7), along with the good old file
. The pipe
was dropped in the favour of fd
. This is just an implementation detail.
No more filtering of the available media streams by MediaType
. It is up to a client to do such a thing. The MediaInfo
class is media type agnostic.
The FrameLoader
still serves the purpose of being an example of how one can extend the library and be able to work with an opened AVFormatContext*
really fast.
MediaFile
and FrameLoader
are AutoClosable
, so don’t forget to clean up after you are done.
Forwarding of the FFmpeg's logs into LogCat was added. It is disabled by default.
The MediaFile and ffmpeg-android-maker (as a dependency) projects were updated to produce shared libraries compatible with 16 kb page size systems (Android 15+).
See the README for more datails.
v1.1.0
Changes in this release:
- The ffmpeg-android-maker is updated to v2.9 (which uses FFmpeg 6.1 and libdav1d 1.3.0);
- The compilation of both ffmpeg-android-maker and MediaFile is done with Android NDK r26b, which supports only Android API Level 21 and above. That is why the minSdk for MediaFile was increased to 21 as well.
v1.0.3
v1.0.2
v1.0.1
Initial release
The library was extracted from WhatTheCodec app.
It is based on ffmpeg-android-maker v2.5.2.