thibaultbee / srtdroid Goto Github PK
View Code? Open in Web Editor NEWSecure Reliable Transport (SRT) Protocol for Android
Home Page: https://ThibaultBee.github.io/srtdroid
License: Apache License 2.0
Secure Reliable Transport (SRT) Protocol for Android
Home Page: https://ThibaultBee.github.io/srtdroid
License: Apache License 2.0
i want to use the lib send rtmp date, but the demo is not the send byte array api.
Hi, ThibaultBee, thanks for your good job.
I'm try to build this projiect on my PC, But I can't do it. Android studio reported a error when compiler the openssl project.
I don't know how to check the error message and fix it, could you help me?
SDK Platform-Tools vresion: 29.0.4
SDK Tools version: 26.1.1
NDK version: 20.0.5594570
follow the error message output
`
Build command failed.
Error while executing process D:\Android\SDK\cmake\3.6.4111459\bin\cmake.exe with arguments {--build D:\git\SRTWrapper\lib.cxx\cmake\debug\armeabi-v7a --target jnisrt}
[1/16] Performing configure step for 'openssl_project'
FAILED: cmd.exe /C "cd /D D:\git\SRTWrapper\lib.cxx\cmake\debug\armeabi-v7a\openssl_project-prefix\src\openssl_project && "PATH=D:\Android\SDK\ndk\20.0.5594570\toolchains\llvm\prebuilt\windows-x86_64\bin:C:\Program Files (x86)\NetSarang\Xftp 6" "C:\Program Files (x86)\NetSarang\Xshell 6" C:\ProgramData\Oracle\Java\javapath C:\Python27 C:\Python27\Scripts "C:\Program Files\ARM\bin\win_32-pentium" "C:\Program Files (x86)\Intel\iCLS Client" "C:\Program Files\Intel\iCLS Client" C:\Windows\system32 C:\Windows C:\Windows\System32\Wbem C:\Windows\System32\WindowsPowerShell\v1.0 "C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common" "C:\Program Files\Intel\Intel(R) Management Engine Components\DAL" "C:\Program Files\Intel\Intel(R) Management Engine Components\IPT" "C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL" "C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT" "C:\Program Files\doxygen\bin" "C:\Program Files\TortoiseSVN\bin" "C:\Program Files\ARM\RVI\Tools\3.3\106\programs\win_32-pentium" "C:\Program Files\ARM\Utilities\FLEXlm\10.8.5.0\1\win_32-pentium" "C:\Program Files\ARM\RVCT\Programs\4.0\400\win_32-pentium" "C:\Program Files\ARM\RVD\Core\4.0\1106\win_32-pentium\bin" "C:\Program Files\ARM\RVI\GDB\3.3\8" "C:\Program Files\Microsoft VS Code\bin" "D:\Program Files\MATLAB\R2018a\runtime\win64" "D:\Program Files\MATLAB\R2018a\bin" "d:\Program Files\MATLAB\R2015b\runtime\win64" "d:\Program Files\MATLAB\R2015b\bin" "d:\Program Files\MATLAB\R2015b\polyspace\bin" "C:\Program Files (x86)\Paragon Software\ExtFS for Windows" "C:\Program Files\Java\jdk1.8.0_31\bin" "C:\Program Files\Java\jdk1.8.0_31\jre\bin" "C:\Program Files\Microsoft SQL Server\110\Tools\Binn" C:\MinGW\bin "C:\Program Files\Microsoft\Web Platform Installer" "C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0" "C:\Program Files\Microsoft SQL Server\120\Tools\Binn" "C:\Program Files\CMake\bin" "C:\Program Files\Git\cmd" "C:\Program Files\dotnet" "C:\Program Files\LLVM\bin" C:\glo663wb\bin "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\bin" "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\eclipse\jre\bin" C:\Users\xiawq\AppData\Local\Programs\Python\Python36-32 C:\Users\xiaw "C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR" E:\Go\bin E:\texlive\2019\bin\win32 D:\Android\SDK\platform-tools "C:\Program Files\TortoiseGit\bin" "C:\Program Fil" C:\Windows\system32\WindowsPowerShell\v1.0 "C:\Program Files (x86)\NetSarang\Xftp 6" "C:\Program Files (x86)\NetSarang\Xshell 6" C:\ProgramData\Oracle\Java\javapath C:\Python27 C:\Python27\Scripts "C:\Program Files\ARM\bin\win_32-pentium" "C:\Program Files (x86)\Intel\iCLS Client" "C:\Program Files\Intel\iCLS Client" C:\Windows\system32 C:\Windows C:\Windows\System32\Wbem C:\Windows\System32\WindowsPowerShell\v1.0 "C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common" "C:\Program Files\Intel\Intel(R) Management Engine Components\DAL" "C:\Program Files\Intel\Intel(R) Management Engine Components\IPT" "C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL" "C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT" "C:\Program Files\doxygen\bin" "C:\Program Files\TortoiseSVN\bin" "C:\Program Files\ARM\RVI\Tools\3.3\106\programs\win_32-pentium" "C:\Program Files\ARM\Utilities\FLEXlm\10.8.5.0\1\win_32-pentium" "C:\Program Files\ARM\RVCT\Programs\4.0\400\win_32-pentium" "C:\Program Files\ARM\RVD\Core\4.0\1106\win_32-pentium\bin" "C:\Program Files\ARM\RVI\GDB\3.3\8" "C:\Program Files\Microsoft VS Code\bin" "D:\Program Files\MATLAB\R2018a\runtime\win64" "D:\Program Files\MATLAB\R2018a\bin" "d:\Program Files\MATLAB\R2015b\runtime\win64" "d:\Program Files\MATLAB\R2015b\bin" "d:\Program Files\MATLAB\R2015b\polyspace\bin" "C:\Program Files (x86)\Paragon Software\ExtFS for Windows" "C:\Program Files\Java\jdk1.8.0_31\bin" "C:\Program Files\Java\jdk1.8.0_31\jre\bin" "C:\Program Files\Microsoft SQL Server\110\Tools\Binn" C:\MinGW\bin "C:\Program Files\Microsoft\Web Platform Installer" "C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0" "C:\Program Files\Microsoft SQL Server\120\Tools\Binn" "C:\Program Files\CMake\bin" "C:\Program Files\Git\cmd" "C:\Program Files\dotnet" "C:\Program Files\LLVM\bin" C:\glo663wb\bin "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\bin" "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\eclipse\jre\bin" C:\Users\xiawq\AppData\Local\Programs\Python\Python36-32 C:\Users\xiaw "C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR" E:\Go\bin E:\texlive\2019\bin\win32 D:\Android\SDK\platform-tools "C:\Program Files\TortoiseGit\bin" "C:\Program Fil" E:\cuda\10.2\development\libnvvp E:\cuda\10.2\development\bin C:\Users\xiawq\AppData\Local\Programs\Python\Python36-32\Scripts C:\Users\xiawq\AppData\Local\Programs\Python\Python36-32 C:\Users\xiawq\AppData\Local\GitHubDesktop\bin C:\Users\xiawq\go\bin "E:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3\bin" C:\Users\xiawq.local\bin CC=D:/Android/SDK/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe ANDROID_NDK_HOME=D:/Android/SDK/ndk/20.0.5594570 ./Configure android-arm -D__ANDROID_API__=21 --openssldir=D:\git\SRTWrapper\lib\build\intermediates\cmake\debug\obj\armeabi-v7a --libdir="" --prefix=D:\git\SRTWrapper\lib\build\intermediates\cmake\debug\obj\armeabi-v7a && D:\Android\SDK\cmake\3.6.4111459\bin\cmake.exe -E touch D:/git/SRTWrapper/lib/.cxx/cmake/debug/armeabi-v7a/openssl_project-prefix/src/openssl_project-stamp/openssl_project-configure"
�ļ�����Ŀ¼������������ȷ��
ninja: build stopped: subcommand failed.
`
how can I transfer the video stream from one android device to another and play it
just in lan
Like sending a file? Do all rendering and playback need to be implemented by myself?
the version is kotlin,is there a Java version available?
Hi,
i need your some help, How often to send a SDT PMT PAT?Whether to send PMT PAT when key frame? what is the advantage of doing this? Is there any document that can be queried? thank you
Hello,
I'm trying to use your library with minSdk 19 to do that I've cloned the repo change the minSdk of the lib to 19. Everythings works great for API 21+ but it crashs on API 19 with the following stacktrace:
Unexpected error loading stream
java.lang.UnsatisfiedLinkError: dlopen failed: could not load library "libsrt.so" needed by "libsrtdroid.so"; caused by cannot locate symbol "epoll_create1" referenced by "libsrt.so"...
at java.lang.Runtime.loadLibrary(Runtime.java:365)
at java.lang.System.loadLibrary(System.java:526)
at io.github.thibaultbee.srtdroid.Srt.<clinit>(Srt.kt:23)
at io.github.thibaultbee.srtdroid.models.Socket.<clinit>(Socket.kt:41)
at io.yoobi.srt.test.SrtLiveStreamDataSource.open(SrtLiveStreamDataSourceFactory.kt:39)
at com.google.android.exoplayer2.upstream.StatsDataSource.open(StatsDataSource.java:84)
at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1005)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
with SrtLiveStreamDataSourceFactory
being:
class SrtLiveStreamDataSourceFactory(
private val srtUrl: String,
private val port: Int,
private val passPhrase: String? = null
): DataSource.Factory {
override fun createDataSource(): DataSource {
return SrtLiveStreamDataSource(srtUrl, port, passPhrase)
}
}
const val PAYLOAD_SIZE = 1316
class SrtLiveStreamDataSource(
private val srtUrl: String,
private val port: Int,
private val passPhrase: String?
): BaseDataSource(true) {
private var socket: Socket? = null
private val byteQueue: Queue<Byte> = LinkedList()
override fun open(dataSpec: DataSpec): Long {
socket = Socket() // <---- THIS IS LINE 39
socket?.setSockFlag(SockOpt.TRANSTYPE, Transtype.LIVE)
socket?.setSockFlag(SockOpt.PAYLOADSIZE, PAYLOAD_SIZE)
if(passPhrase != null){
socket?.setSockFlag(SockOpt.PASSPHRASE, passPhrase)
}
socket?.connect(srtUrl, port)
return C.LENGTH_UNSET.toLong()
}
/**
* Receives from SRT socket and feeds into a queue. Depending on the length requested
* from exoplayer, that amount of bytes is polled from queue and onto the buffer with the given offset.
*
* You cannot directly receive at the given length from the socket, because SRT uses a
* predetermined payload size that cannot be dynamic
*/
override fun read(buffer: ByteArray, offset: Int, length: Int): Int {
if (length == 0) {
return 0
}
var bytesReceived = 0
if (socket != null) {
val received = socket!!.recv(PAYLOAD_SIZE)
for (byte in received.second /*received byte array*/) {
byteQueue.offer(byte)
}
repeat(length) { index ->
val byte = byteQueue.poll()
if (byte != null) {
buffer[index + offset] = byte
bytesReceived++
}
}
return bytesReceived
}
throw IOException("Couldn't read bytes at offset: $offset")
}
override fun getUri(): Uri = Uri.parse("srt://$srtUrl:$port")
override fun close() {
socket?.close()
socket = null
}
}
Do you have any idea how I could fix this ?
Hi, i used the project and streampack,it used the MsgCtrl when thranslate live streaming。
but i donot want use send method,i want to use srtSocket.getInputStream(null) and srtSocket.getOutputStream(null), I have a lot of confusion and need your help:
I'm new to SRT. Looks very promising protocol. I have a video delivery app on Android that captures video from camera, then uploads the video file to the server and another device can use it for playback later.
Will use of this protocol help with faster uploads/downloads? And do we have an example Android app and server for this purpose that I can use?
The root cause of this issue actually seems to be with the SRT v1.5.1 library itself, which is the version srtdroid currently uses. The issue appears to be fixed in the upcoming SRT v1.5.2, but I thought I'd flag this and share a workaround in case anyone else is having this issue now.
Summary: When not connected to the internet, calling connect(ip, addr)
on a Socket and using a hostname for ip
results in a SIGSEGV (SEGV_MAPERR), causing the app to suffer a fatal crash that cannot be caught.
Steps to reproduce:
Expected Result: A catchable exception indicating a problem with resolving the hostname and connecting.
Actual Result: A segfault that causes the app to crash.
Crash Log:
13:51:47.158 A Cmdline: io.github.thibaultbee.srtdroid.examples
13:51:47.158 A pid: 8576, tid: 9021, name: pool-2-thread-1 >>> io.github.thibaultbee.srtdroid.examples <<<
13:51:47.158 A #00 pc 00000000000d4ef0 /data/app/~~h1598JzzdNyrg5M-YH0GfQ==/io.github.thibaultbee.srtdroid.examples-AlyMPdm6iVgGO74-GGbuFg==/lib/arm64/libsrt.so (srt::sockaddr_any::set(sockaddr const*)+28) (BuildId: fdc6a370d36f35a297172064143a3ffda8af6552)
13:51:47.158 A #01 pc 00000000000c12d8 /data/app/~~h1598JzzdNyrg5M-YH0GfQ==/io.github.thibaultbee.srtdroid.examples-AlyMPdm6iVgGO74-GGbuFg==/lib/arm64/libsrt.so (srt::sockaddr_any::sockaddr_any(sockaddr const*, int)+48) (BuildId: fdc6a370d36f35a297172064143a3ffda8af6552)
13:51:47.158 A #02 pc 00000000000c1714 /data/app/~~h1598JzzdNyrg5M-YH0GfQ==/io.github.thibaultbee.srtdroid.examples-AlyMPdm6iVgGO74-GGbuFg==/lib/arm64/libsrt.so (srt::CUDTUnited::connect(int, sockaddr const*, int, int)+64) (BuildId: fdc6a370d36f35a297172064143a3ffda8af6552)
13:51:47.158 A #03 pc 00000000000c9e2c /data/app/~~h1598JzzdNyrg5M-YH0GfQ==/io.github.thibaultbee.srtdroid.examples-AlyMPdm6iVgGO74-GGbuFg==/lib/arm64/libsrt.so (srt::CUDT::connect(int, sockaddr const*, int, int)+76) (BuildId: fdc6a370d36f35a297172064143a3ffda8af6552)
13:51:47.158 A #04 pc 00000000001b764c /data/app/~~h1598JzzdNyrg5M-YH0GfQ==/io.github.thibaultbee.srtdroid.examples-AlyMPdm6iVgGO74-GGbuFg==/lib/arm64/libsrt.so (srt_connect+40) (BuildId: fdc6a370d36f35a297172064143a3ffda8af6552)
13:51:47.159 A #05 pc 0000000000048cbc /data/app/~~h1598JzzdNyrg5M-YH0GfQ==/io.github.thibaultbee.srtdroid.examples-AlyMPdm6iVgGO74-GGbuFg==/lib/arm64/libsrtdroid.so (nativeConnect(_JNIEnv*, _jobject*, _jobject*)+268) (BuildId: 93b3944d1b7a9566336affa7f58ce4cf754645ed)
13:51:47.159 A #08 pc 00000000000042d6 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~h1598JzzdNyrg5M-YH0GfQ==/io.github.thibaultbee.srtdroid.examples-AlyMPdm6iVgGO74-GGbuFg==/base.apk!classes3.dex] (io.github.thibaultbee.srtdroid.models.Socket.connect+10)
13:51:47.159 A #10 pc 0000000000004288 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~h1598JzzdNyrg5M-YH0GfQ==/io.github.thibaultbee.srtdroid.examples-AlyMPdm6iVgGO74-GGbuFg==/base.apk!classes3.dex] (io.github.thibaultbee.srtdroid.models.Socket.connect+20)
13:51:47.159 A #12 pc 000000000000131e [anon:dalvik-classes8.dex extracted in memory from /data/app/~~h1598JzzdNyrg5M-YH0GfQ==/io.github.thibaultbee.srtdroid.examples-AlyMPdm6iVgGO74-GGbuFg==/base.apk!classes8.dex] (io.github.thibaultbee.srtdroid.examples.tests.TestClient.launchImpl+70)
13:51:47.159 A #14 pc 00000000000016e6 [anon:dalvik-classes8.dex extracted in memory from /data/app/~~h1598JzzdNyrg5M-YH0GfQ==/io.github.thibaultbee.srtdroid.examples-AlyMPdm6iVgGO74-GGbuFg==/base.apk!classes8.dex] (io.github.thibaultbee.srtdroid.examples.tests.Test.launch$lambda-0+46)
13:51:47.159 A #16 pc 0000000000001630 [anon:dalvik-classes8.dex extracted in memory from /data/app/~~h1598JzzdNyrg5M-YH0GfQ==/io.github.thibaultbee.srtdroid.examples-AlyMPdm6iVgGO74-GGbuFg==/base.apk!classes8.dex] (io.github.thibaultbee.srtdroid.examples.tests.Test.$r8$lambda$jc03Nn7oJUZ8jpk4I2t67O96Xqs+0)
13:51:47.159 A #18 pc 00000000000011e4 [anon:dalvik-classes8.dex extracted in memory from /data/app/~~h1598JzzdNyrg5M-YH0GfQ==/io.github.thibaultbee.srtdroid.examples-AlyMPdm6iVgGO74-GGbuFg==/base.apk!classes8.dex] (io.github.thibaultbee.srtdroid.examples.tests.Test$$ExternalSyntheticLambda0.run+12)
Analysis:
Socket.connect(ip, addr)
is an alias for Socket.connect(InetSocketAddress(ip, addr))
. InetSocketAddress provides name resolution if ip
is a hostname and not an IP address. However, if name resolution fails, its getAddress()
method returns null. Since InetSocketAddress::getNative(...)
returns nullptr when getAddress()
is null (InetSocketAddress.h:55), the sockaddr pointer passed into srt_connect(...)
at glue.cpp:300 is a null pointer.
In the SRT library, srt_connect
wraps CUDT::connect
which calls CUDTUnited::connect
. In v1.5.1, there is no null check for the sockaddr*, and it gets dereferenced when constructing sockaddr_any
in the method at netinet_any.h:148, resulting in the segfault. In v1.5.2, they've added a null check at api.cpp:1244 which appears to fix the issue.
Workarounds:
A. Compile srtdroid by changing the SRT version to 1.5.2-rc2
or similar in CMakeLists.txt. This seems to fix the crash in the srtdroid example app (showing a connection error popup instead). I haven't tested if any features are affected by the new version though.
B. Do val foo = InetSocketAddress(ip, port)
yourself, check if foo.address
is null, and call Socket.connect(foo)
directly with this safe InetSocketAddress so no null pointer is passed into the underlying library. This is the solution I've used in the extension to StreamPack I'm working on so I didn't have to recompile srtdroid.
Hello,
I have tried your SRTWrapper for android seems to work except for streamID. I set it before making socket connection, but the reciever/listener does not get it... Any help would be appreciated.
I am trying to send my device camera stream to a srt server I have on my laptop. The code I am using is the following:
Srt srt = new Srt();
srt.startUp();
// create SRT socket to send stream
Socket clientSocket = new Socket();
clientSocket.setSockFlag(SockOpt.TRANSTYPE, Transtype.LIVE);
// connect socket to srt server (vMix running on my laptop)
clientSocket.connect("192.168.43.50", 11001);
// create udp listening on 0.0.0.0:7800
new Thread(new Runnable() {
@Override
public void run() {
byte[] data;
try{
byte[] buffer = new byte[1316];
DatagramSocket socketUDP = new DatagramSocket(7800);
while(true){
DatagramPacket udpPacket = new DatagramPacket(buffer, buffer.length);
socketUDP.receive(udpPacket);
data = udpPacket.getData();
// send received data to srt server
clientSocket.send(data);
}
}catch (Exception ex){}
}
}).start();
// I use ffmpeg to capture android camera, and stream it to socketUDP
int rc = FFmpeg.execute("-f android_camera -video_size 320x240 -input_queue_size 60 -i 0:0 -r 30 -f h264 udp://0.0.0.0:7800");
As you can see, the code is pretty simple. I do not know why it doesn't work. I think that the problem is on the srt socket settings.
If I send the android camera directly by udp to my laptop, and use ffplay on my laptop to see it, it works fine. So I think the ffmpeg command is ok.
Another interesting thing is that if I stream my android camera using the app Larix Broadcaster, it works fine (I can see the camera on my laptop using vMix)
Last but not less important, when I run the code above, It doesn't crash, and despite I can't see the camera on vMix, if I open on vMix the statistics dialog, I can see that the vMix is receiving data from my device.
Socket socket = new Socket();
socket.setSockFlag(SockOpt.TRANSTYPE, Transtype.LIVE);
socket.setSockFlag(SockOpt.PAYLOADSIZE, 1316);
socket.rendezVous("0.0.0.0", remotehost, 5000);
if I set remotehost a non existent ip, connection is not established
Caller and Listener modes work fine.
I use android apps Larix Player, Haivision Play, Haivision Play Pro
Thank you.
Hi,My program already has rtmp, I want to add srt to this project,Whether this library can meet the needs, or need to use StreamPack? thank you
Build command failed.
Error while executing process /home/pmsl/Android/Sdk/cmake/3.10.2.4988404/bin/ninja with arguments {-C /home/pmsl/Vickey/OTTProjects/R&D/SRTWrapper-master/lib/.cxx/cmake/debug/armeabi-v7a jnisrt}
ninja: Entering directory `/home/pmsl/Vickey/OTTProjects/R&D/SRTWrapper-master/lib/.cxx/cmake/debug/armeabi-v7a'
[1/20] Creating directories for 'openssl_project'
[2/20] Performing download step (download, verify and extract) for 'openssl_project'
-- File already exists but no hash specified (use URL_HASH):
file='/home/pmsl/Vickey/OTTProjects/R&D/SRTWrapper-master/lib/.cxx/cmake/debug/armeabi-v7a/openssl_project-prefix/src/openssl-1.1.1f.tar.gz'
Old file will be removed and new file downloaded from URL.
-- Downloading...
dst='/home/pmsl/Vickey/OTTProjects/R&D/SRTWrapper-master/lib/.cxx/cmake/debug/armeabi-v7a/openssl_project-prefix/src/openssl-1.1.1f.tar.gz'
timeout='none'
-- Using src='https://www.openssl.org/source/openssl-1.1.1f.tar.gz'
-- [download 0% complete]
-- [download 1% complete]
-- [download 2% complete]
-- [download 3% complete]
-- [download 4% complete]
-- [download 5% complete]
-- [download 6% complete]
-- [download 7% complete]
-- [download 8% complete]
-- [download 9% complete]
-- [download 10% complete]
-- [download 11% complete]
-- [download 12% complete]
-- [download 13% complete]
-- [download 14% complete]
-- [download 15% complete]
-- [download 16% complete]
-- [download 17% complete]
-- [download 18% complete]
-- [download 19% complete]
-- [download 20% complete]
-- [download 21% complete]
-- [download 22% complete]
-- [download 23% complete]
-- [download 24% complete]
-- [download 25% complete]
-- [download 26% complete]
-- [download 27% complete]
-- [download 28% complete]
-- [download 29% complete]
-- [download 30% complete]
-- [download 31% complete]
-- [download 32% complete]
-- [download 33% complete]
-- [download 34% complete]
-- [download 35% complete]
-- [download 36% complete]
-- [download 37% complete]
-- [download 38% complete]
-- [download 39% complete]
-- [download 40% complete]
-- [download 41% complete]
-- [download 42% complete]
-- [download 43% complete]
-- [download 44% complete]
-- [download 45% complete]
-- [download 46% complete]
-- [download 47% complete]
-- [download 48% complete]
-- [download 49% complete]
-- [download 50% complete]
-- [download 51% complete]
-- [download 52% complete]
-- [download 53% complete]
-- [download 54% complete]
-- [download 55% complete]
-- [download 56% complete]
-- [download 57% complete]
-- [download 58% complete]
-- [download 59% complete]
-- [download 60% complete]
-- [download 61% complete]
-- [download 62% complete]
-- [download 63% complete]
-- [download 64% complete]
-- [download 65% complete]
-- [download 66% complete]
-- [download 67% complete]
-- [download 68% complete]
-- [download 69% complete]
-- [download 70% complete]
-- [download 71% complete]
-- [download 72% complete]
-- [download 73% complete]
-- [download 74% complete]
-- [download 75% complete]
-- [download 76% complete]
-- [download 77% complete]
-- [download 78% complete]
-- [download 79% complete]
-- [download 80% complete]
-- [download 81% complete]
-- [download 82% complete]
-- [download 83% complete]
-- [download 84% complete]
-- [download 85% complete]
-- [download 86% complete]
-- [download 87% complete]
-- [download 88% complete]
-- [download 89% complete]
-- [download 90% complete]
-- [download 91% complete]
-- [download 92% complete]
-- [download 93% complete]
-- [download 94% complete]
-- [download 95% complete]
-- [download 96% complete]
-- [download 97% complete]
-- [download 98% complete]
-- [download 99% complete]
-- [download 100% complete]
-- Downloading... done
-- extracting...
src='/home/pmsl/Vickey/OTTProjects/R&D/SRTWrapper-master/lib/.cxx/cmake/debug/armeabi-v7a/openssl_project-prefix/src/openssl-1.1.1f.tar.gz'
dst='/home/pmsl/Vickey/OTTProjects/R&D/SRTWrapper-master/lib/.cxx/cmake/debug/armeabi-v7a/openssl_project-prefix/src/openssl_project'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[3/20] No patch step for 'openssl_project'
[4/20] No update step for 'openssl_project'
[5/20] Performing configure step for 'openssl_project'
Configuring OpenSSL version 1.1.1f (0x1010106fL) for android-arm
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile
*** OpenSSL has been successfully configured ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub https://github.com/openssl/openssl/issues ***
*** and include the output from the following command: ***
*** perl configdata.pm --dump ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL file first) ***
[6/20] Performing build step for 'openssl_project'
FAILED: openssl_project-prefix/src/openssl_project-stamp/openssl_project-build /home/pmsl/Vickey/OTTProjects/R&D/SRTWrapper-master/lib/build/intermediates/cmake/debug/obj/armeabi-v7a/libssl.so /home/pmsl/Vickey/OTTProjects/R&D/SRTWrapper-master/lib/build/intermediates/cmake/debug/obj/armeabi-v7a/libcrypto.so
cd "/home/pmsl/Vickey/OTTProjects/R&D/SRTWrapper-master/lib/.cxx/cmake/debug/armeabi-v7a/openssl_project-prefix/src/openssl_project" && /home/pmsl/Android/Sdk/cmake/3.10.2.4988404/bin/cmake -E env PATH=/home/pmsl/Android/Sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/linux-x86_64/bin:/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin ANDROID_NDK_HOME=/home/pmsl/Android/Sdk/ndk/20.0.5594570 make && /home/pmsl/Android/Sdk/cmake/3.10.2.4988404/bin/cmake -E touch "/home/pmsl/Vickey/OTTProjects/R&D/SRTWrapper-master/lib/.cxx/cmake/debug/armeabi-v7a/openssl_project-prefix/src/openssl_project-stamp/openssl_project-build"
No such file or directory
ninja: build stopped: subcommand failed.
i put the aar in my android java project, the connect is correct,but when i call send() method,it give me the error
When I download the code, an error is reported! Please give us your advice and look forward to your reply! thank you!
1.Execution failed for task ':lib:buildCMakeDebug[arm64-v8a]'.
2.Execution failed for task ':lib:buildCMakeDebug[armeabi-v7a]'.
3.Execution failed for task ':lib:buildCMakeDebug[x86]'.
4.Execution failed for task ':lib:buildCMakeDebug[x86_64]'.
And can you display the srt ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.