Add mkv video recorder
This commit is contained in:
parent
9b3c9d2879
commit
356de1d766
9 changed files with 152 additions and 1 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -82,3 +82,6 @@
|
|||
[submodule "submodules/externals/openh264"]
|
||||
path = submodules/externals/openh264
|
||||
url = https://github.com/cisco/openh264
|
||||
[submodule "submodules/externals/libmatroska"]
|
||||
path = submodules/externals/libmatroska
|
||||
url = https://github.com/Matroska-Org/foundation-source.git
|
||||
|
|
76
Makefile
76
Makefile
|
@ -51,6 +51,7 @@ BUILD_SILK=1
|
|||
BUILD_TUNNEL=0
|
||||
BUILD_WEBRTC_AECM=1
|
||||
BUILD_OPUS=1
|
||||
BUILD_MATROSKA=0
|
||||
BUILD_WEBRTC_ISAC=1
|
||||
BUILD_FOR_X86=1
|
||||
USE_JAVAH=1
|
||||
|
@ -287,6 +288,79 @@ clean-vpx:
|
|||
rm -rf submodules/externals/build/libvpx/arm && \
|
||||
rm -rf submodules/externals/build/libvpx/x86
|
||||
|
||||
#libmatroska
|
||||
ifeq ($(BUILD_VIDEO), 1)
|
||||
ifeq ($(BUILD_MATROSKA),1)
|
||||
BUILD_MATROSKA_DEPS=$(LIBEBML2_BUILD_DIR)/arm/libebml2.a $(LIBMATROSKA_BUILD_DIR)/arm/libmatroska2.a
|
||||
ifeq ($(BUILD_FOR_X86), 1)
|
||||
BUILD_MATROSKA_DEPS+=$(LIBEBML2_BUILD_DIR)/x86/libebml2.a $(LIBMATROSKA_BUILD_DIR)/x86/libmatroska2.a
|
||||
endif #BUILD_FOR_X86
|
||||
endif #BUILD_MATROSKA
|
||||
endif #BUILD_VIDEO
|
||||
LIBMATROSKA_SRC_DIR=$(TOPDIR)/submodules/externals/libmatroska
|
||||
LIBMATROSKA_BUILD_DIR=$(TOPDIR)/submodules/externals/build/libmatroska
|
||||
LIBEBML2_BUILD_DIR=$(TOPDIR)/submodules/externals/build/libebml2
|
||||
COREMAKE=$(LIBMATROSKA_SRC_DIR)/corec/tools/coremake/coremake
|
||||
|
||||
$(LIBEBML2_BUILD_DIR)/arm/libebml2.a: $(LIBMATROSKA_SRC_DIR)/release/android_armv7/libebml2.a
|
||||
mkdir -p $(LIBEBML2_BUILD_DIR)/arm
|
||||
cp $< $@
|
||||
|
||||
$(LIBMATROSKA_BUILD_DIR)/arm/libmatroska2.a: $(LIBMATROSKA_SRC_DIR)/release/android_armv7/libmatroska2.a
|
||||
mkdir -p $(LIBMATROSKA_BUILD_DIR)/arm
|
||||
cp $< $@
|
||||
|
||||
$(LIBEBML2_BUILD_DIR)/x86/libebml2.a: $(LIBMATROSKA_SRC_DIR)/release/android_x86/libebml2.a
|
||||
mkdir -p $(LIBEBML2_BUILD_DIR)/x86
|
||||
cp $< $@
|
||||
|
||||
$(LIBMATROSKA_BUILD_DIR)/x86/libmatroska2.a: $(LIBMATROSKA_SRC_DIR)/release/android_x86/libmatroska2.a
|
||||
mkdir -p $(LIBMATROSKA_BUILD_DIR)/x86
|
||||
cp $< $@
|
||||
|
||||
$(LIBMATROSKA_SRC_DIR)/release/android_armv7/libebml2.a: $(LIBMATROSKA_SRC_DIR)/coremake_android_armv7.txt
|
||||
make -C $(LIBMATROSKA_SRC_DIR) ebml2
|
||||
|
||||
$(LIBMATROSKA_SRC_DIR)/release/android_armv7/libmatroska2.a: $(LIBMATROSKA_SRC_DIR)/coremake_android_armv7.txt
|
||||
make -C $(LIBMATROSKA_SRC_DIR) matroska2
|
||||
|
||||
$(LIBMATROSKA_SRC_DIR)/release/android_x86/libebml2.a: $(LIBMATROSKA_SRC_DIR)/coremake_android_x86.txt
|
||||
make -C $(LIBMATROSKA_SRC_DIR) ebml2
|
||||
|
||||
$(LIBMATROSKA_SRC_DIR)/release/android_x86/libmatroska2.a: $(LIBMATROSKA_SRC_DIR)/coremake_android_x86.txt
|
||||
make -C $(LIBMATROSKA_SRC_DIR) matroska2
|
||||
|
||||
$(LIBMATROSKA_SRC_DIR)/coremake_android_armv7.txt: $(COREMAKE) $(LIBMATROSKA_SRC_DIR)/configure_config_h.txt $(LIBMATROSKA_SRC_DIR)/fix_coremake.txt
|
||||
cd $(LIBMATROSKA_SRC_DIR); $(COREMAKE) android_armv7 -f $(LIBMATROSKA_SRC_DIR)/root.proj
|
||||
rm -f $(LIBMATROSKA_SRC_DIR)/coremake_*.txt;
|
||||
touch $@
|
||||
|
||||
$(LIBMATROSKA_SRC_DIR)/coremake_android_x86.txt: $(COREMAKE) $(LIBMATROSKA_SRC_DIR)/configure_config_h.txt $(LIBMATROSKA_SRC_DIR)/fix_coremake.txt
|
||||
cd $(LIBMATROSKA_SRC_DIR); $(COREMAKE) android_x86 -f $(LIBMATROSKA_SRC_DIR)/root.proj
|
||||
rm -f $(LIBMATROSKA_SRC_DIR)/coremake_*.txt
|
||||
touch $@
|
||||
|
||||
$(COREMAKE):
|
||||
make -C $(LIBMATROSKA_SRC_DIR)/corec/tools/coremake
|
||||
|
||||
$(LIBMATROSKA_SRC_DIR)/configure_config_h.txt:
|
||||
echo "#define CONFIG_ANDROID_NDK $(NDK_PATH)" >> $(LIBMATROSKA_SRC_DIR)/config.h
|
||||
echo "#define CONFIG_ANDROID_VERSION $(ANDROID_MOST_RECENT_TARGET)" >> $(LIBMATROSKA_SRC_DIR)/config.h
|
||||
echo "#define CONFIG_ANDROID_PLATFORM linux-x86_64" >> $(LIBMATROSKA_SRC_DIR)/config.h
|
||||
touch $@
|
||||
|
||||
$(LIBMATROSKA_SRC_DIR)/fix_coremake.txt:
|
||||
cd $(LIBMATROSKA_SRC_DIR); patch -p0 < ../build/libmatroska/coremake_fix.patch
|
||||
cp $(LIBMATROSKA_BUILD_DIR)/android_x86.build $(LIBMATROSKA_SRC_DIR)/corec/tools/coremake
|
||||
touch $@
|
||||
|
||||
build-matroska: $(BUILD_MATROSKA_DEPS)
|
||||
|
||||
clean-matroska:
|
||||
rm -rf $(LIBMATROSKA_BUILD_DIR)/{arm,x86}
|
||||
rm -rf $(LIBEBML2_BUILD_DIR)/{arm,x86}
|
||||
cd $(LIBMATROSKA_SRC_DIR); $(COREMAKE) clean
|
||||
|
||||
#SILK
|
||||
LIBMSSILK_SRC_DIR=$(TOPDIR)/submodules/mssilk
|
||||
LIBMSSILK_BUILD_DIR=$(LIBMSSILK_SRC_DIR)
|
||||
|
@ -379,7 +453,7 @@ $(SQLITE_BASENAME).zip:
|
|||
curl -sO $(SQLITE_URL)
|
||||
|
||||
#Build targets
|
||||
prepare-sources: build-ffmpeg build-x264 build-openh264 prepare-ilbc build-vpx prepare-silk prepare-srtp prepare-mediastreamer2 prepare-antlr3 prepare-belle-sip $(TOPDIR)/res/raw/rootca.pem prepare-sqlite3
|
||||
prepare-sources: build-ffmpeg build-x264 build-openh264 prepare-ilbc build-vpx build-matroska prepare-silk prepare-srtp prepare-mediastreamer2 prepare-antlr3 prepare-belle-sip $(TOPDIR)/res/raw/rootca.pem prepare-sqlite3
|
||||
|
||||
|
||||
GENERATE_OPTIONS = NDK_DEBUG=$(NDK_DEBUG) BUILD_FOR_X86=$(BUILD_FOR_X86) \
|
||||
|
|
|
@ -100,6 +100,11 @@ endif
|
|||
include $(linphone-root-dir)/submodules/externals/build/ffmpeg/Android.mk
|
||||
include $(linphone-root-dir)/submodules/externals/build/libvpx/Android.mk
|
||||
|
||||
ifeq ($(BUILD_MATROSKA), 1)
|
||||
include $(linphone-root-dir)/submodules/externals/buil/libebml/Android.mk
|
||||
include $(linphone-root-dir)/submodules/externals/buil/libmatroska/Android.mk
|
||||
endif
|
||||
|
||||
endif #_BUILD_VIDEO
|
||||
|
||||
|
||||
|
|
|
@ -65,7 +65,10 @@ endif
|
|||
ifeq ($(BUILD_OPENH264),1)
|
||||
APP_MODULES += libwels libmsopenh264
|
||||
endif
|
||||
ifeq ($(BUILD_MATROSKA), 1)
|
||||
APP_MODULES += libebml2 libmatroska2
|
||||
endif
|
||||
endif # BUILD_VIDEO
|
||||
|
||||
_BUILD_AMR=0
|
||||
ifneq ($(BUILD_AMRNB), 0)
|
||||
|
|
7
submodules/externals/build/libebml2/Android.mk
vendored
Normal file
7
submodules/externals/build/libebml2/Android.mk
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
LOCAL_PATH:= $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libebml2
|
||||
LOCAL_SRC_FILES := $(TARGET_ARCH)/libebml2.a
|
||||
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
7
submodules/externals/build/libmatroska/Android.mk
vendored
Executable file
7
submodules/externals/build/libmatroska/Android.mk
vendored
Executable file
|
@ -0,0 +1,7 @@
|
|||
LOCAL_PATH:= $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libmatroska2
|
||||
LOCAL_SRC_FILES := $(TARGET_ARCH)/libmatroska2.a
|
||||
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
13
submodules/externals/build/libmatroska/android_x86.build
vendored
Normal file
13
submodules/externals/build/libmatroska/android_x86.build
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
#define TARGARCH x86
|
||||
#define TARGARCH_ABI x86
|
||||
#define TARGOPTIM release
|
||||
#define IX86
|
||||
|
||||
CCFLAGS += -O3 -m32 -march=i486 -msse -mmmx -Wno-multichar -fvisibility=hidden -fno-PIC -DRESOURCE_COREC
|
||||
ANDROID_ABI += x86
|
||||
ANDROID_ARCH = arch-x86
|
||||
ANDROID_GCC_PREFIX = i686-linux-android-
|
||||
ANDROID_GCC = x86-4.8
|
||||
ANDROID_GCC_LIB = gcc/i686-linux-android/4.8/libgcc.a
|
||||
|
||||
#include "android.inc"
|
38
submodules/externals/build/libmatroska/coremake_fix.patch
vendored
Normal file
38
submodules/externals/build/libmatroska/coremake_fix.patch
vendored
Normal file
|
@ -0,0 +1,38 @@
|
|||
--- corec/tools/coremake/android_arm.inc
|
||||
+++ corec/tools/coremake/android_arm.inc
|
||||
@@ -7,8 +7,8 @@
|
||||
SFLAGS += -march=armv7-a
|
||||
ANDROID_ABI += armeabi
|
||||
ANDROID_ARCH = arch-arm
|
||||
-ANDROID_GCC_PREFIX = arm-eabi-
|
||||
-ANDROID_GCC = arm-eabi-4.4.0
|
||||
-ANDROID_GCC_LIB = gcc/arm-eabi/4.4.0/libgcc.a
|
||||
+ANDROID_GCC_PREFIX = arm-linux-androideabi-
|
||||
+ANDROID_GCC = arm-linux-androideabi-4.8
|
||||
+ANDROID_GCC_LIB = gcc/arm-linux-androideabi/4.8/libgcc.a
|
||||
|
||||
#include "android.inc"
|
||||
--- corec/tools/coremake/android.inc
|
||||
+++ corec/tools/coremake/android.inc
|
||||
@@ -12,8 +12,8 @@
|
||||
|
||||
CONFIG
|
||||
|
||||
-ANDROID_LIBC_DIR = %(§CONFIG_ANDROID_NDK)/build/platforms/android-%(CONFIG_ANDROID_VERSION)/%(ANDROID_ARCH)/usr
|
||||
-ANDROID_GCC_DIR = %(§CONFIG_ANDROID_NDK)/build/prebuilt/%(CONFIG_ANDROID_PLATFORM)/%(ANDROID_GCC)/bin
|
||||
+ANDROID_LIBC_DIR = %(§CONFIG_ANDROID_NDK)/platforms/%(CONFIG_ANDROID_VERSION)/%(ANDROID_ARCH)/usr
|
||||
+ANDROID_GCC_DIR = %(§CONFIG_ANDROID_NDK)/toolchains/%(ANDROID_GCC)/prebuilt/%(CONFIG_ANDROID_PLATFORM)/bin
|
||||
|
||||
IFNDEF CONFIG_ANDROID_NDK
|
||||
ECHO Android NDK path not defined ! (CONFIG_ANDROID_NDK)
|
||||
--- corec/tools/coremake/gcc_mak.inc
|
||||
+++ corec/tools/coremake/gcc_mak.inc
|
||||
@@ -85,7 +85,7 @@
|
||||
PRINTNL CCFLAGS += -include %(PRECOMPILED_HEADER)
|
||||
ENDIF
|
||||
IF %(OS_INCLUDE)!=""
|
||||
- PRINTNL CCFLAGS += %(|OS_INCLUDE:%=-isystem '%')
|
||||
+ PRINTNL CCFLAGS += %(OS_INCLUDE:%=-isystem '%')
|
||||
ENDIF
|
||||
PRINTNL CCFLAGS += %(DEFINE:%=-D%) -I . %(@INCLUDE:%=-I '%') %(@SYSINCLUDE:%=-I '%') %(@CONFIG_INCLUDE:%=-I '%')
|
||||
IF %(CCFLAGS)!=""
|
1
submodules/externals/libmatroska
vendored
Submodule
1
submodules/externals/libmatroska
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 3414f292bb5b1ac5ee2fd99976b7274fd81e48ee
|
Loading…
Reference in a new issue