[FFmpeg-devel] [RFC] Bump minimum required version of Android to 5.0

Tomas Härdin git at haerdin.se
Fri Apr 12 14:39:53 EEST 2024


fre 2024-04-12 klockan 19:23 +0800 skrev Zhao Zhili:
> 
> 
> > On Apr 12, 2024, at 18:50, Tomas Härdin <git at haerdin.se> wrote:
> > 
> > tor 2024-04-11 klockan 21:57 +0800 skrev Zhao Zhili:
> > > 
> > > 
> > > > On Apr 11, 2024, at 21:17, Tomas Härdin <git at haerdin.se> wrote:
> > > > 
> > > > tor 2024-04-11 klockan 20:16 +0800 skrev Zhao Zhili:
> > > > > We don’t have a minimum required version of Android in
> > > > > FFmpeg.
> > > > > libavdevice/android_camera requires Android 7, Java
> > > > > MediaCodec
> > > > > requires Android 4.1, and NDK MediaCodec requires Android
> > > > > 5.0.
> > > > > 
> > > > > Without an explicit version, it’s unclear for development and
> > > > > test.
> > > > > 
> > > > > Android 5.0 is released in 2014, is it OK to bump the minimum
> > > > > required
> > > > > version to Android 5.0, or any other version you prefer?
> > > > 
> > > > Don't we already have stuff that detects the Android version
> > > > and
> > > > acts
> > > > accordingly? Dropping 4.1 might lessen the maintenance burden
> > > > though.
> > > 
> > > Check Android API level is easy. There is [no] minimum API level
> > > requirement
> > > in configure script as far as I know.
> > 
> > Would be a good idea to add one
> > 
> > What would dropping 4.1 support actually look like? I presume it
> > would
> > make the code a lot simpler.
> 
> I can remove a lot of dlsym by link directly. And it will be more
> clear to
> know how to handle Android version dependent API when adding new 
> code.
> 
> > 
> > > > I have an old phone (Samsung Galaxy S5) running the most recent
> > > > LineageOS possible to install on it (16.0), and that uses
> > > > Android
> > > > 9. So
> > > > for me bumping to version 5 sounds fine.
> > > > 
> > > > Do you have any statistics on Android versions actually in use?
> > > 
> > > Search by "Android distribution chart" shows version >= 5.0 is
> > > about
> > > 99.3%.
> > 
> > Makes me wonder what kind of devices people run that haven't been
> > updated in 10+ years..
> 
> Like TV and OTT box. I know those devices exist, but I highly doubt
> that
> anyone would attempt to run FFmpeg 7.1 on it.

Yeah this is what I'm getting at. Sure people may be running old
devices, but are they running programs on them that have been compiled
recently? That's going to be a fraction of that remaining 0.7%,
assuming there are devs updating apps that use FFmpeg for such old
devices.

> Android toolchains also drop support of Android 4.4 now.
> 
> "KitKat (APIs 19 and 20) is no longer supported.”
> 
> https://developer.android.com/ndk/downloads/revision_history

So at some point it won't even be possible to compile against 4.1
without digging into the archives? That's preservationist work. I'm
sure they can dig into our git history as well if they're so desperate
to compile old things.

/Tomas


More information about the ffmpeg-devel mailing list