diff --git a/README.md b/README.md index d09f4da..27656e9 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,12 @@ |taoyao-client-android|安卓终端|安卓终端| |taoyao-signal-server|信令服务|终端信令控制| +## 功能 + +Web、信令已经完成大部分音视频功能,还有部分视频质量调整功能没有完成。 + +Android还在学习之中... + ## 证书 本地开发测试安装`docs/certs`中的`ca.crt`证书 diff --git a/docs/Deploy.md b/docs/Deploy.md index 0ebdaad..d3f496d 100644 --- a/docs/Deploy.md +++ b/docs/Deploy.md @@ -93,6 +93,24 @@ gcc -v g++ -v ``` +## 安装CMake + +``` +# 下载 +mkdir -p /data/dev/cmake +cd /data/dev/cmake +wget https://github.com/Kitware/CMake/releases/download/v3.26.0/cmake-3.26.0.tar.gz + +# 安装 +tar -zxvf cmake-3.26.0.tar.gz +cd cmake-3.26.0 +./configure +make && make install + +# 验证 +cmake -v +``` + ## 安装Node ``` @@ -260,6 +278,90 @@ SELINUX=disabled --- ``` +## libwebrtc(可选) + +https://webrtc.github.io/webrtc-org/native-code/android/ +https://webrtc.github.io/webrtc-org/native-code/development/ +https://webrtc.github.io/webrtc-org/native-code/development/prerequisite-sw/ +https://www.chromium.org/developers/how-tos/install-depot-tools/ + +建议直接购买国外的按需使用的主机,用完直接释放,配置建议: + +* 内存`8G` +* 四核`CPU` +* 硬盘`100G` +* 系统`Ubuntu 20.xx` +* 宽带按需`100Mbps/s`(不要固定宽带) +* 整个编译过程大概需要两到三个小时(不会下载回来很慢) + +``` +# 编译工具 +mkdir -p /data +git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git + +# 源码 +mkdir -p /data/webrtc +cd /data/webrtc +fetch --nohooks webrtc_android +/data/depot_tools/gclient sync + +# 分支 +cd src +git checkout -b m94 branch-heads/4606 +/data/depot_tools/gclient sync + +# 编译依赖 +./build/install-build-deps.sh +./build/install-build-deps-android.sh +source ./build/android/envsetup.sh + +--- +'target_os': 'android', +'is_clang': True, +'is_debug': False, +'use_rtti': True, +'rtc_use_h264': True, +'use_custom_libcxx': False, +'rtc_include_tests': False, +'is_component_build': False, +'treat_warnings_as_errors': False, +'use_goma': use_goma, +'target_cpu': _GetTargetCpu(arch) +--- + +# 编译.so +./tools_webrtc/android/build_aar.py --build-dir ./out/release-build/ +# 指定CPU架构:--arch x86 x86_64 arm64-v8a armeabi-v7a + +# 编译.a +/data/depot_tools/autoninja -C ./out/release-build/x86 webrtc && +/data/depot_tools/autoninja -C ./out/release-build/x86_64 webrtc && +/data/depot_tools/autoninja -C ./out/release-build/arm64-v8a webrtc && +/data/depot_tools/autoninja -C ./out/release-build/armeabi-v7a webrtc + +# 依赖打包 +zip -r webrtc.zip out libwebrtc.aar +``` + +[WebRTC](https://pan.baidu.com/s/1E_DXv32D9ODyj5J-o-ji_g?pwd=hudc) + +## libmediasoupclient(可选) + +https://mediasoup.org/documentation/v3/libmediasoupclient/installation/ + +``` +# 编译 +cmake . -B build \ +-DCMAKE_BUILD_TYPE=Debug | Release \ +-DMEDIASOUPCLIENT_LOG_DEV=OFF \ +-DMEDIASOUPCLIENT_LOG_TRACE=OFF \ +-DMEDIASOUPCLIENT_BUILD_TESTS=OFF \ +-DLIBWEBRTC_INCLUDE_PATH:PATH=PATH_TO_LIBWEBRTC_SOURCES \ +-DLIBWEBRTC_BINARY_PATH:PATH=PATH_TO_LIBWEBRTC_BINARY +make -C build +make install -C build +``` + ## 下载源码 ``` @@ -329,7 +431,7 @@ systemctl enable taoyao-signal-server systemctl start | stop | restart taoyao-signal-server ``` -## 安装终端 +## 安装Web终端 ``` # 编译代码 @@ -352,6 +454,12 @@ cp /data/taoyao/docs/etc/nginx.conf /etc/nginx/nginx.conf nginx -s reload ``` +## 安装Android终端 + +``` +# Android Studio +``` + ## 配置防火墙 ``` @@ -415,3 +523,41 @@ openssl x509 -in server.crt -subject -issuer -noout # issuer= /C=cn/ST=gd/L=gz/O=acgist/OU=acgist/CN=acgist.com openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12 -name taoyao ``` + +## licenses + +``` +List of licenses: +webrtc, +abseil-cpp, +android_deps, +android_deps:com_android_support_support_annotations.*, +android_ndk, +android_sdk, +androidx, +base64, +boringssl, +crc32c, +fft, +fiat, +g711, +g722, +ijar, +jdk, +libaom, +libevent, +libjpeg_turbo, +libsrtp, +libvpx, +libyuv, +nasm, +ooura, +opus, +pffft, +protobuf, +rnnoise, +sigslot, +spl_sqrt_floor, +usrsctp, +zlib +``` diff --git a/taoyao-client-android/README.md b/taoyao-client-android/README.md index d1ea801..eb6f30a 100644 --- a/taoyao-client-android/README.md +++ b/taoyao-client-android/README.md @@ -1,12 +1,44 @@ # 安卓终端 +注意:功能还没完成 + ## C++终端 * [libmediasoupclient源码](https://github.com/versatica/libmediasoupclient) * [libmediasoupclient文档](https://mediasoup.org/documentation/v3/libmediasoupclient) * [libmediasoupclient接口](https://mediasoup.org/documentation/v3/libmediasoupclient/api) +## 项目配置 + +可以自己编译`WebRTC`依赖或者下载已有依赖, +项目导入以后拷贝`libmediasoupclient`源码还有`WebRTC`头文件和二进制文件到`deps`目录。 + +[WebRTC](https://pan.baidu.com/s/1E_DXv32D9ODyj5J-o-ji_g?pwd=hudc) + +> 注意删除目录`src/build/linux`和`third_party`目录中除了`abseil-cpp`以外的所有依赖(当然不删也没关系就是文件太多编译器会变慢) + ## 学习资料 https://developer.android.google.cn/docs?hl=zh-cn https://developer.android.google.cn/guide?hl=zh-cn + +## 依赖编译 + +https://webrtc.github.io/webrtc-org/native-code/android/ +https://webrtc.github.io/webrtc-org/native-code/development/ +https://webrtc.github.io/webrtc-org/native-code/development/prerequisite-sw/ +https://www.chromium.org/developers/how-tos/install-depot-tools/ +https://mediasoup.org/documentation/v3/libmediasoupclient/installation/ + +## 参考项目 + +https://github.com/haiyangwu/webrtc-android-build +https://github.com/haiyangwu/mediasoup-demo-android +https://github.com/haiyangwu/mediasoup-client-android + +## 其他依赖 + +其他一些框架: + +* `org.webrtc:google-webrtc` +* `io.github.haiyangwu:mediasoup-client` diff --git a/taoyao-client-android/taoyao/.gitignore b/taoyao-client-android/taoyao/.gitignore index 048777e..f022b39 100644 --- a/taoyao-client-android/taoyao/.gitignore +++ b/taoyao-client-android/taoyao/.gitignore @@ -5,3 +5,5 @@ local.properties **/.gradle **/build + +mediasoup/deps \ No newline at end of file diff --git a/taoyao-client-android/taoyao/boot/build.gradle b/taoyao-client-android/taoyao/boot/build.gradle index a1aea6a..02e1874 100644 --- a/taoyao-client-android/taoyao/boot/build.gradle +++ b/taoyao-client-android/taoyao/boot/build.gradle @@ -10,6 +10,8 @@ android { targetSdk 32 versionCode 100 versionName "1.0.0" + consumerProguardFiles "consumer-rules.pro" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { @@ -17,9 +19,6 @@ android { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } - buildFeatures { - viewBinding true - } compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 @@ -30,4 +29,6 @@ dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind:2.14.2' implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.14.2' testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' } diff --git a/taoyao-client-android/taoyao/client/src/main/cpp/media/MediaPublisher.cpp b/taoyao-client-android/taoyao/boot/consumer-rules.pro similarity index 100% rename from taoyao-client-android/taoyao/client/src/main/cpp/media/MediaPublisher.cpp rename to taoyao-client-android/taoyao/boot/consumer-rules.pro diff --git a/taoyao-client-android/taoyao/boot/proguard-rules.pro b/taoyao-client-android/taoyao/boot/proguard-rules.pro index af0d54a..e69de29 100644 --- a/taoyao-client-android/taoyao/boot/proguard-rules.pro +++ b/taoyao-client-android/taoyao/boot/proguard-rules.pro @@ -1 +0,0 @@ --optimizationpasses 5 \ No newline at end of file diff --git a/taoyao-client-android/taoyao/client/build.gradle b/taoyao-client-android/taoyao/client/build.gradle index cab103c..565859a 100644 --- a/taoyao-client-android/taoyao/client/build.gradle +++ b/taoyao-client-android/taoyao/client/build.gradle @@ -12,14 +12,6 @@ android { versionName "1.0.0" applicationId "com.acgist.taoyao.client" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - externalNativeBuild { - cmake { - cFlags '-std=c17' - cppFlags '-std=c++17' - // CPU架构:x86_64、x86、armeabi-v7a、arm64-v8a - abiFilters 'arm64-v8a' - } - } } buildTypes { release { @@ -34,17 +26,11 @@ android { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } - externalNativeBuild { - cmake { - path file('src/main/cpp/CMakeLists.txt') - version '3.22.1' - } - } } dependencies { implementation project(path: ':boot') - implementation fileTree(dir: 'libs', include: ['*.so', '*.jar']) + implementation project(path: ':mediasoup') implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'com.google.android.material:material:1.5.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.3' diff --git a/taoyao-client-android/taoyao/client/proguard-rules.pro b/taoyao-client-android/taoyao/client/proguard-rules.pro index af0d54a..e69de29 100644 --- a/taoyao-client-android/taoyao/client/proguard-rules.pro +++ b/taoyao-client-android/taoyao/client/proguard-rules.pro @@ -1 +0,0 @@ --optimizationpasses 5 \ No newline at end of file diff --git a/taoyao-client-android/taoyao/client/src/main/AndroidManifest.xml b/taoyao-client-android/taoyao/client/src/main/AndroidManifest.xml index 6f2f1e8..2519906 100644 --- a/taoyao-client-android/taoyao/client/src/main/AndroidManifest.xml +++ b/taoyao-client-android/taoyao/client/src/main/AndroidManifest.xml @@ -10,15 +10,15 @@ android:supportsRtl="true" android:theme="@style/Theme.Taoyao"> diff --git a/taoyao-client-android/taoyao/client/src/main/cpp/CMakeLists.txt b/taoyao-client-android/taoyao/client/src/main/cpp/CMakeLists.txt deleted file mode 100644 index a4372d8..0000000 --- a/taoyao-client-android/taoyao/client/src/main/cpp/CMakeLists.txt +++ /dev/null @@ -1,48 +0,0 @@ -cmake_minimum_required(VERSION 3.22.1) - -project(taoyao VERSION 1.0.0 LANGUAGES C CXX) - -# Debug | Release -# DCMAKE_BUILD_TYPE=Debug -# set(CMAKE_BUILD_TYPE Debug) - -# C编译选项 -set(CMAKE_C_STANDARD 17) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c17 -O3") -set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -std=c17 -O0 -g") -set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -std=c17 -O3") - -# C++编译选项 -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -O3") -set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -std=c++17 -O0 -g") -set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -std=c++17 -O3") - -# 输出目录 -# set(PROJECT_BINARY_DIR ${PROJECT_SOURCE_DIR}/build) - -file( - GLOB SOURCE_FILE - "main.hpp" - "include/*.hpp" - "mediasoup/*.hpp" - "main.cpp" - "media/*.cpp" -) - -add_library(taoyao SHARED ${SOURCE_FILE}) -find_library( - log-lib - log -) -target_link_libraries( - taoyao - ${log-lib} -) - -# 配置 -# cmake -B build -# Windows:cmake -B build -G "Unix Makefiles" -# 编译 -# cmake --build build -# 标准线程:-lpthread diff --git a/taoyao-client-android/taoyao/client/src/main/cpp/main.cpp b/taoyao-client-android/taoyao/client/src/main/cpp/main.cpp deleted file mode 100644 index 87c50ac..0000000 --- a/taoyao-client-android/taoyao/client/src/main/cpp/main.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include -#include - -extern "C" JNIEXPORT jstring JNICALL -Java_com_acgist_taoyao_MainActivity_stringFromJNI( - JNIEnv* env, - jobject /* this */) { - std::string hello = "Hello from C++"; - return env->NewStringUTF(hello.c_str()); -} \ No newline at end of file diff --git a/taoyao-client-android/taoyao/mediasoup/.gitignore b/taoyao-client-android/taoyao/mediasoup/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/taoyao-client-android/taoyao/mediasoup/CMakeLists.txt b/taoyao-client-android/taoyao/mediasoup/CMakeLists.txt new file mode 100644 index 0000000..fe307ab --- /dev/null +++ b/taoyao-client-android/taoyao/mediasoup/CMakeLists.txt @@ -0,0 +1,76 @@ +cmake_minimum_required(VERSION 3.22.1) + +project(taoyao VERSION 1.0.0 LANGUAGES C CXX) + +# Debug | Release +# -DCMAKE_BUILD_TYPE=Debug +# set(CMAKE_BUILD_TYPE Debug) + +# C编译选项 +#set(CMAKE_C_STANDARD 17) +#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c17 -O3") +#set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -std=c17 -O0 -g") +#set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -std=c17 -O3") + +# C++编译选项 +#set(CMAKE_CXX_STANDARD 17) +#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -O3") +#set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -std=c++17 -O0 -g") +#set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -std=c++17 -O3") + +set( + SOURCE_DIR + src/main/cpp/ +) + +set( + SOURCE_FILES + ${SOURCE_DIR}/main.hpp + ${SOURCE_DIR}/main.cpp +) + +set(LIBWEBRTC_BINARY_PATH ${LIBWEBRTC_BINARY_PATH}/${ANDROID_ABI} CACHE STRING "libwebrtc binary path" FORCE) + +if (${MEDIASOUPCLIENT_LOG_TRACE}) + target_compile_definitions( + ${PROJECT_NAME} PRIVATE MSC_LOG_TRACE=1 + ) +endif () + +if (${MEDIASOUPCLIENT_LOG_DEV}) + target_compile_definitions( + ${PROJECT_NAME} PRIVATE MSC_LOG_DEV=1 + ) +endif () + +add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES}) + +add_subdirectory("deps/libmediasoupclient") + +set_source_files_properties( + ${SOURCE_FILES} PROPERTIES COMPILE_FLAGS -Wall -Wextra -Wpedantic +) + +target_include_directories( + ${PROJECT_NAME} PUBLIC + "${SOURCE_DIR}/include" + "${PROJECT_SOURCE_DIR}/deps/libmediasoupclient/include" + "${PROJECT_SOURCE_DIR}/deps/libmediasoupclient/deps/libsdptransform/include" +) + +target_compile_definitions( + ${PROJECT_NAME} PUBLIC + $<$>:WEBRTC_POSIX> + $<$:WEBRTC_MAC> + $<$:NOMINMAX> + $<$:WEBRTC_WIN> + $<$:WIN32_LEAN_AND_MEAN> +) + +target_link_libraries( + ${PROJECT_NAME} PUBLIC + log + android + OpenSLES + mediasoupclient +) diff --git a/taoyao-client-android/taoyao/mediasoup/build.gradle b/taoyao-client-android/taoyao/mediasoup/build.gradle new file mode 100644 index 0000000..0612e9a --- /dev/null +++ b/taoyao-client-android/taoyao/mediasoup/build.gradle @@ -0,0 +1,58 @@ +plugins { + id 'com.android.library' +} + +def WEBRTC_INC_PATH = "${projectDir}/deps/webrtc/src" +def WEBRTC_LIB_PATH = "${projectDir}/deps/webrtc/lib" + +android { + namespace 'com.acgist.mediasoup' + compileSdk 32 + defaultConfig { + minSdk 31 + targetSdk 32 + versionCode 100 + versionName "1.0.0" + consumerProguardFiles "consumer-rules.pro" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + externalNativeBuild { + cmake { + cFlags '-std=c17' + cppFlags '-std=c++17' + // CPU架构:x86_64、x86、arm64-v8a、armeabi-v7a + abiFilters 'arm64-v8a' + arguments "-DLIBWEBRTC_INCLUDE_PATH=" + WEBRTC_INC_PATH, + "-DLIBWEBRTC_BINARY_PATH=" + WEBRTC_LIB_PATH, + "-DMEDIASOUPCLIENT_BUILD_TESTS=OFF", + "-DMEDIASOUPCLIENT_LOG_TRACE=OFF", + "-DMEDIASOUPCLIENT_LOG_DEV=OFF" + } + } + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + externalNativeBuild { + cmake { + path file('CMakeLists.txt') + version '3.22.1' + } + } +} + +dependencies { + api fileTree(dir: WEBRTC_LIB_PATH, include: ['libwebrtc.jar']) + implementation fileTree(dir: 'libs', include: ['*.a', '*.so', '*.jar']) + implementation 'androidx.appcompat:appcompat:1.4.1' + implementation 'com.google.android.material:material:1.5.0' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' +} diff --git a/taoyao-client-android/taoyao/mediasoup/consumer-rules.pro b/taoyao-client-android/taoyao/mediasoup/consumer-rules.pro new file mode 100644 index 0000000..e69de29 diff --git a/taoyao-client-android/taoyao/mediasoup/libs/libwebrtc.jar b/taoyao-client-android/taoyao/mediasoup/libs/libwebrtc.jar new file mode 100644 index 0000000..ea9ac80 Binary files /dev/null and b/taoyao-client-android/taoyao/mediasoup/libs/libwebrtc.jar differ diff --git a/taoyao-client-android/taoyao/mediasoup/proguard-rules.pro b/taoyao-client-android/taoyao/mediasoup/proguard-rules.pro new file mode 100644 index 0000000..e69de29 diff --git a/taoyao-client-android/taoyao/mediasoup/src/main/AndroidManifest.xml b/taoyao-client-android/taoyao/mediasoup/src/main/AndroidManifest.xml new file mode 100644 index 0000000..ee6f84e --- /dev/null +++ b/taoyao-client-android/taoyao/mediasoup/src/main/AndroidManifest.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/taoyao-client-android/taoyao/client/src/main/cpp/include/AudioPublisher.hpp b/taoyao-client-android/taoyao/mediasoup/src/main/cpp/include/AudioPublisher.hpp similarity index 100% rename from taoyao-client-android/taoyao/client/src/main/cpp/include/AudioPublisher.hpp rename to taoyao-client-android/taoyao/mediasoup/src/main/cpp/include/AudioPublisher.hpp diff --git a/taoyao-client-android/taoyao/client/src/main/cpp/include/MediaPublisher.hpp b/taoyao-client-android/taoyao/mediasoup/src/main/cpp/include/MediaPublisher.hpp similarity index 100% rename from taoyao-client-android/taoyao/client/src/main/cpp/include/MediaPublisher.hpp rename to taoyao-client-android/taoyao/mediasoup/src/main/cpp/include/MediaPublisher.hpp diff --git a/taoyao-client-android/taoyao/client/src/main/cpp/include/MediaRecorder.hpp b/taoyao-client-android/taoyao/mediasoup/src/main/cpp/include/MediaRecorder.hpp similarity index 100% rename from taoyao-client-android/taoyao/client/src/main/cpp/include/MediaRecorder.hpp rename to taoyao-client-android/taoyao/mediasoup/src/main/cpp/include/MediaRecorder.hpp diff --git a/taoyao-client-android/taoyao/client/src/main/cpp/include/VideoPublisher.hpp b/taoyao-client-android/taoyao/mediasoup/src/main/cpp/include/VideoPublisher.hpp similarity index 100% rename from taoyao-client-android/taoyao/client/src/main/cpp/include/VideoPublisher.hpp rename to taoyao-client-android/taoyao/mediasoup/src/main/cpp/include/VideoPublisher.hpp diff --git a/taoyao-client-android/taoyao/mediasoup/src/main/cpp/main.cpp b/taoyao-client-android/taoyao/mediasoup/src/main/cpp/main.cpp new file mode 100644 index 0000000..84da2fc --- /dev/null +++ b/taoyao-client-android/taoyao/mediasoup/src/main/cpp/main.cpp @@ -0,0 +1,18 @@ +#include +#include + +#include "Device.hpp" + +extern "C" JNIEXPORT jstring JNICALL +Java_com_acgist_taoyao_client_MainActivity_stringFromJNI( + JNIEnv* env, + jobject /* this */) { + mediasoupclient::Device device; + if(device.IsLoaded()) { + std::string hello = "Hello from C++ true"; + return env->NewStringUTF(hello.c_str()); + } else { + std::string hello = "Hello from C++ false"; + return env->NewStringUTF(hello.c_str()); + } +} \ No newline at end of file diff --git a/taoyao-client-android/taoyao/client/src/main/cpp/main.hpp b/taoyao-client-android/taoyao/mediasoup/src/main/cpp/main.hpp similarity index 100% rename from taoyao-client-android/taoyao/client/src/main/cpp/main.hpp rename to taoyao-client-android/taoyao/mediasoup/src/main/cpp/main.hpp diff --git a/taoyao-client-android/taoyao/client/src/main/cpp/media/AudioPublisher.cpp b/taoyao-client-android/taoyao/mediasoup/src/main/cpp/media/AudioPublisher.cpp similarity index 100% rename from taoyao-client-android/taoyao/client/src/main/cpp/media/AudioPublisher.cpp rename to taoyao-client-android/taoyao/mediasoup/src/main/cpp/media/AudioPublisher.cpp diff --git a/taoyao-client-android/taoyao/mediasoup/src/main/cpp/media/MediaPublisher.cpp b/taoyao-client-android/taoyao/mediasoup/src/main/cpp/media/MediaPublisher.cpp new file mode 100644 index 0000000..e69de29 diff --git a/taoyao-client-android/taoyao/client/src/main/cpp/media/MediaRecorder.cpp b/taoyao-client-android/taoyao/mediasoup/src/main/cpp/media/MediaRecorder.cpp similarity index 100% rename from taoyao-client-android/taoyao/client/src/main/cpp/media/MediaRecorder.cpp rename to taoyao-client-android/taoyao/mediasoup/src/main/cpp/media/MediaRecorder.cpp diff --git a/taoyao-client-android/taoyao/client/src/main/cpp/media/VideoPublisher.cpp b/taoyao-client-android/taoyao/mediasoup/src/main/cpp/media/VideoPublisher.cpp similarity index 100% rename from taoyao-client-android/taoyao/client/src/main/cpp/media/VideoPublisher.cpp rename to taoyao-client-android/taoyao/mediasoup/src/main/cpp/media/VideoPublisher.cpp diff --git a/taoyao-client-android/taoyao/settings.gradle b/taoyao-client-android/taoyao/settings.gradle index cd9b9b7..9562c96 100644 --- a/taoyao-client-android/taoyao/settings.gradle +++ b/taoyao-client-android/taoyao/settings.gradle @@ -15,3 +15,4 @@ dependencyResolutionManagement { rootProject.name = "taoyao" include ':boot' include ':client' +include ':mediasoup'