0

I'm trying to build WebRTC SDK in C for Embedded Devices on windows. I have configured using CMake with -DBUILD_DEPENDENCIES=0, and have installed various libraries manually such as pthreads, usrsctp, libssl etc. I don't have gstreamer installed, so I do get a message about not being able to configure one of the examples, but that is expected.

I'm running cmake from a "x64 native tools command prompt for vs 2019", hence the configuration below.

So after configuration I have a visual studio solution, which as far as I can tell should be able to build the examples. However, the code uses an include file that is referencing non-existent files in the SDK. In particular, Include.h in com/amazonaws/kinesis/video/webrtcclient/ begins with:

#include <com/amazonaws/kinesis/video/client/Include.h>
#include <com/amazonaws/kinesis/video/common/Include.h>
#include <com/amazonaws/kinesis/video/webrtcclient/NullableDefs.h>
#include <com/amazonaws/kinesis/video/webrtcclient/Stats.h>

but there is no client or common directory in com/amazonaws/kinesis/video. The com directory is in the repo directory src\include, which to me looks like the video\client dir should have been checked out if it exists, rather than built.

I also don't see any solution to build any kinesis libraries, but the examples seem to include a lot of the source files directly - so is this SDK supposed to build a library as well?

Have I missed a build step somewhere? Do I need to download/build the rest of the kinesis video stream stuff as well as the webrtc sdk?

mike
  • 1,192
  • 9
  • 32

1 Answers1

0

Yes you will need to build the other KVS libraries that the WebRTC implementation depends on.

You can find them in the .gitmodules of the project.

You can also see how they are built/configured in the CMakeLists.txt

Sean DuBois
  • 3,972
  • 1
  • 11
  • 22
  • marking this as an answer, I have since figured the above out, but building on windows has been a right pain in the neck. Libwebsockets won't build as a dependency (but can be built standalone), yet there are other dependencies which must be built with this project (i.e. the other kvs libs - I can't seem to point at an external build of these, but I am a CMake noob) My solution is to build libwebsockets and other libs separately, then remove their CMake files from CMake/dependencies and build the prjocet with dependencies, which brings in the kvs stuff – mike Apr 13 '22 at 13:42