Fix last issue with pause + fix shared libs without neon problem
This commit is contained in:
parent
d4a5472041
commit
81fc525350
9 changed files with 62 additions and 17 deletions
|
@ -93,7 +93,7 @@ endif
|
|||
endif
|
||||
|
||||
ifeq ($(wildcard $(linphone-root-dir)/submodules/externals/prebuilts/ffmpeg.mk),)
|
||||
#include $(linphone-root-dir)/submodules/externals/build/ffmpeg/Android.mk
|
||||
include $(linphone-root-dir)/submodules/externals/build/ffmpeg/Android.mk
|
||||
include $(linphone-root-dir)/submodules/externals/build/ffmpeg-no-neon/Android.mk
|
||||
else
|
||||
include $(linphone-root-dir)/submodules/externals/prebuilts/ffmpeg.mk
|
||||
|
@ -118,6 +118,7 @@ endif
|
|||
|
||||
|
||||
include $(linphone-root-dir)/submodules/linphone/build/android/Android.mk
|
||||
include $(linphone-root-dir)/submodules/linphone/build/android/Android-no-neon.mk
|
||||
|
||||
_BUILD_AMR=0
|
||||
ifneq ($(BUILD_AMRNB), 0)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
APP_PROJECT_PATH := $(call my-dir)/../
|
||||
APP_MODULES :=libspeex libgsm libortp libosip2 libeXosip2 libmediastreamer2 liblinphone
|
||||
APP_MODULES :=libspeex libgsm libortp libosip2 libeXosip2 libmediastreamer2 liblinphone liblinphonenoneon
|
||||
APP_STL := stlport_static
|
||||
|
||||
#default values
|
||||
|
@ -14,8 +14,9 @@ BUILD_SRTP=1
|
|||
endif
|
||||
|
||||
ifeq ($(LINPHONE_VIDEO),1)
|
||||
APP_MODULES += libavutil libavcore libavcodec libswscale libvpx
|
||||
APP_MODULES += libavutil-no-neon libavcore-no-neon libavcodec-no-neon libswscale-no-neon
|
||||
APP_MODULES += libavutil libavcore libavcodec libswscale
|
||||
APP_MODULES += libavutilnoneon libavcorenoneon libavcodecnoneon libswscalenoneon
|
||||
APP_MODULES += libvpx
|
||||
endif
|
||||
|
||||
_BUILD_AMR=0
|
||||
|
|
|
@ -600,6 +600,11 @@ public class IncallActivity extends AbstractCalleesActivity implements
|
|||
} else if (lc().soundResourcesLocked()) {
|
||||
return;
|
||||
} else if (State.Paused == actualState) {
|
||||
if (call != null && call.cameraEnabled() && call.getCurrentParamsCopy().getVideoEnabled())
|
||||
{
|
||||
finish();
|
||||
LinphoneActivity.instance().startVideoActivity(call, 0);
|
||||
}
|
||||
lc().resumeCall(call);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,9 +20,12 @@ package org.linphone.core;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
import org.linphone.mediastream.Version;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
public class LinphoneCoreFactoryImpl extends LinphoneCoreFactory {
|
||||
|
||||
private static void loadOptionalLibrary(String s) {
|
||||
|
@ -35,10 +38,17 @@ public class LinphoneCoreFactoryImpl extends LinphoneCoreFactory {
|
|||
|
||||
static {
|
||||
// FFMPEG (audio/video)
|
||||
loadOptionalLibrary("avutil");
|
||||
loadOptionalLibrary("swscale");
|
||||
loadOptionalLibrary("avcore");
|
||||
loadOptionalLibrary("avcodec");
|
||||
if (!hasNeonInCpuFeatures()) {
|
||||
loadOptionalLibrary("avutilnoneon");
|
||||
loadOptionalLibrary("swscalenoneon");
|
||||
loadOptionalLibrary("avcorenoneon");
|
||||
loadOptionalLibrary("avcodecnoneon");
|
||||
} else {
|
||||
loadOptionalLibrary("avutil");
|
||||
loadOptionalLibrary("swscale");
|
||||
loadOptionalLibrary("avcore");
|
||||
loadOptionalLibrary("avcodec");
|
||||
}
|
||||
|
||||
// OPENSSL (cryptography)
|
||||
// lin prefix avoids collision with libs in /system/lib
|
||||
|
@ -56,7 +66,11 @@ public class LinphoneCoreFactoryImpl extends LinphoneCoreFactory {
|
|||
loadOptionalLibrary("bcg729");
|
||||
|
||||
//Main library
|
||||
System.loadLibrary("linphone");
|
||||
if (!hasNeonInCpuFeatures()) {
|
||||
System.loadLibrary("linphonenoneon");
|
||||
} else {
|
||||
System.loadLibrary("linphone");
|
||||
}
|
||||
|
||||
Version.dumpCapabilities();
|
||||
}
|
||||
|
@ -121,4 +135,28 @@ public class LinphoneCoreFactoryImpl extends LinphoneCoreFactory {
|
|||
public LinphoneFriend createLinphoneFriend() {
|
||||
return createLinphoneFriend(null);
|
||||
}
|
||||
|
||||
public static boolean hasNeonInCpuFeatures()
|
||||
{
|
||||
ProcessBuilder cmd;
|
||||
boolean result = false;
|
||||
|
||||
try {
|
||||
String[] args = {"/system/bin/cat", "/proc/cpuinfo"};
|
||||
cmd = new ProcessBuilder(args);
|
||||
|
||||
Process process = cmd.start();
|
||||
InputStream in = process.getInputStream();
|
||||
byte[] re = new byte[1024];
|
||||
while(in.read(re) != -1){
|
||||
String line = new String(re);
|
||||
if (line.startsWith("Features"))
|
||||
result = line.contains("neon");
|
||||
}
|
||||
in.close();
|
||||
} catch(IOException ex){
|
||||
ex.printStackTrace();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
LOCAL_PATH:= $(call my-dir)/../../ffmpeg
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libavcodec
|
||||
LOCAL_MODULE := libavcodecnoneon
|
||||
|
||||
LOCAL_SRC_FILES = \
|
||||
libavcodec/allcodecs.c \
|
||||
|
@ -103,7 +103,7 @@ LOCAL_C_INCLUDES += \
|
|||
$(LOCAL_PATH)/ \
|
||||
$(LOCAL_PATH)/libavutil
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libavutil libavcore
|
||||
LOCAL_SHARED_LIBRARIES := libavutilnoneon libavcorenoneon
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
LOCAL_PATH:= $(call my-dir)/../../ffmpeg/
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libavcore
|
||||
LOCAL_MODULE := libavcorenoneon
|
||||
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
|
@ -21,7 +21,7 @@ LOCAL_CFLAGS += -DHAVE_AV_CONFIG_H
|
|||
#for including config.h:
|
||||
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../build/ffmpeg-no-neon $(LOCAL_PATH)/
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libavutil
|
||||
LOCAL_SHARED_LIBRARIES := libavutilnoneon
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
LOCAL_PATH:= $(call my-dir)/../../ffmpeg/
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libavutil
|
||||
LOCAL_MODULE := libavutilnoneon
|
||||
|
||||
|
||||
LOCAL_SRC_FILES = \
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
LOCAL_PATH:= $(call my-dir)/../../ffmpeg/libswscale/
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libswscale
|
||||
LOCAL_MODULE := libswscalenoneon
|
||||
|
||||
LOCAL_SRC_FILES = \
|
||||
options.c \
|
||||
|
@ -20,7 +20,7 @@ LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../build/ffmpeg-no-neon \
|
|||
$(LOCAL_PATH)/ \
|
||||
$(LOCAL_PATH)/../
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libavutil
|
||||
LOCAL_SHARED_LIBRARIES := libavutilnoneon
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 06968d9ad3849676847c678568f8fde125084cdd
|
||||
Subproject commit ec2bfe3f34e04b08e1410d2349e88ae700b4c271
|
Loading…
Reference in a new issue