Browse Source

build: add vulkan

4.0-vulkan
Thomas Guillem 8 years ago
parent
commit
badbaa70f0
  1. 4
      compile-libvlc.sh
  2. 6
      libvlc/jni/Android.mk
  3. 1949
      libvlc/jni/vulkan-dummy.c
  4. 24
      libvlc/src/org/videolan/libvlc/LibVLC.java

4
compile-libvlc.sh

@ -473,6 +473,10 @@ mkdir -p contrib/${TARGET_TUPLE}/lib/pkgconfig
gen_pc_file EGL 1.1
gen_pc_file GLESv2 2
# Add vulkan.so even for older API
cp ${ANDROID_NDK}/platforms/android-24/arch-${PLATFORM_SHORT_ARCH}/usr/lib/libvulkan.so ${VLC_CONTRIB}/lib
gen_pc_file vulkan 1.1
cd contrib/contrib-android-${TARGET_TUPLE}
export USE_FFMPEG=1

6
libvlc/jni/Android.mk

@ -39,3 +39,9 @@ LOCAL_LDLIBS := \
-llog
LOCAL_CXXFLAGS := -std=c++11
include $(BUILD_SHARED_LIBRARY)
# vulkan: dummy lib to satisfy link dependency on older devices
include $(CLEAR_VARS)
LOCAL_MODULE := libvulkan
LOCAL_SRC_FILES := vulkan-dummy.c
include $(BUILD_SHARED_LIBRARY)

1949
libvlc/jni/vulkan-dummy.c

File diff suppressed because it is too large

24
libvlc/src/org/videolan/libvlc/LibVLC.java

@ -23,6 +23,7 @@ package org.videolan.libvlc;
import android.content.Context;
import android.util.Log;
import org.videolan.libvlc.util.AndroidUtil;
import org.videolan.libvlc.util.HWDecoderUtil;
import java.util.ArrayList;
@ -135,7 +136,30 @@ public class LibVLC extends VLCObject<LibVLC.Event> {
return;
sLoaded = true;
boolean vulkanLoaded = false;
if (AndroidUtil.isNougatOrLater) {
/* Load the real vulkan library from system path */
String searchPaths = System.getProperty("java.library.path");
if (searchPaths != null) {
String searchPathList[] = searchPaths.split(":");
for (String searchPath : searchPathList)
{
try {
System.load(searchPath + "/libvulkan.so");
vulkanLoaded = true;
} catch (Exception ignored) {
}
if (vulkanLoaded)
break;
}
}
}
try {
if (!vulkanLoaded) {
/* Load our vulkan dummy libary in order to satify link dependency */
System.loadLibrary("vulkan");
}
System.loadLibrary("c++_shared");
System.loadLibrary("vlc");
System.loadLibrary("vlcjni");

Loading…
Cancel
Save