diff --git a/build.gradle b/build.gradle
index 0d5d1f14523a4c575df21c5354522f57a224c3f7..facab83adc4d1dd5bec49dff47f47bcb65797c4d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -22,7 +22,7 @@ allprojects {
 }
 
 ext {
-    libvlcVersion = '4.0.0-eap15'
+    libvlcVersion = '4.0.0-eap16'
     minSdkVersion = 17
     targetSdkVersion = 30
     compileSdkVersion = 31
diff --git a/buildsystem/compile-libvlc.sh b/buildsystem/compile-libvlc.sh
index f05862eed377141ba4f16ed73aeefe3acdc803b0..330df014f813db8357d36fce49804773c639f196 100755
--- a/buildsystem/compile-libvlc.sh
+++ b/buildsystem/compile-libvlc.sh
@@ -103,10 +103,10 @@ fi
 # try to detect NDK version
 REL=$(grep -o '^Pkg.Revision.*[0-9]*.*' $ANDROID_NDK/source.properties |cut -d " " -f 3 | cut -d "." -f 1)
 
-if [ "$REL" = 25 ]; then
+if [ "$REL" = 26 ]; then
     ANDROID_API=21
 else
-    echo "NDK v25 needed, cf. https://developer.android.com/ndk/downloads/"
+    echo "NDK v26 needed, cf. https://developer.android.com/ndk/downloads/"
     exit 1
 fi
 
diff --git a/buildsystem/get-vlc.sh b/buildsystem/get-vlc.sh
index 2910dbdacf87951eda58c85d1872ce925bc6cf64..2aac17ccdcca93c16295ac52477f3fdda1ea4b6d 100755
--- a/buildsystem/get-vlc.sh
+++ b/buildsystem/get-vlc.sh
@@ -69,7 +69,7 @@ done
 # Fetch VLC source #
 ####################
 
-VLC_TESTED_HASH=158b9c7f733ce13ed5dbe5186020bfe871c3598f
+VLC_TESTED_HASH=8c9891d4bb7f7c146abb17606e7528f6d0209ea3
 VLC_REPOSITORY=https://code.videolan.org/videolan/vlc.git
 VLC_BRANCH=master
 if [ ! -d "vlc" ]; then
diff --git a/buildsystem/gitlab/.gitlab-ci.yml b/buildsystem/gitlab/.gitlab-ci.yml
index 83367518a9cb95029c482de01a36705091eed22f..8c70f2feabd90c81aea3974e5da8117d408b5fbf 100644
--- a/buildsystem/gitlab/.gitlab-ci.yml
+++ b/buildsystem/gitlab/.gitlab-ci.yml
@@ -7,7 +7,7 @@ cache:
 
 default:
   interruptible: true
-  image: registry.videolan.org/vlc-debian-android:20230614051113
+  image: registry.videolan.org/vlc-debian-android:20240514145422
   tags:
     - amd64
     - docker